Code
new arace;
new gonkaenter;
new gonkaexit;
new gonkaenter;
new gonkaexit;
К Forward'am:
Code
forward KartingEnded();
forward StartKarting();
forward StartKartingtwo();
forward PaintBall();
forward OOCOff(color,const string[]);
//Таймеры 1,2,3
forward StartKarting1();
forward StartKarting2();
forward StartKarting3();
forward StartKarting();
forward StartKartingtwo();
forward PaintBall();
forward OOCOff(color,const string[]);
//Таймеры 1,2,3
forward StartKarting1();
forward StartKarting2();
forward StartKarting3();
В конец :
Code
public StartKartingtwo()
{
if(logs == 1)
{
printr("StartKartingtwo");
}
new string[256];
format(string, sizeof(string), "Внимание-Внимание!Говорит Москва!Начинается гонка-через 2 минуты! Трасса: Аэропорт Лос - Сантос. Регистрация у въезда");
OOCOff(COLOR_YELLOW,string);
EndingKartRound = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerKarting[i] != 0)
{
//SetPlayerCheckpoint(i,1463.8145,-2494.1394,13.5547,20.0);
}
}
}
SetTimer("StartKarting1", 120000, 0);
return 1;
}
public StartKarting1()
{
new string[256];
EndingKartRound = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerKarting[i] != 0)
{
format(string, sizeof(string), "1");
GameTextForPlayer(i, string, 1000, 3);
new rand;
new car;
car = 411;
rand = random(sizeof(RaceSpawns));
new carid = CreateVehicle(car, RaceSpawns[rand][0],RaceSpawns[rand][1],RaceSpawns[rand][2],270.4143, 3, 3, 60000);
PutPlayerInVehicle(i, carid, 0);
CreatedCars[CreatedCar] = carid;
rand = random(sizeof(RaceSpawns));
TogglePlayerControllable(i, 0);
SetPlayerInterior(i,0);
}
}
}
SetTimer("StartKarting2", 1000, 0);
return 1;
}
public StartKarting2()
{
new string[256];
EndingKartRound = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerKarting[i] != 0)
{
format(string, sizeof(string), "2");
GameTextForPlayer(i, string, 1000, 3);
}
}
}
SetTimer("StartKarting3", 1000, 0);
return 1;
}
public StartKarting3()
{
new string[256];
EndingKartRound = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerKarting[i] != 0)
{
format(string, sizeof(string), "3");
GameTextForPlayer(i, string, 1000, 3);
}
}
}
SetTimer("StartKarting", 1000, 0);
return 1;
}
public StartKarting()
{
new string[256];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(KartingPlayers < 3)
{
format(string, sizeof(string), "Гонка отменена из-за не достаточного колличества участников!");
OOCOff(COLOR_ISPOLZUY,string);
StartingKartRound = 0;
KartingRound = 0;
EndingKartRound = 1;
AnnouncedKartRound = 0;
if(PlayerKarting[i] != 0)
{
DestroyVehicle(GetPlayerVehicleID(i));
CP[i] = 0;
SetPlayerInterior(i, 3);
SetPlayerPos(i,831.9918,1.6614,1004.1797);
SetPlayerFacingAngle(i, 39.0413);
TogglePlayerControllable(i, 1);
PlayerKarting[i] = 0;
}
/*SetPlayerPos(i,831.9918,1.6614,1004.1797);
SetPlayerFacingAngle(i, 39.0413);*/
return 1;
}
}
KartingRound = 1;
StartingKartRound = 0;
EndingKartRound = 1;
FirstKartWinner = 999;
SecondKartWinner = 999;
ThirdKartWinner = 999;
format(string, sizeof(string),"Внимание! Гонка началась. Трасса: Аэропорт Лос - Сантос");
OOCOff(COLOR_YELLOW,string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerKarting[i] != 0)
{
CP[i] = 10;
GameTextForPlayer(i, "~y~GO! GO! GO!", 5000, 3);
PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
SetPlayerCheckpoint(i,1546.8890,-2494.4233,13.5542,20.0);
TogglePlayerControllable(i, 1);
PlayerKarting[i] = 1;
SetVehicleParamsEx(GetPlayerVehicleID(i) ,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
zavodis[i] = 1;
/* new rand;
new car;
car = 411;
new carid = CreateVehicle(car, RaceSpawns[rand][0],RaceSpawns[rand][1],RaceSpawns[rand][2],270.4143, 3, 3, 60000);
PutPlayerInVehicle(i, carid, 0);
CreatedCars[CreatedCar] = carid;
rand = random(sizeof(RaceSpawns));*/
}
}
}
SetTimer("KartingEnded", 360000, 0);
return 1;
}
public OOCOff(color,const string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!gOoc[i])
{
SendClientMessage(i, color, string);
}
}
}
}
public KartingEnded()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new string[256];
CP[i] = 0;
DisablePlayerCheckpoint(i);
format(string, sizeof(string),"Гонка завершенa! Победители получили свои призы");
OOCOff(COLOR_YELLOW,string);
if(PlayerKarting[i] != 0)
{
DestroyVehicle(GetPlayerVehicleID(i));
}
PlayerKarting[i] = 0;
EndingKartRound = 1;
SaveAccounts();
KartingPlayers = 0;
return 1;
}
}
AnnouncedKartRound = 0;
KartingRound = 0;
return 1;
}
{
if(logs == 1)
{
printr("StartKartingtwo");
}
new string[256];
format(string, sizeof(string), "Внимание-Внимание!Говорит Москва!Начинается гонка-через 2 минуты! Трасса: Аэропорт Лос - Сантос. Регистрация у въезда");
OOCOff(COLOR_YELLOW,string);
EndingKartRound = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerKarting[i] != 0)
{
//SetPlayerCheckpoint(i,1463.8145,-2494.1394,13.5547,20.0);
}
}
}
SetTimer("StartKarting1", 120000, 0);
return 1;
}
public StartKarting1()
{
new string[256];
EndingKartRound = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerKarting[i] != 0)
{
format(string, sizeof(string), "1");
GameTextForPlayer(i, string, 1000, 3);
new rand;
new car;
car = 411;
rand = random(sizeof(RaceSpawns));
new carid = CreateVehicle(car, RaceSpawns[rand][0],RaceSpawns[rand][1],RaceSpawns[rand][2],270.4143, 3, 3, 60000);
PutPlayerInVehicle(i, carid, 0);
CreatedCars[CreatedCar] = carid;
rand = random(sizeof(RaceSpawns));
TogglePlayerControllable(i, 0);
SetPlayerInterior(i,0);
}
}
}
SetTimer("StartKarting2", 1000, 0);
return 1;
}
public StartKarting2()
{
new string[256];
EndingKartRound = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerKarting[i] != 0)
{
format(string, sizeof(string), "2");
GameTextForPlayer(i, string, 1000, 3);
}
}
}
SetTimer("StartKarting3", 1000, 0);
return 1;
}
public StartKarting3()
{
new string[256];
EndingKartRound = 0;
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerKarting[i] != 0)
{
format(string, sizeof(string), "3");
GameTextForPlayer(i, string, 1000, 3);
}
}
}
SetTimer("StartKarting", 1000, 0);
return 1;
}
public StartKarting()
{
new string[256];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(KartingPlayers < 3)
{
format(string, sizeof(string), "Гонка отменена из-за не достаточного колличества участников!");
OOCOff(COLOR_ISPOLZUY,string);
StartingKartRound = 0;
KartingRound = 0;
EndingKartRound = 1;
AnnouncedKartRound = 0;
if(PlayerKarting[i] != 0)
{
DestroyVehicle(GetPlayerVehicleID(i));
CP[i] = 0;
SetPlayerInterior(i, 3);
SetPlayerPos(i,831.9918,1.6614,1004.1797);
SetPlayerFacingAngle(i, 39.0413);
TogglePlayerControllable(i, 1);
PlayerKarting[i] = 0;
}
/*SetPlayerPos(i,831.9918,1.6614,1004.1797);
SetPlayerFacingAngle(i, 39.0413);*/
return 1;
}
}
KartingRound = 1;
StartingKartRound = 0;
EndingKartRound = 1;
FirstKartWinner = 999;
SecondKartWinner = 999;
ThirdKartWinner = 999;
format(string, sizeof(string),"Внимание! Гонка началась. Трасса: Аэропорт Лос - Сантос");
OOCOff(COLOR_YELLOW,string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerKarting[i] != 0)
{
CP[i] = 10;
GameTextForPlayer(i, "~y~GO! GO! GO!", 5000, 3);
PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
SetPlayerCheckpoint(i,1546.8890,-2494.4233,13.5542,20.0);
TogglePlayerControllable(i, 1);
PlayerKarting[i] = 1;
SetVehicleParamsEx(GetPlayerVehicleID(i) ,VEHICLE_PARAMS_ON,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
zavodis[i] = 1;
/* new rand;
new car;
car = 411;
new carid = CreateVehicle(car, RaceSpawns[rand][0],RaceSpawns[rand][1],RaceSpawns[rand][2],270.4143, 3, 3, 60000);
PutPlayerInVehicle(i, carid, 0);
CreatedCars[CreatedCar] = carid;
rand = random(sizeof(RaceSpawns));*/
}
}
}
SetTimer("KartingEnded", 360000, 0);
return 1;
}
public OOCOff(color,const string[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(!gOoc[i])
{
SendClientMessage(i, color, string);
}
}
}
}
public KartingEnded()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new string[256];
CP[i] = 0;
DisablePlayerCheckpoint(i);
format(string, sizeof(string),"Гонка завершенa! Победители получили свои призы");
OOCOff(COLOR_YELLOW,string);
if(PlayerKarting[i] != 0)
{
DestroyVehicle(GetPlayerVehicleID(i));
}
PlayerKarting[i] = 0;
EndingKartRound = 1;
SaveAccounts();
KartingPlayers = 0;
return 1;
}
}
AnnouncedKartRound = 0;
KartingRound = 0;
return 1;
}
Далее в OnGameModeInit:
Code
gonkaenter = CreatePickup(1318,23,1956.7323,-2183.6260,13.5469);
gonkaexit = CreatePickup(1318,23,834.6671,7.2752,1004.1870);//
gonkaexit = CreatePickup(1318,23,834.6671,7.2752,1004.1870);//
Далее в public OnPlayerPickUpPickup(playerid, pickupid):
Code
if(pickupid == gonkaenter) //гонка вход
{
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid,831.7769,6.8750,1004.1797);
SetPlayerFacingAngle(playerid,108.1610);
SetPlayerVirtualWorld(playerid,0);
}
if(pickupid == gonkaexit) //гонка вход
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1952.9702,-2177.6379,13.5469);
SetPlayerFacingAngle(playerid,353.8560);
SetPlayerVirtualWorld(playerid,0);
PlayerKarting[playerid] = 0;
CP[playerid] = 0;
KartingPlayers -= 1;
DisablePlayerCheckpoint(playerid);
}
if(pickupid == arace)
{
if(EndingKartRound >= 1) return SendClientMessage(playerid,COLOR_WHITE,"Регистрация закрыта!");
if(PlayerInfo[playerid][pLevel] <=2 ) return SendClientMessage(playerid,COLOR_GRAD1,"Участвовать можно с 3-х лет проживания в штате!");
if(PlayerInfo[playerid][pWarns] >=1 ) return SendClientMessage(playerid,COLOR_GRAD1,"Нельзя учавствовать с Warnom!");
if( PlayerKarting[playerid] == 1) return SendClientMessage(playerid,COLOR_WHITE,"Вы уже зарегестрированы на гонку!");
SendClientMessage(playerid, 0x6495EDFF, "Вы зарегестрировались на гонку!");
KartingPlayers += 1;
PlayerKarting[playerid] = 1;
}
{
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid,831.7769,6.8750,1004.1797);
SetPlayerFacingAngle(playerid,108.1610);
SetPlayerVirtualWorld(playerid,0);
}
if(pickupid == gonkaexit) //гонка вход
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1952.9702,-2177.6379,13.5469);
SetPlayerFacingAngle(playerid,353.8560);
SetPlayerVirtualWorld(playerid,0);
PlayerKarting[playerid] = 0;
CP[playerid] = 0;
KartingPlayers -= 1;
DisablePlayerCheckpoint(playerid);
}
if(pickupid == arace)
{
if(EndingKartRound >= 1) return SendClientMessage(playerid,COLOR_WHITE,"Регистрация закрыта!");
if(PlayerInfo[playerid][pLevel] <=2 ) return SendClientMessage(playerid,COLOR_GRAD1,"Участвовать можно с 3-х лет проживания в штате!");
if(PlayerInfo[playerid][pWarns] >=1 ) return SendClientMessage(playerid,COLOR_GRAD1,"Нельзя учавствовать с Warnom!");
if( PlayerKarting[playerid] == 1) return SendClientMessage(playerid,COLOR_WHITE,"Вы уже зарегестрированы на гонку!");
SendClientMessage(playerid, 0x6495EDFF, "Вы зарегестрировались на гонку!");
KartingPlayers += 1;
PlayerKarting[playerid] = 1;
}