• Страница 1 из 1
  • 1
Работа инкассатора
GraF Дата: Четверг, 04.04.2013, 14:15 | Сообщение # 1 | Сообщить о нерабочей теме


Аватар для GraF

Добавляем forward:

Код
forward IsAInkasator(carid);//транспорт для инкассаторов


Добавляем new:

Код
new Inkasator[5];//сколько машин      
new PlayerIsInkasator[MAX_PLAYERS];//отвечает за работу      
new Float:gInkasatorPoints[2][3] = {      
{x, y, z},  // это отвечает за координаты куда ехать    
{x, y, z}}; // это отвечает за координаты куда ехать


Добавляем public:

Код
public IsAInkasator(carid)// Транспорт инкассаторов      
{      
        if(carid >= Inkasator[0] && carid <= Inkasator[4])      
        {      
            return 1;      
        }      
        return 0;      
}


Добавим в public OnPlayerConnect(playerid):

Код
PlayerIsInkasator[playerid] = 0;


Добавим в public OnPlayerEnterCheckpoint(playerid):

Код
if(PlayerIsInkasator[playerid]==2)      
        {      
        DisablePlayerCheckpoint(playerid);      
        SendClientMessage(playerid,-1,"Вам отдали кассиры деньги, отправляйтесь обратно в банк.");      
        SetPlayerCheckpoint(playerid, x, y, z, 3.0);       
        PlayerIsInkasator[playerid]=3;      
        }      
        else if(PlayerIsInkasator[playerid]==3)      
        {      
        DisablePlayerCheckpoint(playerid);      
        SendClientMessage(playerid,-1,"Вы отвезли деньги в банк.");      
        GivePlayerMoney(playerid,7000);      
        PlayerIsInkasator[playerid]=0;      
        return 1;      
        }  


В public OnPlayerStateChange(playerid, newstate, oldstate):

Код
if(newcar >= Inkasator[0] && newcar <= Inkasator[4]) // Инкассаторы      
            {      
                if(PlayerInfo[playerid][pJob] != 17) // Ваш ID работы      
                {      
                    SendClientMessage(playerid,COLOR_RED," У Вас нет ключей от этого транспорта и Вы не Инкассатор !");     
                    RemovePlayerFromVehicle(playerid);      
                }      
            }


Добавим машины в конец public OnGameModeInit() :

Код
Inkasator[0] = CreateVehicle(428,2388.50000000,-1906.09997559,22.10000038,0.00000000,-1,-1,15); //  инкассатор      
        Inkasator[1] = CreateVehicle(428,2392.50000000,-1905.90002441,22.10000038,0.00000000,-1,-1,15); //  инкассатор      
        Inkasator[2] = CreateVehicle(428,2354.89990234,-1906.09997559,22.10000038,0.00000000,-1,-1,15); //  инкассатор      
        Inkasator[3] = CreateVehicle(428,2359.50000000,-1906.19995117,22.10000038,0.00000000,-1,-1,15);   //  инкассатор      
        Inkasator[4] = CreateVehicle(428,2359.39990234,-1895.30004883,22.10000038,270.00000000,-1,-1,15); //  инкассатор


К командам:

Код
if(!strcmp(cmdtext, "/startbank", true))      
        {      
            if(IsPlayerConnected(playerid))      
            {      
                if(PlayerInfo[playerid][pJob] != 17)  // Ваш ID работы    
                {      
                    SendClientMessage(playerid, COLOR_RED, "Вы не работаете Инкассатором!");      
                    return 1;      
                }      
                if(PlayerIsInkasator[playerid] == 1)      
                {      
                    SendClientMessage(playerid, COLOR_RED, "Вы уже работаете");      
                    return 1;      
                }      
                new carid = GetPlayerVehicleID(playerid);      
                if(IsAInkasator(carid))      
                {      
                    TogglePlayerControllable(playerid, 1);      
                    new randomize;      
                    randomize = random(sizeof(gInkasatorPoints));      
                    SetPlayerCheckpoint(playerid, gInkasatorPoints[randomize][0], gInkasatorPoints[randomize][1], gInkasatorPoints[randomize][2], 5.0);      
                    SendClientMessage(playerid, COLOR_WHITE, "Банк: Bремя пошло, заберите деньги и привезите нам их.");     
                    PlayerIsInkasator[playerid] = 2;      
                }      
            }      
            return 1;      
        }


В паблик OnVehicleSpawn

Код
for(new i;i<5;i++)   
{   
         if(Inkasator[i] == vehicleid)   
         {   
             SetVehicleHealth(vehicleid, 2000.0);   
         }   
}




Сообщение отредактировал GraF - Пятница, 05.04.2013, 09:49
  • Страница 1 из 1
  • 1
Поиск: