Проблема с командой. помогите!

Описание: Вопросы по скриптингу (Излагай ясно, проси мало, уходи быстро)
Модератор: SJplayer

Дим M
Администратор
Администратор
Аватара
Дим M
Администратор
Администратор
Сообщения: 1608
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#11 Дим » 1 июля 2014, 20:40

/spawncars эту команду пишет игрок, после того как коп заспавнил авто. И она уходит со штраф стоянки?
[center]i love you [s]mxIni[/s] Mysql[/center]


Elchin
Автор темы, Рядовой
Рядовой
Аватара
Elchin
Автор темы, Рядовой
Рядовой
Сообщения: 12
Зарегистрирован: 30 июня 2014
С нами: 9 лет 8 месяцев

#12 Elchin » 2 июля 2014, 2:46

В общем код я изменил так что сейчас ДПС может парковать авто, но только внутри авто. снаружи после нажатия на "припарковать авто" в чате прописывается что авто припарковано, но после команды админа /spawncars авто оказывается на том месте где его парковали до ДПСника. а если внутри жмешь "припарковать" авто паркуется нормально. как сделать чтобы и снаружи можно парковать?

функция

Код: Выделить всё

else if(!strcmp(cmd, "/dp", true))
{

if(
PlayerInfo[playerid] [pMember] != PATRUL_ORG) return SendClientMessage(playerid, COLOR_GREEN, "Ты не являешься сотрудником ДПС!");
new Float:POS[3];
for(
new i=0;i<MAX_VEHICLES;i++)
{
GetVehiclePos(i, POS[0], POS[1], POS[2]);
if(
PlayerToPoint (playerid, 5, POS[0], POS[1], POS[2]))
{
ShowDialog(playerid, BUYCAR_ID+12, DIALOG_STYLE_LIST, "Управление машиной для ДПС", "\
[1] Убрать тюнинг\n\
[2] Припарковаться\n\
[3] Сменить цвет\n\
[4] Продать машину\
"
, "Выбрать", "Отмена");
}
}
return 1;
}



Код

Код: Выделить всё

