Slim
Умник
Peace
По просьбам вырезал
ко всем forward
Ко всем new
Создаем Паблики
В public OnPlayerDisconnect(playerid, reason)
В public OnPlayerDeath(playerid, killerid, reason)
В public OnPlayerEnterRaceCheckpoint(playerid)
В public OnPlayerPickUpPickup(playerid, pickupid) //
В public OnPlayerStateChange(playerid, newstate, oldstate)
В public OnPlayerExitVehicle(playerid, vehicleid)
В public Fresh()
Создаем пикап. В public OnGameModeInit()
И создаем команду
ко всем forward
PHP:
forward MotoGonkaEnded();
forward MotoStartGonka();
forward MotoStartGonkatwo();
//Òàéìåðû 1,2,3
forward MotoStartGonka1();
forward MotoStartGonka2();
forward MotoStartGonka3();
PHP:
new motochet[MAX_PLAYERS];
new motorace;
new EndingmotoRound = 1;
new MotoPlayers = 0;
new FirstmotoWinner = 999;
new Playermoto[MAX_PLAYERS];
new SecondmotoWinner = 999;
new ThirdmotoWinner = 999;
PHP:
new Float:VeloSpawns[18][3] = {
{-1299.6956,-705.8982,1055.7883},
{-1297.4490,-704.4529,1055.8176},
{-1294.5687,-702.5999,1055.8553},
{-1296.9550,-698.8951,1056.0790},
{-1299.6482,-700.6277,1056.0438},
{-1302.0820,-702.1935,1056.0118},
{-1305.2716,-697.2415,1056.3108},
{-1302.3239,-695.3451,1056.3491},
{-1299.8279,-693.7394,1056.3816},
{-1308.8804,-692.5737,1056.6034},
{-1306.8887,-690.1649,1056.6841},
{-1305.2042,-687.4276,1056.7865},
{-1315.9603,-686.6168,1055.6960},
{-1313.8645,-684.1074,1055.7102},
{-1311.6522,-681.4588,1055.7251},
{-1317.6500,-678.1536,1055.6215},
{-1321.1531,-679.5546,1055.5442},
{-1322.2642,-682.6734,1055.5757}
};
new Float:velogonka[11][3] = {
{-1392.8823,-664.2424,1056.5042},// ÷åê
{-1490.3668,-624.4260,1054.7405},// ÷åê
{-1444.7014,-684.1426,1053.1312},// ÷åê
{-1331.0515,-706.8712,1055.5878},// ÷åê
{-1395.6963,-632.8066,1051.2495},// ÷åê
{-1289.1444,-642.6941,1055.6703},// ÷åê
{-1398.5776,-589.2161,1058.8173},// ÷åê
{-1491.1425,-593.3538,1055.4565},// ÷åê
{-1521.1039,-703.9369,1055.1754},// ÷åê
{-1431.9993,-739.4781,1054.6364},// ÷åê
{-1308.1356,-737.6250,1049.7961}// ֌
};
new velo[] = {510,468};
PHP:
public MotoStartGonkatwo()
{
if(logs == 1)
{
printr("MotoStartGonkatwo");
}
new string[256];
format(string, sizeof(string), "::: Âíèìàíèå! Íà÷àëî Âåëî - Ãîíîê ÷åðåç 2 ìèíóòû. Òðàññà: Ñòàäèîí Ëîñ Ñàíòîñ. Ðåãèñòðàöèÿ íà ìåñòå :::");
OOCOff(0x7E00FDAA,string);
EndingmotoRound = 1;
SetTimer("MotoStartGonka1", 120000, 0);
//SetTimer("MotoStartGonka1", 3000, 0);
return 1;
}
public MotoStartGonka1()
{
new string[256];
EndingmotoRound = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Playermoto[i] != 0)
{
new rands = random(sizeof(velo));
format(string, sizeof(string), "1");
GameTextForPlayer(i, string, 1000, 3);
new rand;
rand = random(sizeof(VeloSpawns));
new carid = CreateVehicle(velo[rands], VeloSpawns[rand][0],VeloSpawns[rand][1],VeloSpawns[rand][2],36.8526, 3, 3, 60000);
PutPlayerInVehicle(i, carid, 0);
CreatedCars[CreatedCar] = carid;
TogglePlayerControllable(i, 0);
SetPlayerInterior(i,4);
LinkVehicleToInterior(carid, 4);
}
}
}
SetTimer("MotoStartGonka2", 1000, 0);
return 1;
}
public MotoStartGonka2()
{
new string[256];
EndingmotoRound = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Playermoto[i] != 0)
{
format(string, sizeof(string), "2");
GameTextForPlayer(i, string, 1000, 3);
}
}
}
SetTimer("MotoStartGonka3", 1000, 0);
return 1;
}
public MotoStartGonka3()
{
new string[256];
EndingmotoRound = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Playermoto[i] != 0)
{
format(string, sizeof(string), "3");
GameTextForPlayer(i, string, 1000, 3);
}
}
}
SetTimer("MotoStartGonka", 1000, 0);
return 1;
}
public MotoStartGonka()
{
new string[256];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(MotoPlayers < 2)
{
format(string, sizeof(string), "::: Âåëî - Ãîíêà îòìåíåíà èç-çà íå äîñòàòî÷íîãî êîëëè÷åñòâà ó÷àñòíèêîâ! :::");
OOCOff(0x7E00FDAA,string);
EndingmotoRound = 1;
Playermoto[i] = 0;
TogglePlayerControllable(i, 1);
RaceCP[i] = 0;
MotoPlayers = 0;
DisablePlayerRaceCheckpoint(i);
SetPlayerInterior(i, 0);
SetPlayerPos(i,2690.2271,-1700.9700,10.4215);
SetPlayerFacingAngle(i, 45.9013);
DestroyVehicle(GetPlayerVehicleID(i));
return 1;
}
FirstmotoWinner = 999;
SecondmotoWinner = 999;
ThirdmotoWinner = 999;
if(IsPlayerConnected(i))
{
if(Playermoto[i] != 0)
{
RaceCP[i] = 50;
GameTextForPlayer(i, "~r~GO! GO! GO!", 5000, 3);
PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
motochet[i] +=1;
SetPlayerRaceCheckpoint(i,1,velogonka[0][0],velogonka[0][1],velogonka[0][2], velogonka[1][0],velogonka[1][1],velogonka[1][2],8.0);
TogglePlayerControllable(i, 1);
Playermoto[i] = 1;
SetVehicleParamsEx(GetPlayerVehicleID(i) ,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
Fuell[GetPlayerVehicleID(i)] = 100;
zavodis[i] = 1;
}
}
}
format(string, sizeof(string),"::: Âíèìàíèå! Âåëî - Ãîíêà íà÷àëàñü. Òðàññà: Ñòàäèîí Ëîñ Ñàíòîñ :::");
OOCOff(0x7E00FDAA,string);
SetTimer("MotoGonkaEnded", 360000, 0);
EndingmotoRound = 1;
MotoPlayers = 0;
return 1;
}
public MotoGonkaEnded()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new string[256];
RaceCP[i] = 0;
DisablePlayerCheckpoint(i);
format(string, sizeof(string),"::: Âåëî - Ãîíêà çàâåðøåía! Ïîáåäèòåëè ïîëó÷èëè ñâîè ïðèçû :::");
OOCOff(0x7E00FDAA,string);
if(Playermoto[i] != 0)
{
DestroyVehicle(GetPlayerVehicleID(i));
}
Playermoto[i] = 0;
EndingmotoRound = 1;
MotoPlayers = 0;
return 1;
}
}
return 1;
}
PHP:
motochet[playerid] = 0;
PHP:
Playermoto[playerid] = 0;
PHP:
new tmp2[30];
//====-------------------------- âåëîãîíêà --------------------------
if(RaceCP[playerid] == 50) { RaceCP[playerid] = 51; DisablePlayerRaceCheckpoint(playerid); motochet[playerid] +=1; SetPlayerRaceCheckpoint(playerid,1,velogonka[1][0],velogonka[1][1],velogonka[1][2], velogonka[2][0],velogonka[2][1],velogonka[2][2],8.0); format(tmp2, sizeof(tmp2), "~b~%d/35", motochet[playerid]); GameTextForPlayer(playerid, tmp2, 5000, 3);}
else if(RaceCP[playerid] == 51) { RaceCP[playerid] = 52; DisablePlayerRaceCheckpoint(playerid); motochet[playerid] +=1; SetPlayerRaceCheckpoint(playerid,1,velogonka[2][0],velogonka[2][1],velogonka[2][2],velogonka[3][0],velogonka[3][1],velogonka[3][2],8); format(tmp2, sizeof(tmp2), "~b~%d/35", motochet[playerid]); GameTextForPlayer(playerid, tmp2, 5000, 3);}
else if(RaceCP[playerid] == 52) { RaceCP[playerid] = 53; DisablePlayerRaceCheckpoint(playerid); motochet[playerid] +=1; SetPlayerRaceCheckpoint(playerid,1,velogonka[3][0],velogonka[3][1],velogonka[3][2],velogonka[4][0],velogonka[4][1],velogonka[4][2],8); format(tmp2, sizeof(tmp2), "~b~%d/35", motochet[playerid]); GameTextForPlayer(playerid, tmp2, 5000, 3);}
else if(RaceCP[playerid] == 53) { RaceCP[playerid] = 54; DisablePlayerRaceCheckpoint(playerid); motochet[playerid] +=1; SetPlayerRaceCheckpoint(playerid,1,velogonka[4][0],velogonka[4][1],velogonka[4][2],velogonka[5][0],velogonka[5][1],velogonka[5][2],8); format(tmp2, sizeof(tmp2), "~b~%d/35", motochet[playerid]); GameTextForPlayer(playerid, tmp2, 5000, 3);}
else if(RaceCP[playerid] == 54) { RaceCP[playerid] = 55; DisablePlayerRaceCheckpoint(playerid); motochet[playerid] +=1; SetPlayerRaceCheckpoint(playerid,1,velogonka[5][0],velogonka[5][1],velogonka[5][2],velogonka[6][0],velogonka[6][1],velogonka[6][2],8); format(tmp2, sizeof(tmp2), "~b~%d/35", motochet[playerid]); GameTextForPlayer(playerid, tmp2, 5000, 3);}
else if(RaceCP[playerid] == 55) { RaceCP[playerid] = 56; DisablePlayerRaceCheckpoint(playerid); motochet[playerid] +=1; SetPlayerRaceCheckpoint(playerid,1,velogonka[6][0],velogonka[6][1],velogonka[6][2],velogonka[7][0],velogonka[7][1],velogonka[7][2],8); format(tmp2, sizeof(tmp2), "~b~%d/35", motochet[playerid]); GameTextForPlayer(playerid, tmp2, 5000, 3);}
else if(RaceCP[playerid] == 56) { RaceCP[playerid] = 57; DisablePlayerRaceCheckpoint(playerid); motochet[playerid] +=1; SetPlayerRaceCheckpoint(playerid,1,velogonka[7][0],velogonka[7][1],velogonka[7][2],velogonka[8][0],velogonka[8][1],velogonka[8][2],8); format(tmp2, sizeof(tmp2), "~b~%d/35", motochet[playerid]); GameTextForPlayer(playerid, tmp2, 5000, 3);}
else if(RaceCP[playerid] == 57) { RaceCP[playerid] = 58; DisablePlayerRaceCheckpoint(playerid); motochet[playerid] +=1; SetPlayerRaceCheckpoint(playerid,1,velogonka[8][0],velogonka[8][1],velogonka[8][2],velogonka[9][0],velogonka[9][1],velogonka[9][2],8); format(tmp2, sizeof(tmp2), "~b~%d/35", motochet[playerid]); GameTextForPlayer(playerid, tmp2, 5000, 3);}
else if(RaceCP[playerid] == 58) { RaceCP[playerid] = 59; DisablePlayerRaceCheckpoint(playerid); motochet[playerid] +=1; SetPlayerRaceCheckpoint(playerid,1,velogonka[9][0],velogonka[9][1],velogonka[9][2],velogonka[10][0],velogonka[10][1],velogonka[10][2],8); format(tmp2, sizeof(tmp2), "~b~%d/35", motochet[playerid]); GameTextForPlayer(playerid, tmp2, 5000, 3);}
else if(RaceCP[playerid] == 59) { RaceCP[playerid] = 60; DisablePlayerRaceCheckpoint(playerid); motochet[playerid] +=1; SetPlayerRaceCheckpoint(playerid,1,velogonka[10][0],velogonka[10][1],velogonka[10][2],velogonka[0][0],velogonka[0][1],velogonka[0][2],8); format(tmp2, sizeof(tmp2), "~b~%d/35", motochet[playerid]); GameTextForPlayer(playerid, tmp2, 5000, 3);}
else if(RaceCP[playerid] == 60) { RaceCP[playerid] = 50; DisablePlayerRaceCheckpoint(playerid); motochet[playerid] +=1; SetPlayerRaceCheckpoint(playerid,1,velogonka[0][0],velogonka[0][1],velogonka[0][2],velogonka[1][0],velogonka[1][1],velogonka[1][2],8); format(tmp2, sizeof(tmp2), "~b~%d/35", motochet[playerid]); GameTextForPlayer(playerid, tmp2, 5000, 3);}
if(motochet[playerid] == 35)
{
RaceCP[playerid] = 36;
SetPlayerRaceCheckpoint(playerid,1,gonka[0][0],gonka[0][1],gonka[0][2],0.0,0.0,0.0,8);
}
new name[MAX_PLAYER_NAME];
if(RaceCP[playerid] == 36)
{
RaceCP[playerid] = 0;
DisablePlayerRaceCheckpoint(playerid);
GetPlayerName(playerid, name, sizeof(name));
motochet[playerid] = 0;
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,2690.2271,-1700.9700,10.4215);
SetPlayerFacingAngle(playerid, 45.9013);
DestroyVehicle(GetPlayerVehicleID(playerid));
if(FirstmotoWinner == 999)
{
FirstmotoWinner = playerid;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Playermoto[i] != 0)
{
format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~g~%s finished - 1st",name);
GameTextForPlayer(i, string, 2500, 3);
SendClientMessage(playerid, 0x6495EDFF, "Âû âûèãðàëè 15 000 âèðò!");
PlayerInfo[playerid][pCash] +=15000;
Playermoto[playerid] = 0;
motochet[playerid] = 0;
EndingmotoRound = 1;
return 1;
}
}
}
}
else if(SecondmotoWinner == 999)
{
SecondmotoWinner = playerid;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Playermoto[i] != 0 )
{
format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~g~%s finished - 2nd",name);
GameTextForPlayer(i, string, 2500, 3);
SendClientMessage(playerid, 0x6495EDFF, "Âû âûèãðàëè 10 000 âèðò!");
PlayerInfo[playerid][pCash] +=10000;
Playermoto[playerid] = 0;
EndingmotoRound = 1;
motochet[playerid] = 0;
return 1;
}
}
}
}
else if(ThirdmotoWinner == 999)
{
ThirdmotoWinner = playerid;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Playermoto[i] != 0)
{
format(string, sizeof(string), "~n~~n~~n~~n~~n~~n~~g~%s finished - 3d",name);
GameTextForPlayer(i, string, 2500, 3);
SendClientMessage(playerid, 0x6495EDFF, "Âû âûèãðàëè 5 000 âèðò!");
PlayerInfo[playerid][pCash] +=5000;
Playermoto[playerid] = 0;
EndingmotoRound = 1;
motochet[playerid] = 0;
return 1;
}
}
}
}
}
PHP:
else if(pickupid == motorace)
{
if(EndingmotoRound >= 1) return SendClientMessage(playerid,COLOR_WHITE,"Ðåãèñòðàöèÿ çàêðûòà!");
if(PlayerInfo[playerid][pLevel] < 2 ) return SendClientMessage(playerid,COLOR_GRAD1,"Ó÷àñòâîâàòü ìîæíî ñ 2-õ ëåò ïðîæèâàíèÿ â øòàòå!");
if(PlayerInfo[playerid][pWarns] >=1 ) return SendClientMessage(playerid,COLOR_GRAD1,"Íåëüçÿ ó÷àâñòâîâàòü ñ Warnom!");
if( Playermoto[playerid] == 1) return SendClientMessage(playerid,COLOR_WHITE,"Âû óæå çàðåãåñòðèðîâàíû íà ãîíêó!");
SendClientMessage(playerid, 0x6495EDFF, "::: Âû çàðåãåñòðèðîâàëèñü íà ãîíêó :::");
MotoPlayers += 1;
Playermoto[playerid] = 1;
}
PHP:
if(Playermoto[playerid] != 0)
{
SendClientMessage(playerid, COLOR_NEWS, "Âû áûëè äèñêâàëèôèöèðîâàíû!");
DisablePlayerRaceCheckpoint(playerid);
DestroyVehicle(Veh);
RaceCP[playerid] = 0;
motochet[playerid] = 0;
TogglePlayerControllable(playerid, 1);
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,2690.2271,-1700.9700,10.4215);
SetPlayerFacingAngle(playerid, 45.9013);
Playermoto[playerid] = 0;
TextDrawHideForPlayer(playerid,Box);
TextDrawHideForPlayer(playerid,Speed);
TextDrawHideForPlayer(playerid,SpeedShow[playerid]);
TextDrawHideForPlayer(playerid,Fuel);
TextDrawHideForPlayer(playerid,FuelShow[playerid]);
TextDrawHideForPlayer(playerid,Status);
TextDrawHideForPlayer(playerid,StatusShow[playerid]);
TextDrawHideForPlayer(playerid,KMShow[playerid]);
return 1;
}
PHP:
if(Playermoto[playerid] != 0)
{
SendClientMessage(playerid, COLOR_NEWS, "Âû áûëè äèñêâàëèôèöèðîâàíû!");
DisablePlayerRaceCheckpoint(playerid);
DestroyVehicle(Veh);
RaceCP[playerid] = 0;
motochet[playerid] = 0;
TogglePlayerControllable(playerid, 1);
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid,2690.2271,-1700.9700,10.4215);
SetPlayerFacingAngle(playerid, 45.9013);
Playermoto[playerid] = 0;
TextDrawHideForPlayer(playerid,Box);
TextDrawHideForPlayer(playerid,Speed);
TextDrawHideForPlayer(playerid,SpeedShow[playerid]);
TextDrawHideForPlayer(playerid,Fuel);
TextDrawHideForPlayer(playerid,FuelShow[playerid]);
TextDrawHideForPlayer(playerid,Status);
TextDrawHideForPlayer(playerid,StatusShow[playerid]);
TextDrawHideForPlayer(playerid,KMShow[playerid]);
return 1;
}
PHP:
if(hour == 12 && minute == 30 || hour == 18 && minute == 30 || hour == 21 && minute == 30 || hour == 12 && minute == 30 )
{
if(EndingmotoRound == 0)
{
format(string, sizeof(string), "::: Âíèìàíèå! Íà÷àëî Âåëî - Ãîíîê ÷åðåç 5 ìèíóò. Òðàññà: Ñòàäèîí Ëîñ Ñàíòîñ. Ðåãèñòðàöèÿ íà ìåñòå :::");
OOCOff(0x7E00FDAA,string);
EndingmotoRound = 0;
SetTimer("MotoStartGonkatwo", 180000, 0);
}
}
return 1;
}
PHP:
motorace = CreatePickup(219, 23, 2695.5076,-1704.6638,11.8438); //
PHP:
else if (strcmp(cmd, "/mrace", true) == 0)
{
if(IsPlayerAdmin(playerid)|| PlayerInfo[playerid][pAdmin] >= 5)
{
if(EndingmotoRound == 0) return SendClientMessage(playerid,COLOR_WHITE,"::: Âåëî Ãîíêà óæå íà÷àòà!");
format(string, sizeof(string), "::: Âíèìàíèå! Íà÷àëî Âåëî - Ãîíîê ÷åðåç 5 ìèíóò. Òðàññà: Ñòàäèîí Ëîñ Ñàíòîñ. Ðåãèñòðàöèÿ íà ìåñòå :::");
OOCOff(0x7E00FDAA,string);
EndingmotoRound = 0;
SetTimer("MotoStartGonkatwo", 180000, 0);
}
return 1;
}
