rendered paste body#include <a_samp>
#include <core>
#include <float>
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xE52525AA
//#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define PocketMoney 50000 // Amount player recieves on spawn.
#define INACTIVE_PLAYER_ID 255
#define GIVECASH_DELAY 5000 // Time in ms between /givecash commands.
#define NUMVALUES 4
forward MoneyGrubScoreUpdate();
forward Givecashdelaytimer(playerid);
//forward GrubModeReset();
forward SetPlayerRandomSpawn(playerid);
forward SetupPlayerForClassSelection(playerid);
forward GameModeExitFunc();
#define MAX_RACES_ID 10
#define MAX_CHECKPOINTS 256
new RACEADMIN_PASS[256] = "test";
new racename[MAX_RACES_ID][256];
new freeraceidcheck[MAX_RACES_ID];
new driver1id[MAX_RACES_ID] = -1;
new driver2id[MAX_RACES_ID] = -1;
new drivercheck[MAX_RACES_ID] =1;
new playerraceid[MAX_PLAYERS] = -1;
new PlayerRaceStatus[MAX_PLAYERS] = -1;
new Float: RCPx[MAX_CHECKPOINTS][MAX_RACES_ID];
new Float: RCPy[MAX_CHECKPOINTS][MAX_RACES_ID];
new Float: RCPz[MAX_CHECKPOINTS][MAX_RACES_ID];
new Float: RCPx2[MAX_CHECKPOINTS][MAX_RACES_ID];
new Float: RCPy2[MAX_CHECKPOINTS][MAX_RACES_ID];
new Float: RCPz2[MAX_CHECKPOINTS][MAX_RACES_ID];
new prizemoney[MAX_RACES_ID];
new maxCP[MAX_RACES_ID];
//new Float: RSangle[MAX_RACES_ID];
//new Float: RSangle2[MAX_RACES_ID];
new raceidtimer = -1;
new startcheck[MAX_RACES_ID] = 0;
new nameofrace[256];
new racecreation;
new raceadminid = -1;
//------------------------------------------------------------------------------------------------------
new CashScoreOld;
new iSpawnSet[MAX_PLAYERS];
new Float:gRandomPlayerSpawns[10][3] = {
{2494.8337,-1687.3263,13.5147},
{2095.3533,-1145.2101,26.5929},
{1685.2394,-2102.5601,13.5543},
{2730.9685,-1831.5707,11.4745},
{-2158.0928,655.7538,52.3707},
{-2627.2009,1407.8497,7.0938},
{-1586.2576,40.5064,17.3358},
{2297.0176,2451.3623,10.8203},
{2193.4041,1676.9398,12.3672},
{213.2122,1876.4629,13.1400}
};
new Float:gCopPlayerSpawns[10][3] = {
{2494.8337,-1687.3263,13.5147},
{2095.3533,-1145.2101,26.5929},
{1685.2394,-2102.5601,13.5543},
{2730.9685,-1831.5707,11.4745},
{-2158.0928,655.7538,52.3707},
{-2627.2009,1407.8497,7.0938},
{-1586.2576,40.5064,17.3358},
{2297.0176,2451.3623,10.8203},
{2193.4041,1676.9398,12.3672},
{213.2122,1876.4629,13.1400}
};
//Round code stolen from mike's Manhunt :P
//new gRoundTime = 3600000; // Round time - 1 hour
//new gRoundTime = 1200000; // Round time - 20 mins
//new gRoundTime = 900000; // Round time - 15 mins
//new gRoundTime = 600000; // Round time - 10 mins
//new gRoundTime = 300000; // Round time - 5 mins
//new gRoundTime = 120000; // Round time - 2 mins
//new gRoundTime = 60000; // Round time - 1 min
new gActivePlayers[MAX_PLAYERS];
new gLastGaveCash[MAX_PLAYERS];
new playerColors[100] = {
0xFF8C13FF,0xC715FFFF,0x20B2AAFF,0xDC143CFF,0x6495EDFF,0xf0e68cFF,0x778899FF,0xFF1493FF,0xF4A460FF,0xEE82EEFF,0xFFD720FF,
0x8b4513FF,0x4949A0FF,0x148b8bFF,0x14ff7fFF,0x556b2fFF,0x0FD9FAFF,0x10DC29FF,0x534081FF,0x0495CDFF,0xEF6CE8FF,0xBD34DAFF,
0x247C1BFF,0x0C8E5DFF,0x635B03FF,0xCB7ED3FF,0x65ADEBFF,0x5C1ACCFF,0xF2F853FF,0x11F891FF,0x7B39AAFF,0x53EB10FF,0x54137DFF,
0x275222FF,0xF09F5BFF,0x3D0A4FFF,0x22F767FF,0xD63034FF,0x9A6980FF,0xDFB935FF,0x3793FAFF,0x90239DFF,0xE9AB2FFF,0xAF2FF3FF,
0x057F94FF,0xB98519FF,0x388EEAFF,0x028151FF,0xA55043FF,0x0DE018FF,0x93AB1CFF,0x95BAF0FF,0x369976FF,0x18F71FFF,0x4B8987FF,
0x491B9EFF,0x829DC7FF,0xBCE635FF,0xCEA6DFFF,0x20D4ADFF,0x2D74FDFF,0x3C1C0DFF,0x12D6D4FF,0x48C000FF,0x2A51E2FF,0xE3AC12FF,
0xFC42A8FF,0x2FC827FF,0x1A30BFFF,0xB740C2FF,0x42ACF5FF,0x2FD9DEFF,0xFAFB71FF,0x05D1CDFF,0xC471BDFF,0x94436EFF,0xC1F7ECFF,
0xCE79EEFF,0xBD1EF2FF,0x93B7E4FF,0x3214AAFF,0x184D3BFF,0xAE4B99FF,0x7E49D7FF,0x4C436EFF,0xFA24CCFF,0xCE76BEFF,0xA04E0AFF,
0x9F945CFF,0xDCDE3DFF,0x10C9C5FF,0x70524DFF,0x0BE472FF,0x8A2CD7FF,0x6152C2FF,0xCF72A9FF,0xE59338FF,0xEEDC2DFF,0xD8C762FF,
0x3FE65CFF
};
new playerTransparentColors[100] = {
0xFF8C1300,0xC715FF00,0x20B2AA00,0xDC143C00,0x6495ED00,0xf0e68c00,0x77889900,0xFF149300,0xF4A46000,0xEE82EE00,0xFFD72000,
0x8b451300,0x4949A000,0x148b8b00,0x14ff7f00,0x556b2f00,0x0FD9FA00,0x10DC2900,0x53408100,0x0495CD00,0xEF6CE800,0xBD34DA00,
0x247C1B00,0x0C8E5D00,0x635B0300,0xCB7ED300,0x65ADEB00,0x5C1ACC00,0xF2F85300,0x11F89100,0x7B39AA00,0x53EB1000,0x54137D00,
0x27522200,0xF09F5B00,0x3D0A4F00,0x22F76700,0xD6303400,0x9A698000,0xDFB93500,0x3793FA00,0x90239D00,0xE9AB2F00,0xAF2FF300,
0x057F9400,0xB9851900,0x388EEA00,0x02815100,0xA5504300,0x0DE01800,0x93AB1C00,0x95BAF000,0x36997600,0x18F71F00,0x4B898700,
0x491B9E00,0x829DC700,0xBCE63500,0xCEA6DF00,0x20D4AD00,0x2D74FD00,0x3C1C0D00,0x12D6D400,0x48C00000,0x2A51E200,0xE3AC1200,
0xFC42A800,0x2FC82700,0x1A30BF00,0xB740C200,0x42ACF500,0x2FD9DE00,0xFAFB7100,0x05D1CD00,0xC471BD00,0x94436E00,0xC1F7EC00,
0xCE79EE00,0xBD1EF200,0x93B7E400,0x3214AA00,0x184D3B00,0xAE4B9900,0x7E49D700,0x4C436E00,0xFA24CC00,0xCE76BE00,0xA04E0A00,
0x9F945C00,0xDCDE3D00,0x10C9C500,0x70524D00,0x0BE47200,0x8A2CD700,0x6152C200,0xCF72A900,0xE5933800,0xEEDC2D00,0xD8C76200,
0x3FE65C00
};
//------------------------------------------------------------------------------------------------------
main()
{
print("\n----------------------------------");
print(" Racing Mode 0.2b\n");
print(" and Money Grub ");
print("----------------------------------\n");
}
//------------------------------------------------------------------------------------------------------
public MoneyGrubScoreUpdate()
{
new CashScore;
new name[MAX_PLAYER_NAME];
//new string[256];
for(new i=0; i<MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
GetPlayerName(i, name, sizeof(name));
CashScore = GetPlayerMoney(i);
SetPlayerScore(i, CashScore);
if (CashScore > CashScoreOld)
{
CashScoreOld = CashScore;
//format(string, sizeof(string), "$$$ %s is now in the lead $$$", name);
//SendClientMessageToAll(COLOR_YELLOW, string);
}
}
}
}
//------------------------------------------------------------------------------------------------------
/*public GrubModeReset()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
SetPlayerScore(i, PocketMoney);
SetPlayerRandomSpawn(i, classid);
}
}
}*/
//------------------------------------------------------------------------------------------------------
public OnPlayerConnect(playerid)
{
SendPlayerFormattedText(playerid," Отдельное спасибо SAP Host за предоставленный хостинг!",0);
SendPlayerFormattedText(playerid,"For english help type /enghelp!",0);
GameTextForPlayer(playerid,"Racing all over San Andreas",5000,5);
gActivePlayers[playerid]++;
gLastGaveCash[playerid] = GetTickCount();
return 1;
}
//------------------------------------------------------------------------------------------------------
public OnPlayerDisconnect(playerid)
{
gActivePlayers[playerid]--;
}
//------------------------------------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
new string[256];
new playermoney;
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
new cmd[256];
new giveplayerid, moneys, idx;
new Ang;
cmd = strtok(cmdtext, idx);
if(strcmp(cmdtext, "/me", true, 3)==0) {
new pname[24];
GetPlayerName(playerid, pname, 24);
format(string, 256, "* %s %s", pname, cmdtext[4]);
SendClientMessageToAll(COLOR_GREEN, string);
return 1;
}
if(strcmp(cmdtext, "/away", true) == 0)
{
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid,198.3797,160.8905,1003.0300);
SetPlayerFacingAngle(playerid,177.0350);
SetCameraBehindPlayer(playerid);
PlayerPlaySound(playerid,1082,198.3797,160.8905,1003.0300);
TogglePlayerControllable(playerid,0);
new away[MAX_PLAYER_NAME];
GetPlayerName(playerid, away, MAX_PLAYER_NAME);
format(string, sizeof(string), "%s отошол не на долго!", away);
SendClientMessageToAll(COLOR_GREEN, string);
return 1;
}
if(strcmp(cmdtext, "/back", true) == 0)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,2402.1877,-1719.0936,13.6194);
TogglePlayerControllable(playerid,1);
new back[MAX_PLAYER_NAME];
GetPlayerName(playerid, back, MAX_PLAYER_NAME);
format(string, sizeof(string), "%s вернулся!", back);
SendClientMessageToAll(COLOR_GREEN, string);
return 1;
}
if(strcmp(cmd, "/ls", true) == 0) {
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
if(z > 966) {
SendPlayerFormattedText(playerid," Сначала выйди отсюда...",0);
SendPlayerFormattedText(playerid,"Get outta here first...",0);
}
else if(IsPlayerInAnyVehicle(playerid)) {
new car;
car = GetPlayerVehicleID(playerid);
SetVehiclePos(car,2460.8638,-1687.4751,13.5334);
SetVehicleZAngle(car,270.0000);
SetPlayerFacingAngle(playerid,270.0000);
SendPlayerFormattedText(playerid," Добро пожаловать в Лос Сантос!",0);
SendPlayerFormattedText(playerid,"Welcome to Los Santos!",0);
}
else {
SetPlayerPos(playerid,2460.8638,-1687.4751,13.5334);
SetPlayerFacingAngle(playerid,270.0000);
SetCameraBehindPlayer(playerid);
SendPlayerFormattedText(playerid," Добро пожаловать в Лос сантос!",0);
SendPlayerFormattedText(playerid,"Welcome to Los Santos!",0);
}return 1;
}
if(strcmp(cmd, "/sanf", true) == 0) {
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
if(z > 966) {
SendPlayerFormattedText(playerid," Сначала выйди отсюда...",0);
SendPlayerFormattedText(playerid,"Get outta here first...",0);
}
else if(IsPlayerInAnyVehicle(playerid)) {
new car;
car = GetPlayerVehicleID(playerid);
SetVehiclePos(car,-2016.7544,153.5285,27.6990);
SetVehicleZAngle(car,270.0000);
SetPlayerFacingAngle(playerid,270.0000);
SendPlayerFormattedText(playerid," Добро пожаловать в Cан Фиерро!",0);
SendPlayerFormattedText(playerid,"Welcome to San Fierro!",0);
}
else {
SetPlayerPos(playerid,-2016.7544,153.5285,27.6990);
SetPlayerFacingAngle(playerid,270.0000);
SetCameraBehindPlayer(playerid);
SendPlayerFormattedText(playerid," Добро пожаловать в Сан Фиерро!",0);
SendPlayerFormattedText(playerid,"Welcome to San Fierro!",0);
}return 1;
}
if(strcmp(cmd, "/lv", true) == 0) {
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
if(z > 966) {
SendPlayerFormattedText(playerid," Сначала выйди отсюда...",0);
SendPlayerFormattedText(playerid,"Get outta here first...",0);
}
else if(IsPlayerInAnyVehicle(playerid)) {
new car;
car = GetPlayerVehicleID(playerid);
SetVehiclePos(car,2028.0686,1011.4006,10.8203);
SetVehicleZAngle(car,270.0000);
SetPlayerFacingAngle(playerid,270.0000);
SendPlayerFormattedText(playerid," Добро пожаловать в Лас Вентурас!",0);
SendPlayerFormattedText(playerid,"Welcome to Las Venturas!",0);
}
else {
SetPlayerPos(playerid,2028.0686,1011.4006,10.8203);
SetPlayerFacingAngle(playerid,270.0000);
SetCameraBehindPlayer(playerid);
SendPlayerFormattedText(playerid," Добро пожаловать в Лас Вентурас!",0);
SendPlayerFormattedText(playerid,"Welcome to Las Venturas!",0);
}return 1;
}
if(strcmp(cmd, "/invisible", true) == 0) {
SetPlayerColor(playerid, playerTransparentColors[playerid]);
SendClientMessage(playerid, COLOR_WHITE, " Tы невидимка!");
return 1;
}
else if(strcmp(cmd, "/visible", true) == 0) {
SetPlayerColor(playerid, playerColors[playerid]);
SendClientMessage(playerid, COLOR_GREEN, " Теперь ты видемый!");
return 1;
}
if (strcmp(cmdtext, "/health", true)==0 && IsPlayerAdmin(playerid)==1)
{
if(GetPlayerMoney(playerid) > 1){
GivePlayerMoney(playerid, GetPlayerMoney(playerid) + 1);
SetPlayerHealth(playerid,100);
}
else{
SendClientMessage(playerid,COLOR_RED," Не достаточно денег.");
}
return 1;
}
if (strcmp(cmdtext, "/sound", true) == 0) {
new Float:X;
new Float:Y;
new Float:Z;
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid,1147, X, Y, Z);
return 1;
}
if(strcmp(cmdtext,"/clearchat",true)==0 && IsPlayerAdmin(playerid)==1) // Chat window is gone, fomg!
{
SendClientMessage(playerid,COLOR_GREY," ");
SendClientMessage(playerid,COLOR_GREY," ");
SendClientMessage(playerid,COLOR_GREY," ");
SendClientMessage(playerid,COLOR_GREY," ");
SendClientMessage(playerid,COLOR_GREY," ");
SendClientMessage(playerid,COLOR_GREY," ");
SendClientMessage(playerid,COLOR_GREY," ");
SendClientMessage(playerid,COLOR_GREY," ");
SendClientMessage(playerid,COLOR_GREY," ");
SendClientMessage(playerid,COLOR_GREY," ");
return 1;
}
if (strcmp(cmdtext, "/lock", true)==0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new State=GetPlayerState(playerid);
if(State!=PLAYER_STATE_DRIVER)
{
SendClientMessage(playerid,0xFFFF00AA," Ты не водитель.");
return 1;
}
new i;
for(i=0;i<MAX_PLAYERS;i++)
{
if(i != playerid)
{
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 1);
}
}
SendClientMessage(playerid, 0xFFFF00AA, " Машина закрыта!");
new Float:pX, Float:pY, Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
PlayerPlaySound(playerid,1056,pX,pY,pZ);
}
else
{
SendClientMessage(playerid, 0xFFFF00AA, " Ты не в машине!");
}
return 1;
}
if (strcmp(cmdtext, "/unlock", true)==0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new State=GetPlayerState(playerid);
if(State!=PLAYER_STATE_DRIVER)
{
SendClientMessage(playerid,0xFFFF00AA," Ты не водитель.");
return 1;
}
new i;
for(i=0;i<MAX_PLAYERS;i++)
{
SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i, 0, 0);
}
SendClientMessage(playerid, 0xFFFF00AA, " Машина открыта!");
new Float:pX, Float:pY, Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
PlayerPlaySound(playerid,1057,pX,pY,pZ);
}
else
{
SendClientMessage(playerid, 0xFFFF00AA, " Ты не в машине!");
}
return 1;
}
if(strcmp(cmd, "/bigfall", true) == 0) {
if(IsPlayerInAnyVehicle(playerid)) {
new Float:X;
new Float:Y;
new Float:Z;
new VehicleID;
GetPlayerPos(playerid, X, Y, Z);
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID, X, Y, Z + 800.00);
SetPlayerFacingAngle(playerid,Ang);
GivePlayerWeapon(playerid,46,1);
} else {
new Float:X;
new Float:Y;
new Float:Z;
GetPlayerPos(playerid, X, Y, Z);
SetPlayerPos(playerid, X, Y, Z + 800.00);
SetPlayerFacingAngle(playerid,Ang);
GivePlayerWeapon(playerid,46,1);
GameTextForPlayer(playerid, "~w~Weeeeeeeeeeeeeeeeee!!",8000,5);
}
return 1;
}
if(strcmp(cmd, "/startrace", true) == 0) {
new name[256];
name = strtok(cmdtext, idx);
if(fexist(name)){
new id;
new test[256];
new sost = 1;
while(id <= 9&&sost == 1){
test = racename[id];
if(checktext(name,test)){
sost = 0;}else{
id++;
}
}
if(sost == 0){
PlayerJoinRace(playerid,racenametoid(name));
}
if(sost == 1){
if(StartNewRace(name)>= 0){
PlayerJoinRace(playerid,racenametoid(name));
}
}
}else{
SendClientMessage(playerid, COLOR_RED, " Неправельное имя гонки!");
}
return 1;
}
if(strcmp(cmd, "/test", true) == 0) {
return 1;
}
if(strcmp(cmd, "/help", true) == 0) {
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
SendPlayerFormattedText(playerid,"Raicing all over San andreas.",0);
SendPlayerFormattedText(playerid," Введите /commands чтобы подробнее узнать о командах.", 0);
SendPlayerFormattedText(playerid," Введите /commandsadmins если вы админ :).", 0);
SendPlayerFormattedText(playerid," Введите /XCOMMANDS чтобы узнать о системе админестрации.",0);
SendPlayerFormattedText(playerid," Введите /raceinfo чтобы подробнее узнать о гонках",0);
SendPlayerFormattedText(playerid," Отдельное спасибо SAP Host за предоставленный хостинг!",0);
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
return 1;
}
if(strcmp(cmd, "/enghelp", true) == 0) {
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
SendPlayerFormattedText(playerid,"Raicing all over San andreas.",0);
SendPlayerFormattedText(playerid,"Type /engcommands to learn about accessible commands.", 0);
SendPlayerFormattedText(playerid,"Type /XCOMMANDS to learn about accessible admin comands.",0);
SendPlayerFormattedText(playerid,"Type /engraceinfo to learn about accessible races",0);
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
return 1;
}
if(strcmp(cmd, "/raceinfo", true) == 0) {
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
SendPlayerFormattedText(playerid," Введите /startrace (Имя гонки) чтобы начать гонку .",0);
SendPlayerFormattedText(playerid," Названия гонок:",0);
SendPlayerFormattedText(playerid,"lscs, lscanals, lssf, lvur, lvairport, megasprint,.",0);
SendPlayerFormattedText(playerid,"sels, sfairport, sfbridge, sfbridge2, sflsl, sflvl, sfur.",0);
SendPlayerFormattedText(playerid,"cont, clip, fr, rl, race, sanf.",0);
SendPlayerFormattedText(playerid," Также админ может зоздовать гонки.",0);
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
return 1;
}
if(strcmp(cmd, "/engraceinfo", true) == 0) {
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
SendPlayerFormattedText(playerid,"Type /startrace (Race name) to start the race .",0);
SendPlayerFormattedText(playerid,"Name of the races:",0);
SendPlayerFormattedText(playerid,"lscs, lscanals, lssf, lvur, lvairport, megasprint,.",0);
SendPlayerFormattedText(playerid,"sels, sfairport, sfbridge, sfbridge2, sflsl, sflvl, sfur.",0);
SendPlayerFormattedText(playerid,"cont, clip, fr, rl, race, sanf.",0);
SendPlayerFormattedText(playerid,"Also admin can create new races.",0);
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
return 1;
}
if(strcmp(cmd, "/Commandsadmins", true) == 0) {
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
SendPlayerFormattedText(playerid," Введите /clearchat для очистки чата .",0);
SendPlayerFormattedText(playerid," Введите /health для востановления здоровья",0);
SendPlayerFormattedText(playerid," Введите /raceadmin прежде чем создовать свою гонку.",0);
SendPlayerFormattedText(playerid," Введите /createrace чтобы создать свою гонку.",0);
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
return 1;
}
if(strcmp(cmd, "/Commands", true) == 0) {
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
SendPlayerFormattedText(playerid," Введите /lock или /unlock чтобы открыть или закрыть двери.",0);
SendPlayerFormattedText(playerid," Введите /away чтобы предупредить всех о том что вы отошли",0);
SendPlayerFormattedText(playerid," Введите /back чтобы все знали что вы вернулись.",0);
SendPlayerFormattedText(playerid," Введите /sound чтобы бибикнуть",0);
SendPlayerFormattedText(playerid," Введите /givecash чтобы послать деньги",0);
SendPlayerFormattedText(playerid," Введите /invisible или /visible чтобу стать невидемым/видемым",0);
SendPlayerFormattedText(playerid," Введите /teleports чтобы узнать о командах телепорта", 0);
SendPlayerFormattedText(playerid," Введите /me для указания того что вы делайте ",0);
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
return 1;
}
if(strcmp(cmd, "/teleports", true) == 0) {
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
SendPlayerFormattedText(playerid," Введите /ls чтобы попасть в Лос Сантос",0);
SendPlayerFormattedText(playerid," Введите /sanf чтобы попасть в Сан Фиерро",0);
SendPlayerFormattedText(playerid," Введите /lv чтобы попасть в Лас Вентурас",0);
SendPlayerFormattedText(playerid," Введите /bigfall чтобы упасть с 500 футовой высоты над вашим текущим местоположением", 0);
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
return 1;
}
if(strcmp(cmd, "/engteleports", true) == 0) {
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
SendPlayerFormattedText(playerid,"Type /ls for teleport in Los Santos",0);
SendPlayerFormattedText(playerid,"Type /sanf for teleport in San Fierro",0);
SendPlayerFormattedText(playerid,"Type /lv for teleport in Las Venturas",0);
SendPlayerFormattedText(playerid,"Type /bigfall for fly from 500ft", 0);
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
return 1;
}
if(strcmp(cmd, "/engcommands", true) == 0) {
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
SendPlayerFormattedText(playerid,"Type /lock or /unlock for lock/unlock doors of your car .",0);
SendPlayerFormattedText(playerid,"Type /away if you AFK",0);
SendPlayerFormattedText(playerid,"Type /back if you back.",0);
SendPlayerFormattedText(playerid,"Type /sound for to play a sound.",0);
SendPlayerFormattedText(playerid,"Type /givecash to send money",0);
SendPlayerFormattedText(playerid,"Type /invisible or /visible to be invisible/visible",0);
SendPlayerFormattedText(playerid,"Type /engteleports if you need more details about teleports commands", 0);
SendPlayerFormattedText(playerid," ---------------------------------------------------------.",0);
return 1;
}
if(strcmp(cmd, "/givecash", true) == 0) {
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, " Пример: /givecash [playerid] [amount]");
SendClientMessage(playerid, COLOR_WHITE, " SYNTAX: /givecash [playerid] [amount]");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, " Пример: /givecash [playerid] [amount]");
SendClientMessage(playerid, COLOR_WHITE, "SYNTAX: /givecash [playerid] [amount]");
return 1;
}
moneys = strval(tmp);
//printf("givecash_command: %d %d",giveplayerid,moneys);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys) {
GivePlayerMoney(playerid, (0 - moneys));
GivePlayerMoney(giveplayerid, moneys);
format(string, sizeof(string), " Вы отправили %s(игроку: %d), $%d.", giveplayer,giveplayerid, moneys);
format(string, sizeof(string), "You send %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "You received $%d from %s(player: %d).", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
printf("%s(playerid:%d) send %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
}
else {
SendClientMessage(playerid, COLOR_YELLOW, "Wrong number.");
}
}
else {
format(string, sizeof(string), "%d не играет.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
// PROCESS OTHER COMMANDS
return 0;
}
//------------------------------------------------------------------------------------------------------
public OnPlayerSpawn(playerid)
{
GivePlayerMoney(playerid, PocketMoney);
SetPlayerInterior(playerid,0);
SetPlayerRandomSpawn(playerid);
SetPlayerColor(playerid, playerColors[playerid]);
return 1;
}
public SetPlayerRandomSpawn(playerid)
{
if (iSpawnSet[playerid] == 1)
{
new rand = random(sizeof(gCopPlayerSpawns));
SetPlayerPos(playerid, gCopPlayerSpawns[rand][0], gCopPlayerSpawns[rand][1], gCopPlayerSpawns[rand][2]); // Warp the player
SetPlayerFacingAngle(playerid, 270.0);
}
else if (iSpawnSet[playerid] == 0)
{
new rand = random(sizeof(gRandomPlayerSpawns));
SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); // Warp the player
}
return 1;
}
//------------------------------------------------------------------------------------------------------
public OnPlayerDeath(playerid, killerid, reason)
{
new playercash;
if(killerid == INVALID_PLAYER_ID) {
SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
ResetPlayerMoney(playerid);
} else {
SendDeathMessage(killerid,playerid,reason);
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
playercash = GetPlayerMoney(playerid);
if (playercash > 0) {
GivePlayerMoney(killerid, playercash);
ResetPlayerMoney(playerid);
}
else
{
}
}
return 1;
}
/* public OnPlayerDeath(playerid, killerid, reason)
{ haxed by teh mike
new name[MAX_PLAYER_NAME];
new string[256];
new deathreason[20];
new playercash;
GetPlayerName(playerid, name, sizeof(name));
GetWeaponName(reason, deathreason, 20);
if (killerid == INVALID_PLAYER_ID) {
switch (reason) {
case WEAPON_DROWN:
{
format(string, sizeof(string), "*** %s drowned.)", name);
}
default:
{
if (strlen(deathreason) > 0) {
format(string, sizeof(string), "*** %s died. (%s)", name, deathreason);
} else {
format(string, sizeof(string), "*** %s died.", name);
}
}
}
}
else {
new killer[MAX_PLAYER_NAME];
GetPlayerName(killerid, killer, sizeof(killer));
if (strlen(deathreason) > 0) {
format(string, sizeof(string), "*** %s killed %s. (%s)", killer, name, deathreason);
} else {
format(string, sizeof(string), "*** %s killed %s.", killer, name);
}
}
SendClientMessageToAll(COLOR_RED, string);
{
playercash = GetPlayerMoney(playerid);
if (playercash > 0)
{
GivePlayerMoney(killerid, playercash);
ResetPlayerMoney(playerid);
}
else
{
}
}
return 1;
}*/
//------------------------------------------------------------------------------------------------------
public OnPlayerRequestClass(playerid, classid)
{
if(classid == 0 || classid == 1 || classid == 2 || classid == 3 || classid == 4 || classid == 5 || classid == 6)
{
iSpawnSet[playerid] = 1;
}
else
{
iSpawnSet[playerid] = 0;
}
SetupPlayerForClassSelection(playerid);
return 1;
}
public SetupPlayerForClassSelection(playerid)
{
SetPlayerInterior(playerid,14);
SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
SetPlayerFacingAngle(playerid, 270.0);
SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
}
public GameModeExitFunc()
{
GameModeExit();
}
public OnGameModeInit()
{
SetGameModeText("Racing script 0.2b");
ShowPlayerMarkers(1);
ShowNameTags(1);
// Player Class's
AddPlayerClassEx(0,105,2494.8337,-1687.3263,13.5147,0.0,24,500,31,500,29,180); // Grove
AddPlayerClassEx(1,102,2095.3533,-1145.2101,26.5929,90.0,24,500,31,500,29,180); // Ballas
AddPlayerClassEx(2,114,1685.2394,-2102.5601,13.5543,180.0,24,500,31,500,29,180); // Varrios
AddPlayerClassEx(3,108,2730.9685,-1831.5707,11.4745,170.0,24,500,31,500,29,180); // Vagos
AddPlayerClassEx(4,117,-2158.0928,655.7538,52.3707,270.0,24,500,31,500,29,180); // Triad
AddPlayerClassEx(5,173,-2627.2009,1407.8497,7.0938,230.0,24,500,31,500,29,180); // Rifa
AddPlayerClassEx(6,121,-1586.2576,40.5064,17.3358,315.0,24,500,31,500,29,180); // Da Nang Boy
AddPlayerClassEx(7,280,2297.0176,2451.3623,10.8203,100.0,24,500,31,500,29,180); // Police
AddPlayerClassEx(8,163,2193.4041,1676.9398,12.3672,90.0,24,500,31,500,29,180); // Leones
AddPlayerClassEx(9,287,213.2122,1876.4629,13.1406,0.0,24,500,31,500,29,180); // Millitary
// Car Spawns
// Vehicle Spawn
//groove
AddStaticVehicle(538,1752.1652,-1953.7791,14.8756,269.9382,1,1); //
AddStaticVehicle(402,2085.5286,-1194.5800,23.6004,92.4156,5,5); //
AddStaticVehicle(411,2511.0706,-1672.3441,13.2267,345.0,16,16); // 1
AddStaticVehicle(411,2473.3000,-1697.2832,13.2442,359.3442,16,16); //
AddStaticVehicle(412,2443.6106,-1645.0681,13.1968,179.0919,16,16); //
AddStaticVehicle(412 ,2404.0142,-1642.5394,13.2739,180.2181,16,16); //
AddStaticVehicle(415,2426.5190,-1638.3356,13.1819,221.4290,16,16); //
AddStaticVehicle(415,2298.3774,-1634.5178,14.3418,208.8871,16,16); //
AddStaticVehicle(429,2271.6147,-1643.1346,15.0188,178.4411,16,16); //
AddStaticVehicle(429,2236.7881,-1637.3652,15.2593,159.2014,16,16); //
AddStaticVehicle(434,2329.0554,-1677.3839,14.1475,270.0533,16,16); //
AddStaticVehicle(451,2377.1003,-1927.9526,13.7334,359.7440,16,16); // 10
AddStaticVehicle(451,2172.5720,-1670.4357,15.4233,309.3615,16,16); //
AddStaticVehicle(471,2062.3091,-1903.2581,13.8960,179.5883,16,16); //
AddStaticVehicle(474,2096.3545,-1800.1742,13.7376,89.3299,16,16); //
AddStaticVehicle(477,2067.6787,-1694.2869,13.9012,270.2635,16,16); //
AddStaticVehicle(481,1936.4944,-1571.7502,13.9427,182.1543,16,16); //
AddStaticVehicle(508,2015.5929,-1707.5674,13.1719,88.5278,16,16); //
AddStaticVehicle(522,2530.7070,-2008.3711,13.1720,118.3724,16,16); //
AddStaticVehicle(541,2434.6963,-2100.4607,13.1714,28.8492,16,16); //
AddStaticVehicle(567,2610.8259,-2238.2141,13.1653,57.4003,16,16); //
AddStaticVehicle(602,2721.3938,-2405.7874,13.0860,87.4526,16,16); // 20
// Ballas
AddStaticVehicle(402,1954.2985,-1157.3312,20.7493,90.9907,5,5); // 1
AddStaticVehicle(411,1996.5847,-1275.1052,23.5567,179.3485,5,5); //
AddStaticVehicle(415,2085.5286,-1194.5800,23.6004,92.4156,5,5); //
AddStaticVehicle(415,2083.8167,-1170.0155,24.1319,89.3909,5,5); //
AddStaticVehicle(429,2051.3804,-1121.5339,24.2937,179.4293,5,5); //
AddStaticVehicle(451,2089.4873,-1261.0068,23.7729,90.3048,5,5); //
AddStaticVehicle(451,2102.5933,-1274.5662,25.2724,179.5892,5,5); //
AddStaticVehicle(461,2096.1055,-1316.5856,24.4537,359.2013,5,5); //
AddStaticVehicle(467,2137.4973,-1282.4109,24.7203,178.2747,5,5); //
AddStaticVehicle(471,2196.7434,-1284.2579,24.0714,180.9758,5,5); // 10
AddStaticVehicle(477,2225.9309,-1328.8036,23.7662,152.6810,5,5); //
AddStaticVehicle(480,1998.2502,-1317.3085,22.0014,179.2567,5,5); //
AddStaticVehicle(481,1877.8019,-1362.2816,14.4224,179.6212,5,5); //
AddStaticVehicle(481,2391.5991,-1487.5693,23.5483,270.6651,5,5); //
AddStaticVehicle(481,2315.9009,-1530.2844,25.0639,301.2186,5,5); //
AddStaticVehicle(508,2322.6960,-1450.9675,20.7251,358.7891,5,5); //
AddStaticVehicle(522,2189.9624,-1465.7899,25.2609,268.9864,5,5); //
AddStaticVehicle(602,2130.8291,-1491.5183,23.5330,359.6362,5,5); //
AddStaticVehicle(602,2350.1077,-1595.9366,22.9965,0.9656,5,5); //
AddStaticVehicle(603,1903.6066,-1625.6567,13.1416,270.5156,5,5); // 20
// Varrios
AddStaticVehicle(402,1834.7645,-1871.5505,13.0475,1.0172,7,7); // 1
AddStaticVehicle(411,1798.0601,-1933.3829,13.0546,359.7202,7,7); //
AddStaticVehicle(411,1732.6206,-1750.9635,13.6074,267.5924,7,7); //
AddStaticVehicle(412 ,1792.4584,-1864.0472,13.6666,0.8031,7,7); //
AddStaticVehicle(412 ,1911.4008,-1766.0862,13.4751,0.2203,7,7); //
AddStaticVehicle(429,1981.0421,-1995.0359,13.6463,0.3472,7,7); //
AddStaticVehicle(434,1931.2611,-2067.3394,13.6392,90.2177,7,7); //
AddStaticVehicle(434,1906.7015,-2018.9614,13.6392,358.9063,7,7); //
AddStaticVehicle(451,1762.1198,-2061.4263,13.6944,254.9939,7,7); //
AddStaticVehicle(451,1794.2716,-2120.7271,13.6463,359.0607,7,7); // 10
AddStaticVehicle(461,1772.9528,-2098.3706,13.6392,179.7007,7,7); //
AddStaticVehicle(467,1724.7622,-2099.6172,13.6391,180.0192,7,7); //
AddStaticVehicle(471,1664.7994,-2114.5186,13.6392,296.0936,7,7); //
AddStaticVehicle(474,1560.4167,-2251.0444,13.6399,90.8489,7,7); //
AddStaticVehicle(535,1539.6766,-2361.4814,13.6470,1.0724,7,7); //
AddStaticVehicle(549,1134.1930,-2037.1962,69.1001,0.6951,7,7); //
AddStaticVehicle(567,1556.6239,-1790.2694,13.6393,359.7568,7,7); //
AddStaticVehicle(602,1698.6650,-2094.2361,13.3177,179.4747,7,7); //
AddStaticVehicle(603,1705.3331,-2128.8706,13.3178,0.0861,7,7); //
AddStaticVehicle(603,1938.6859,-2086.4724,13.3335,270.1394,7,7); // 20
// Vagos
AddStaticVehicle(402,2657.6633,-1797.0994,8.9251,271.8175,6,6); // 1
AddStaticVehicle(411,2663.4729,-1834.2184,8.9390,291.0778,6,6); //
AddStaticVehicle(412 ,2706.8704,-1843.4850,9.1205,158.9486,6,6); //
AddStaticVehicle(429,2742.7363,-1875.9182,9.2649,0.9980,6,6); //
AddStaticVehicle(434,2776.1387,-1839.1733,9.3994,201.1358,6,6); //
AddStaticVehicle(461,2810.1821,-1822.3431,9.5494,88.2246,6,6); //
AddStaticVehicle(467,2831.4692,-1694.8787,9.6282,72.9313,6,6); //
AddStaticVehicle(467,2813.0349,-1671.3529,9.5649,179.1280,6,6); //
AddStaticVehicle(471,2821.5540,-1548.5160,10.8163,90.3384,6,6); //
AddStaticVehicle(474,2804.3892,-1441.3856,16.1357,193.6773,6,6); // 10
AddStaticVehicle(477,2805.7202,-1439.5631,39.9404,178.7636,6,6); //
AddStaticVehicle(508,2757.9182,-1944.3907,13.4466,273.2907,6,6); //
AddStaticVehicle(541,2784.8477,-2021.0326,13.4535,1.1056,6,6); //
AddStaticVehicle(541,2750.9260,-2080.4844,12.4514,32.4752,6,6); //
AddStaticVehicle(549,2754.2859,-1378.8489,36.7298,88.1615,6,6); //
AddStaticVehicle(567,2705.0115,-1275.7405,57.7801,314.7381,6,6); //
AddStaticVehicle(602,2752.9253,-1176.8792,69.2986,90.4589,6,6); //
AddStaticVehicle(602,2325.5049,-1243.6862,22.3965,269.6014,6,6); //
AddStaticVehicle(603,2147.5706,-1180.7007,23.7146,269.5149,6,6); //
AddStaticVehicle(603,2161.3853,-1144.2428,24.6890,90.1475,6,6); // 20}
// Triad
AddStaticVehicle(402,-2160.0520,650.0266,51.9848,358.2317,0,0); // 1
AddStaticVehicle(411,-2125.1897,658.6256,52.1969,93.7947,0,0); //
AddStaticVehicle(429,-2153.9395,716.6980,69.2896,181.0278,0,0); //
AddStaticVehicle(461,-2153.8486,584.8267,37.3381,359.0038,0,0); //
AddStaticVehicle(471,-2183.1584,606.8737,34.8929,74.3181,0,0); //
AddStaticVehicle(475,-2212.4238,617.7517,34.8911,178.3585,0,0); //
AddStaticVehicle(508,-2206.5601,679.3579,49.1646,180.4676,0,0); //
AddStaticVehicle(522,-2207.2734,628.1985,49.1653,356.9910,0,0); //
AddStaticVehicle(522,-2095.6738,713.7725,69.2896,178.4648,0,0); //
AddStaticVehicle(589,-1980.7981,429.1391,24.7095,2.1240,0,0); // 10
AddStaticVehicle(589,-2307.1941,729.4024,49.1707,90.1823,0,0); //
AddStaticVehicle(541,-2131.5771,181.9307,34.9184,271.3169,0,0); //
AddStaticVehicle(558,-2035.8506,174.5800,28.5630,357.8284,0,0); //
AddStaticVehicle(558,-1949.2273,258.8652,40.7774,63.3550,0,0); //
AddStaticVehicle(559,-1944.9830,271.7980,40.7773,132.4681,0,0); //
AddStaticVehicle(559,-1950.9312,259.8246,35.1973,54.3575,0,0); //
AddStaticVehicle(560,-1966.3383,137.8016,27.4163,90.8835,0,0); //
AddStaticVehicle(562,-2264.9558,192.5807,34.8911,89.8525,0,0); //
AddStaticVehicle(562,-2410.9897,329.2556,34.6958,147.6938,0,0); //
AddStaticVehicle(565,-2057.7781,228.8418,35.3034,183.4980,0,0); // 20
// Rifa
AddStaticVehicle(402,-2645.7764,1332.9199,6.8967,270.0864,10,10); // 1
AddStaticVehicle(411,-2645.1843,1379.2682,6.9466,269.6435,10,10); //
AddStaticVehicle(429,-2617.3955,1345.4285,6.9771,0.7234,10,10); //
AddStaticVehicle(434,-2518.1426,1396.4653,6.9693,268.2816,10,10); //
AddStaticVehicle(461,-2473.8054,1314.4774,15.0398,267.7490,10,10); //
AddStaticVehicle(461,-2522.1428,1229.4055,37.2101,215.0523,10,10); //
AddStaticVehicle(471,-2512.7444,1205.4371,37.2037,269.7688,10,10); //
AddStaticVehicle(471,-2568.2361,1146.5933,55.5084,159.7118,10,10); //
AddStaticVehicle(475,-2668.4382,1467.5214,6.9693,270.3562,10,10); //
AddStaticVehicle(506,-2899.9768,1161.7345,13.2521,271.9518,10,10); // 10
AddStaticVehicle(602,-2894.6367,1070.1356,31.4620,269.7186,10,10); //
AddStaticVehicle(402,-2818.9644,1075.5442,27.5257,1.7581,10,10); //
AddStaticVehicle(402,-2805.2976,1170.3589,18.9165,263.0057,10,10); //
AddStaticVehicle(411,-2153.6038,1227.4850,33.7500,270.1483,10,10); //
AddStaticVehicle(411,-1979.8710,1225.9148,31.4663,95.0639,10,10); //
AddStaticVehicle(415,-1856.4308,1426.0594,6.9981,172.7177,10,10); //
AddStaticVehicle(415,-1703.9082,1370.6780,6.9968,45.0552,10,10); //
AddStaticVehicle(439,-1661.2917,1214.0145,7.0675,282.0697,10,10); //
AddStaticVehicle(439,-1661.8395,1210.0150,21.1563,313.3948,10,10); //
AddStaticVehicle(439,-1706.6305,1221.6804,29.8920,357.0593,10,10); // 20
// Da Nang Boy
AddStaticVehicle(402,-1593.6578,49.8185,17.0948,313.4933,3,3); // 1
AddStaticVehicle(411,-1577.4628,33.7017,17.0947,7.0116,3,3); //
AddStaticVehicle(429,-1482.4243,141.9665,18.7734,89.8411,3,3); //
AddStaticVehicle(434,-1515.2684,108.0434,17.0948,56.5748,3,3); //
AddStaticVehicle(461,-1544.9886,124.6858,3.3922,133.1510,3,3); //
AddStaticVehicle(471,-1624.3514,146.0115,-7.3935,135.0009,3,3); //
AddStaticVehicle(522,-1705.3956,2.7556,3.3892,325.6536,3,3); //
AddStaticVehicle(522,-1718.8303,14.4570,3.4317,284.7556,3,3); //
AddStaticVehicle(589,-1671.8347,-7.8881,3.3903,45.7057,3,3); //
AddStaticVehicle(589,-1693.5857,-36.1624,3.3928,42.6544,3,3); // 10
AddStaticVehicle(560,-1688.9467,-105.4865,3.3934,40.7605,3,3); //
AddStaticVehicle(402,-1721.3584,-122.7660,3.3869,45.1083,3,3); //
AddStaticVehicle(411,-1678.9474,422.2829,7.0178,134.4716,3,3); //
AddStaticVehicle(415,-1528.9432,486.5542,7.0178,1.4889,3,3); //
AddStaticVehicle(589,-1839.8505,-12.8696,14.9558,269.2632,3,3); //
AddStaticVehicle(589,-1764.1281,-170.6011,3.3929,325.5325,3,3); //
AddStaticVehicle(565,-1811.7833,-139.7660,6.0912,1.8642,3,3); //
AddStaticVehicle(565,-1883.6063,-201.3599,15.8763,268.8539,3,3); //
AddStaticVehicle(475,-1975.2935,174.3101,27.5253,89.2328,3,3); //
AddStaticVehicle(475,-1918.4534,295.7694,40.8842,177.4945,3,3); // 20
// Police
AddStaticVehicle(402,2282.4290,2442.5703,10.4082,358.8146,0,1); // 1
AddStaticVehicle(411,2256.2878,2477.8113,10.4081,178.1515,0,1); //
AddStaticVehicle(415,2201.4097,2471.6169,10.4081,175.0816,0,1); //
AddStaticVehicle(415,2385.4373,2469.3020,10.4094,178.5469,0,1); //
AddStaticVehicle(429,2360.9275,2398.4810,10.4074,359.6178,0,1); //
AddStaticVehicle(439,2414.0205,2392.3489,10.4057,270.2823,0,1); //
AddStaticVehicle(439,2127.0518,2371.6733,10.4080,139.1733,0,1); //
AddStaticVehicle(471,2192.0410,2502.4272,10.3987,181.3236,0,1); //
AddStaticVehicle(475,2298.8450,2460.0020,2.8499,271.5228,0,1); //
AddStaticVehicle(522,2268.1130,2473.3088,2.8606,355.0423,0,1); // 10
AddStaticVehicle(560,2229.2988,2462.2476,-7.8635,231.4320,0,1); //
AddStaticVehicle(560,2277.2761,2473.2703,-7.8767,357.2464,0,1); //
AddStaticVehicle(402,2314.0347,2355.4065,10.4337,131.0480,0,1); //
AddStaticVehicle(402,2444.4609,2289.9016,10.5885,89.5112,0,1); //
AddStaticVehicle(411,2437.6101,2376.2678,10.5893,177.7538,0,1); //
AddStaticVehicle(415,2509.7583,2512.6001,10.5907,90.8923,0,1); //
AddStaticVehicle(522,2460.3118,2529.4822,21.6433,357.6746,0,1); //
AddStaticVehicle(522,2525.1323,2368.4497,3.9789,269.7834,0,1); //
AddStaticVehicle(471,2057.4485,2479.6035,10.7113,178.4415,0,1); //
AddStaticVehicle(471,2104.6890,2404.6619,15.0107,272.0666,0,1); // 20
// Leones
AddStaticVehicle(402,2187.5835,1676.1075,11.0024,178.8692,11,11); // 1
AddStaticVehicle(411,2310.2605,1686.6750,10.4764,184.1916,11,11); //
AddStaticVehicle(415,2289.5957,1563.7983,10.4767,220.9178,11,11); //
AddStaticVehicle(429,2171.1326,1568.4297,10.4766,91.4295,11,11); //
AddStaticVehicle(439,2074.5515,1679.6116,10.3282,2.6004,11,11); //
AddStaticVehicle(471,2117.8235,1790.2472,10.3282,334.5344,11,11); //
AddStaticVehicle(542,2207.8320,1787.4207,10.4766,2.1320,11,11); //
AddStaticVehicle(542,2167.6982,1800.0840,10.4767,179.2204,11,11); //
AddStaticVehicle(402,2148.7410,1812.5338,10.4767,243.1523,11,11); // 10
AddStaticVehicle(402,1872.1656,1989.4192,7.2509,181.1361,11,11); //
AddStaticVehicle(402,2103.5046,2066.3633,10.4767,91.0233,11,11); //
AddStaticVehicle(402,1945.6732,2067.5676,10.4766,359.7643,11,11); //
AddStaticVehicle(411,2104.0540,2079.1438,10.4767,90.9541,11,11); //
AddStaticVehicle(411,2000.6991,1540.4050,13.2656,2.2410,11,11); //
AddStaticVehicle(411,2208.1553,1287.0316,10.5000,38.4213,11,11); //
AddStaticVehicle(415,2331.9812,1412.1627,10.4999,91.5221,11,11); //
AddStaticVehicle(562,2299.0894,1517.5955,16.8984,181.0582,11,11); // 20
AddStaticVehicle(562,2039.5123,1008.9386,10.3516,179.3720,11,11); //
AddStaticVehicle(477,2162.3015,1019.4582,10.5000,90.0848,11,11); //
AddStaticVehicle(508,2131.4783,1142.2301,13.1878,61.0067,11,11); // 25
// Military
AddStaticVehicle(402,204.0224,1862.7463,13.2329,0.9529,123,123); // 1
AddStaticVehicle(411,221.9049,1854.7625,13.0017,83.6844,123,123); //
AddStaticVehicle(429,216.5410,1912.5264,17.7330,95.5712,123,123); //
AddStaticVehicle(429,126.6014,1876.4489,17.9283,356.7805,123,123); //
AddStaticVehicle(439,164.4103,1831.9124,17.7404,225.7463,123,123); //
AddStaticVehicle(439,270.0884,1883.8903,17.5680,72.2450,123,123); //
AddStaticVehicle(471,280.4372,1821.1965,17.7330,89.3907,123,123); //
AddStaticVehicle(542,14.5672,1744.1843,17.6592,93.9979,123,123); //
AddStaticVehicle(542,291.2132,1821.4076,17.7330,2.4985,123,123); //
AddStaticVehicle(402,283.1913,1953.3414,17.7330,333.3184,123,123); // 10
AddStaticVehicle(402 ,279.4525,1988.9608,17.7329,324.2308,123,123); //
AddStaticVehicle(411,281.4107,2023.1282,17.7329,315.1505,123,123); //
AddStaticVehicle(411,183.8120,2079.2166,22.7346,220.4417,123,123); //
AddStaticVehicle(415,282.6017,1794.1698,17.7329,280.7184,123,123); //
AddStaticVehicle(562,104.6859,1934.9310,18.5766,161.0107,123,123); //
AddStaticVehicle(562,-84.5359,1221.1758,19.5479,179.1635,123,123); //
AddStaticVehicle(477,-44.5122,1166.5894,19.3618,359.5399,123,123); //
AddStaticVehicle(461,-22.9767,2329.5803,23.9429,306.8320,123,123); //
AddStaticVehicle(508,323.2498,2541.0837,16.6129,181.9801,123,123); //
AddStaticVehicle(508,292.4670,2539.1501,16.6250,181.6758,123,123); // 20
SetTimer("MoneyGrubScoreUpdate", 1000, 1);
//SetTimer("GameModeExitFunc", gRoundTime, 0);
return 1;
}
public SendPlayerFormattedText(playerid, const str[], define)
{
new tmpbuf[256];
format(tmpbuf, sizeof(tmpbuf), str, define);
SendClientMessage(playerid, 0xFFFF00AA, tmpbuf);
}
public SendAllFormattedText(playerid, const str[], define)
{
new tmpbuf[256];
format(tmpbuf, sizeof(tmpbuf), str, define);
SendClientMessageToAll(0xFFFF00AA, tmpbuf);
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
//RACE TOOLS
split(const strsrc[], strdest[][], delimiter)
{
new i, li;
new aNum;
new len;
while(i <= strlen(strsrc)){
if(strsrc[i]==delimiter || i==strlen(strsrc)){
len = strmid(strdest[aNum], strsrc, li, i, 128);
strdest[aNum][len] = 0;
li = i+1;
aNum++;
}
i++;
}
return 1;
}
public checktext(text1[],text2[]){
new maxsize = 256;
new i;
new sost =1;
new b = 0;
while(i < maxsize , sost != 0, b == 0, i < 250){
if(text1[i] == 0, text2[i] == 0 ){b = 1; }
if(text1[i] == text2[i]){
i++;
}else{
sost = 0;
i = 250;
}
}
return sost;
}
public racenametoid(name[]){
new id;
//new sost;
while((!checktext(name,racename[id]))&&(id <= 9)){ id++;
}
return id;
}
public StartNewRace(name[256]){
new sost =1;
new id;
while((freeraceidcheck[id] != 0)&&(id<=9)){
id++;
}
if(id >= 9){ id = -1; sost = 0;}
if((freeraceidcheck[id] == 0)&&(sost == 1)){
racename[id] = name;
new text[256];
format(text, sizeof(text), "Race started '' %s ''",name);
SendClientMessageToAll( COLOR_GREEN,text);
freeraceidcheck[id] = 1;
}
new line = 1;
while(line <= 256){
new linebuf[256];
if(linebuf[0]== 0 ){
maxCP[id] = line - 2;
line = 257;}
else if(line == 1){
prizemoney[id] = strval(linebuf);
}
else{
new splitbuf[10][256];
split(linebuf, splitbuf, ' ');
RCPx[line - 1][id] = floatstr(splitbuf[0]);
RCPy[line - 1][id] = floatstr(splitbuf[1]);
RCPz[line - 1][id] = floatstr(splitbuf[2]);
if(line == 2){
RCPx2[line - 1][id] = floatstr(splitbuf[3]);
RCPy2[line - 1][id] = floatstr(splitbuf[4]);
RCPz2[line - 1][id] = floatstr(splitbuf[5]);
}
}
line++;
SendClientMessage(0, COLOR_GREEN, "line readed!");
}
return id;
}
public PlayerJoinRace(playerid,raceid2){
switch(drivercheck[raceid2]){
case 1:{driver1id[raceid2] = playerid;
SendClientMessage(playerid, COLOR_GREEN, "You join the race!");
drivercheck[raceid2] = 2;
playerraceid[playerid] = raceid2;
PlayerRaceStatus[playerid] = 0;
UpdatePlayerRaceCP(playerid,playerraceid[playerid]);
}
case 2:{driver2id[raceid2] = playerid;
drivercheck[raceid2] =-1;
SendClientMessage(playerid, COLOR_GREEN, "You join the race!");
playerraceid[playerid] = raceid2;
PlayerRaceStatus[playerid] = 0;
UpdatePlayerRaceCP(playerid,playerraceid[playerid]);
}
case -1:{SendClientMessage(playerid, COLOR_RED, "This race has already started!You can`t join it!");}
}
}
public OnPlayerEnterCheckpoint(playerid){
if(playerraceid[playerid] != -1){
if(IsPlayerInAnyVehicle(playerid)){
UpdatePlayerRaceCP(playerid,playerraceid[playerid]);
printf("Player id %s enter race checkpoint!",playerid);
}else{SendClientMessage(playerid, COLOR_RED, "You must be in a vehicle!");}
}
}
new filebuf2[256];
public Freadstr2 (filename[] , stringnum ) {
new File: fo = fopen(filename,io_read);
//new somevariable[256];
new loops;
while (loops < stringnum){
fread(fo, filebuf2);
loops = loops +1; }
}
public UpdatePlayerRaceCP(playerid,raceid){
if(PlayerRaceStatus[playerid] == 0){
if(driver1id[raceid] == playerid){
SetPlayerCheckpoint(playerid,RCPx[1][raceid],RCPy[1][raceid],RCPz[1][raceid],5.0);
PlayerRaceStatus[playerid] ++;
}
if(driver2id[raceid] == playerid){
SetPlayerCheckpoint(playerid,RCPx2[1][raceid],RCPy2[1][raceid],RCPz2[1][raceid],5.0);
PlayerRaceStatus[playerid] ++;
}
}
else if(PlayerRaceStatus[playerid]== 1){
SetPlayerCheckpoint(playerid,RCPx[PlayerRaceStatus[playerid] +1][raceid],RCPy[PlayerRaceStatus[playerid] +1 ][raceid],RCPz[PlayerRaceStatus[playerid] + 1][raceid],10.0);
PlayerRaceStatus[playerid] ++;
if(startcheck[raceid] == 0){SendClientMessage(playerid, COLOR_GREEN, "Waiting for opponent.");
TogglePlayerControllable(playerid,0);
startcheck[raceid] = 1;
}
else if(startcheck[raceid] == 1){
TogglePlayerControllable(playerid,0);
SetTimer("StartRace",2500,0);
raceidtimer = raceid;
}
}
else if((PlayerRaceStatus[playerid] > 1)&&(PlayerRaceStatus[playerid] < maxCP[raceid])){
SetPlayerCheckpoint(playerid,RCPx[PlayerRaceStatus[playerid] +1][raceid],RCPy[PlayerRaceStatus[playerid] +1 ][raceid],RCPz[PlayerRaceStatus[playerid] + 1][raceid],10.0);
PlayerRaceStatus[playerid] ++;
}
else if(PlayerRaceStatus[playerid] == maxCP[raceid]){
GivePlayerMoney(playerid,prizemoney[raceid]);
DisablePlayerCheckpoint(driver1id[raceid]);
DisablePlayerCheckpoint(driver2id[raceid]);
if(playerid == driver1id[raceid]){
GameTextForPlayer(driver1id[raceid],"YOU WIN!",500,5);
GameTextForPlayer(driver2id[raceid],"YOU LOSE!",500,5);
}
if(playerid == driver2id[raceid]){
GameTextForPlayer(driver2id[raceid],"YOU WIN!",500,5);
GameTextForPlayer(driver1id[raceid],"YOU LOSE!",500,5);
}
PlayerRaceStatus[driver1id[raceid]] = -1;
PlayerRaceStatus[driver2id[raceid]] = -1;
playerraceid[driver1id[raceid]] = -1;
playerraceid[driver2id[raceid]] = -1;
racename[raceid][0] = 0;
racename[raceid][1] = 0;
racename[raceid][2] = 0;
racename[raceid][3] = 0;
racename[raceid][4] = 0;
racename[raceid][5] = 0;
racename[raceid][6] = 0;
racename[raceid][7] = 0;
racename[raceid][8] = 0;
racename[raceid][9] = 0;
racename[raceid][10] = 0;
racename[raceid][11] = 0;
racename[raceid][12] = 0;
racename[raceid][13] = 0;
freeraceidcheck[raceid] = 0;
driver1id[raceid] = -1;
driver2id[raceid] = -1;
drivercheck[raceid] =1;
prizemoney[raceid] = 0;
maxCP[raceid] = 0;
raceidtimer = -1;
startcheck[raceid] = 0;
}
return 1;
}
public StartRace(){
if(startcheck[raceidtimer] == 1){
GameTextForPlayer(driver1id[raceidtimer],"3",500,5);
GameTextForPlayer(driver2id[raceidtimer],"3",500,5);
startcheck[raceidtimer] = 2;
SetTimer("StartRace",2000,0);
}else if(startcheck[raceidtimer] == 2){
GameTextForPlayer(driver1id[raceidtimer],"2",500,5);
GameTextForPlayer(driver2id[raceidtimer],"2",500,5);
startcheck[raceidtimer] = 3;
SetTimer("StartRace",2000,0);
}else if(startcheck[raceidtimer] == 3){
GameTextForPlayer(driver1id[raceidtimer],"1",500,5);
GameTextForPlayer(driver2id[raceidtimer],"1",500,5);
startcheck[raceidtimer] = 4;
SetTimer("StartRace",2000,0);
}else if(startcheck[raceidtimer] == 4){
GameTextForPlayer(driver1id[raceidtimer],"GO!",500,5);
GameTextForPlayer(driver2id[raceidtimer],"GO!",500,5);
TogglePlayerControllable(driver1id[raceidtimer],1);
TogglePlayerControllable(driver2id[raceidtimer],1);
raceidtimer = -1;
}
}