else if(dialogid == BUYCAR_ID+12

    if(!
response) return 1
    new 
vehicleid GetPlayerVehicleID(playerid); 
    new 
engine
        
lights
        
alarm
        
doors
        
bonnet
        
boot
        
blink
        
objective
        
Floathealth
        
Floatveh_pos[4]; 
         
    
GetVehiclePos(vehicleidveh_pos[0], veh_pos[1], veh_pos[2]); 
    
GetVehicleZAngle(vehicleidveh_pos[3]); 
         
    switch(
listitem
    { 
        case 
0
        { 
            new 
seat GetPlayerVehicleSeat(playerid); 
            
GetVehicleParamsEx(vehicleidenginelightsalarmdoorsbonnetbootobjective); 
            
GetVehicleHealth(vehicleidhealth); 
            
SendClientMessage(playeridCOLOR_WHITE"Весь тюнинг твоей купленной машины был удалён"); 
            
RemoveVehicleTuning(vehicleid); 
            
SetVehicleToRespawn(vehicleid); 
            
SetVehiclePos(vehicleidveh_pos[0], veh_pos[1], veh_pos[2]); 
            
SetVehicleZAngle(vehicleidveh_pos[3]); 
            
SetVehicleParamsEx(vehicleidVehicleEngine[vehicleid], VehicleLights[vehicleid], alarmdoorsbonnetbootobjective); 
            
SetVehicleHealth(vehicleidhealth); 
            
PutPlayerInVehicle(playeridvehicleidseat); 
        } 
        case 
1
        { 
            
VehicleInfo[vehicleid][vSpw][0] = veh_pos[0]; 
            
VehicleInfo[vehicleid][vSpw][1] = veh_pos[1]; 
            
VehicleInfo[vehicleid][vSpw][2] = veh_pos[2]; 
            
VehicleInfo[vehicleid][vSpw][3] = veh_pos[3]; 
            
VehicleInfo[vehicleid][vParked] = 1
            
SendClientMessage(playeridCOLOR_WHITE"Машина успешно припаркована"); 
        } 
        case 
2
        { 
            new 
string_color[116+(sizeof(carcolor)*sizeof(carcolor[]))]; 
            
format(string_colorsizeof(string_color), "Введи желаемый номер цвета для вашей машины\n\n{FFFFFF}%s%s%s%s%s%s%s\n\n{FFFFFF}Стоимость смены цвета машины стоит 200$"
                
carcolors[0], 
                
carcolors[1], 
                
carcolors[2], 
                
carcolors[3], 
                
carcolors[4], 
                
carcolors[5], 
                
carcolors[6]); 
            
ShowDialog(playeridBUYCAR_ID+2DIALOG_STYLE_INPUT"Смена цвета машины"stringcolor"Ок""Отмена"); 
        } 
        case 
3
        { 
            new 
string_price[51+11]; 
            
format(string_pricesizeof(string_price), "Ты действительно хочешь продать свою машину за %d$?"floatround(VehicleInfo[vehicleid][vPrice]/100*80)); 
            
ShowDialog(playeridBUYCAR_ID+3DIALOG_STYLE_MSGBOX"Продажа машины"string_price"Да""Нет"); 
        } 
    } 
    return 
1

Дим M
Администратор
Администратор
Аватара
Дим M
Администратор
Администратор
Сообщения: 1608
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#13 Дим » 2 июля 2014, 8:35

Elchin писал(а):как сделать чтобы и снаружи можно парковать?
Снаружи не узнать ID авто, нужно делать команду с указанием ID (если он как то отображается на авто)
[center]i love you [s]mxIni[/s] Mysql[/center]

Elchin
Автор темы, Рядовой
Рядовой
Аватара
Elchin
Автор темы, Рядовой
Рядовой
Сообщения: 12
Зарегистрирован: 30 июня 2014
С нами: 9 лет 8 месяцев

#14 Elchin » 2 июля 2014, 9:52

вот пожалуйста. команда работает и снутри, и снаружи авто, только это для хозяев авто. что то отсюда нужно перенести на тот измененный код для ДПСника



Код: Выделить всё

else if(!strcmp(cmd, "/vehicle", true) || !strcmp(cmd, "/v", true))
    {
        if(PlayerInfo[playerid][pVehicle] == INVALID_VEHICLE_ID) return SendClientMessage(playerid, COLOR_GREEN, "Ты не владеешь собственной машиной");
        new Float:POS[3];
        GetVehiclePos(PlayerInfo[playerid][pVehicle], POS[0], POS[1], POS[2]);
        if(!PlayerToPoint(playerid, 5, POS[0], POS[1], POS[2])) return SendClientMessage(playerid, COLOR_GREEN, "Ты находишься слишком далеко от своей машины");
        ShowDialog(playerid, BUYCAR_ID+1, DIALOG_STYLE_LIST, "Управление машиной", "\
        [1] Убрать тюнинг\n\
        [2] Припарковаться\n\
        [3] Сменить цвет\n\
        [4] Продать машину\
        "
, "Выбрать", "Отмена");
        return 1;
    }


Код: Выделить всё

else if(dialogid == BUYCAR_ID+1)
    {
        if(response)
        {
            new vehicleid = PlayerInfo[playerid][pVehicle],Float:POS[4];
            GetVehiclePos(vehicleid, POS[0], POS[1], POS[2]);
            new engine,lights,alarm,doors,bonnet,boot,blink,objective,fuel,Float:health;
            new seat = -1,bool:enge,bool:ligt;
            switch(listitem)
            {
                  case 0:
                  {
                      if(IsPlayerInVehicle(playerid, vehicleid)) seat = GetPlayerVehicleSeat(playerid);
                      if(VehicleEngine[vehicleid]) enge = true;
                      if(VehicleLights[vehicleid]) ligt = true;
                    if(GetStrobesMode[vehicleid] != 0) blink = GetStrobesMode[vehicleid];
                    fuel = VehicleFuel[vehicleid];
                    GetVehicleHealth(vehicleid, health);
                      GetVehiclePos(vehicleid, POS[0], POS[1], POS[2]);
                      GetVehicleZAngle(vehicleid, POS[3]);
                      SendClientMessage(playerid, COLOR_WHITE, "Весь тюнинг твоей купленной машины был удалён");
                    RemoveVehicleTuning(vehicleid);
                    SetVehicleToRespawn(vehicleid);
                    SetVehiclePos(vehicleid, POS[0], POS[1], POS[2]);
                      SetVehicleZAngle(vehicleid, POS[3]);
                      if(enge)
                      {
                          VehicleEngine[vehicleid] = true;
                        GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
                        SetVehicleParamsEx(vehicleid,true,lights,alarm,doors,bonnet,boot,objective);
                      }
                      if(ligt)
                      {
                          VehicleLights[vehicleid] = true;
                          GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
                        SetVehicleParamsEx(vehicleid,engine,true,alarm,doors,bonnet,boot,objective);
                      }
                      VehicleFuel[vehicleid] = fuel;
                    SetVehicleHealth(vehicleid, health);
                    if(seat != -1) PutPlayerInVehicle(playerid, vehicleid, seat);
                    if(blink != 0) GetStrobesMode[vehicleid] = blink;
                  }
                  case 1:
                  {
                      GetVehiclePos(vehicleid, POS[0], POS[1], POS[2]);
                      GetVehicleZAngle(vehicleid, POS[3]);
                    VehicleInfo[vehicleid][vSpw][0] = POS[0];
                      VehicleInfo[vehicleid][vSpw][1] = POS[1];
                    VehicleInfo[vehicleid][vSpw][2] = POS[2];
                    VehicleInfo[vehicleid][vSpw][3] = POS[3];
                    VehicleInfo[vehicleid][vParked] = 1;
                      SendClientMessage(playerid, COLOR_WHITE, "Машина успешно припаркована");
                  }
                case 2:
                  {
                      new stringcolor[2000];
                    f(stringcolor, "Введи желаемый номер цвета для вашей машины\n\n\
                    {FFFFFF}%s%s%s%s%s%s%s\n\n\
                    {FFFFFF}Стоимость смены цвета машины стоит 200$\
                    "
, carcolors[0], carcolors[1], carcolors[2], carcolors[3], carcolors[4], carcolors[5], carcolors[6]);
                    ShowDialog(playerid, BUYCAR_ID+2, DIALOG_STYLE_INPUT, "Смена цвета машины", stringcolor, "Ок", "Отмена");
                }
                  case 3:
                  {
                      f(string, "\
                    Ты действительно хочешь продать свою машину за %d$?\
                    "
, floatround(VehicleInfo[vehicleid][vPrice]/100*80));
                    ShowDialog(playerid, BUYCAR_ID+3, DIALOG_STYLE_MSGBOX, "Продажа машины", string, "Да", "Нет");
                  }
            }
           }
           return 1;
    }

Дим M
Администратор
Администратор
Аватара
Дим M
Администратор
Администратор
Сообщения: 1608
Зарегистрирован: 5 апреля 2013
С нами: 10 лет 11 месяцев

#15 Дим » 2 июля 2014, 10:01

Elchin писал(а):вот пожалуйста. команда работает и снутри
Потому что для игрока ID его авто, записан в переменной [pVehicle], а ДПСник должен вводить вручную ID авто, которое хочет припарковать.
[center]i love you [s]mxIni[/s] Mysql[/center]

Elchin
Автор темы, Рядовой
Рядовой
Аватара
Elchin
Автор темы, Рядовой
Рядовой
Сообщения: 12
Зарегистрирован: 30 июня 2014
С нами: 9 лет 8 месяцев

#16 Elchin » 2 июля 2014, 12:32

у меня над авто показываться только Ник. можешь дать команду чтобы по нику можно было парковать?

SJplayer M
Модератор
Модератор
Аватара
SJplayer M
Модератор
Модератор
Сообщения: 196
Зарегистрирован: 25 мая 2013
С нами: 10 лет 10 месяцев

#17 SJplayer » 2 июля 2014, 14:29

Elchin писал(а):по нику можно было парковать
По нику - игрока что ли парковать :grin:

Через переменную pVehicle, делай вывод ID над авто , что бы мент знал по какому ID спавнить.
Кстати что в этой переменной сохраняется (в файле)

Elchin
Автор темы, Рядовой
Рядовой
Аватара
Elchin
Автор темы, Рядовой
Рядовой
Сообщения: 12
Зарегистрирован: 30 июня 2014
С нами: 9 лет 8 месяцев

#18 Elchin » 2 июля 2014, 17:05

знал бы я как это делать не писал бы сюда

Y_Less M
Мл. сержант
Мл. сержант
Аватара
Y_Less M
Мл. сержант
Мл. сержант
Сообщения: 33
Зарегистрирован: 16 февраля 2014
С нами: 10 лет 1 месяц

#19 Y_Less » 2 июля 2014, 17:12

Elchin писал(а):знал бы я как это делать не писал бы сюда
Скинь мод - поковыряюсь
Spam Machine

Elchin
Автор темы, Рядовой
Рядовой
Аватара
Elchin
Автор темы, Рядовой
Рядовой
Сообщения: 12
Зарегистрирован: 30 июня 2014
С нами: 9 лет 8 месяцев

#20 Elchin » 2 июля 2014, 18:07

Скайп: Stiventayler


  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Вопросы»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 6 гостей