Починка авто на пикапе

Уроки по скриптингу

Moderator: SJplayer

Avatar
Topic author
Дим M
Администратор
Администратор
Posts: 1319
With us: 7 years 5 months

Починка авто на пикапе

Post #1by Дим » 25 Apr 2013, 16:23

Починка авто на пикапе

Скриншоты
Координаты ТП к автосервису

Code: Select all

SetPlayerPos(playerid, 2253.3174,-2107.0789,13.6468);


и авто, для теста:

Code: Select all

AddStaticVehicle( 411, 2250.0408,-2102.0171,13.6154, 136.6149, 0, 1 );

авторемонт.jpg
авторемонт.jpg (84.14 KiB) Viewed 681 times
авторемонт3.jpg
авторемонт3.jpg (67.97 KiB) Viewed 681 times
авторемонт2.jpg
авторемонт2.jpg (79.58 KiB) Viewed 681 times

Сегодня сделаем автомастерскую на основе этой карты. Суть такова - при въезде на пикап сначала проверяется нужен ли ремонт автомобилю, если не нужен то пишем в чат *Ремонт не требуется!*. Далее идёт проверка на наличие нужной суммы для ремонта, если её нет то в чат *У Вас не достаточно денег для ремонта.*, а если есть то ремонтируем авто и забираем у игрока 100$. Ну что же приступим. Для начала создадим переменную для пикапа:

Code: Select all

new automas


Далее сделаем сам пикап и 3D текст. В public OnGameModeInit()

Code: Select all

automas = CreateDynamicPickup(3096,14,2262.9727,-2124.5828,14.6100,-1);
Create3DTextLabel("{ffff00}А в т о с е р в и с\n\n{7fc7ff}Цена ремонта {00ff00}100$",0xFEFEFEFE,2262.9727,-2124.5828,14.6100,40.0,0,1); 


Тип пикапа в данном случае - 14 (берётся только в авто), недостаток его в том что он берётся (исчезает). Для того что бы он появился опять, нужно отъехать от него на некоторое расстояние, подьехать вновь.

Потом в public OnPlayerPickUpPickup(playerid, pickupid) делаем вывод диалога:

Code: Select all

    if(pickupid == automas)//если это пикап автомастерской
    {  //то выводим диалог починки
        ShowPlayerDialog(playerid,100,DIALOG_STYLE_MSGBOX,"{ffff00} Починка авто.","{FFFFFF}Вы хотите починить\nавтомобиль за {00ff00}100$?","Да", "Нет");
        return true;
    


Ну и в заключение действия для диалога. В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

Code: Select all

    if(dialogid == 100 && response)
    {
        new Float:health;
        new veh;
        veh = GetPlayerVehicleID(playerid);
        GetVehicleHealth(veh, health);
        if(health >=1000) return SendClientMessage(playerid,0xFF0000AA,"{f984e5}Ремонт не требуется!");//узнаём здоровье авто
        if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, 0xFF0000AA,"{f984e5}У Вас не достаточно денег для ремонта.");//узнаём есть ли у игрока деньги
        RepairVehicle(GetPlayerVehicleID(playerid));//ремонтируем авто
        GivePlayerMoney(playerid, -100);//забираем деньги
        SendClientMessage(playerid, 0xFF0000AA,"Автомобиль отремонтирован.");//пишем в чат
    }
    return 1;
i love you mxIni Mysql

! ! !


  • Similar Topics
    Replies
    Views
    Last post

Return to “Уроки”

Who is online

Users browsing this forum: 1 guest