PHP Code:
#include <a_samp>
#include <core>
#include <float>
#pragma tabsize 0
#define COLOR_PINK 0xFF66FFAA// ååøåã
#define COLOR_BLUE 0x0000BBAA// ëçåì
#define COLOR_ORANGE 0xFF9900AA// ëúåí
#define COLOR_PURPLE 0x330066AA// ñâåì
#define COLOR_DARKGREY 0x333333AA// àôåø ëää
#define COLOR_DARKRED 0x990000AA// àãåí ëää
#define COLOR_INDIGO 0x4B00B0AA// àéðãâå
#define COLOR_AQUA 0x7CFC00AA// öáò úëìú ëçåì à÷ååä
#define COLOR_BRIGHTRED 0xDC143CAA// àãåí áäéø
#define COLOR_SYSTEM 0xEFEFF7AA// öáò øâéì ,àôåø
#define COLOR_GRAY 0xAFAFAFAA// öáò àôåø
#define red 0xAA3333AA// öáò àãåí
#define yellow 0xFFFF00AA// öáò öäåá
#define COLOR_BLUEGREEN 0x46BBAA00// ëçåì éøå÷
#define CYAN 0x00FFFFAA// ëçåì éø÷ø÷
#define VIOLET 0x9955DEEE// ñâìâì
#define COLOR_WHITE 0xFFFFFFAA// öáò ìáï
#define LEMON 0xDDDD2357// öäåá ìîåï
#define COLOR_BLUEWHITE 0x99FFFFAA// ëçåì ìáï
#define COLOR_BLACK 0x00000000// öáò ùçåø
#define COLOR_LIGHTCYAN 0xAAFFCC33// öáò ëçåì éø÷ø÷ áäéø
#define COLOR_DARKBLUE 0x300FFAAB// ëçåì ëää
#define COLOR_BROWN 0x993300AA// öáò çåí
#define COLOR_GRAYWHITE 0xEEEEFFC4// àôåø ìáï
#define COLOR_DARKGREEN 0x12900BBF// éøå÷ ëää
#define COLOR_LIGHTBLUE 0x33CCFFAA// ëçåì áäéø
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_RED 0xAA3333AA
#define COLOR_WHITE 0xFFFFFFAA
#define _COLOR_BLACK 0x000000FF
#define PocketMoney 5000 // ñëåí ëñó ìãùç÷ï ùðëðñ ìùøú
#define INACTIVE_PLAYER_ID 255
#define GIVECASH_DELAY 5000 // Time in ms between /givecash commands.
#define COLOR_RED 0xAA3333AA
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_GREEN 0x33AA33AA
#define COLOR_GRAD1 0xB4B5B7FF
#define WHITE 0xFFFFFFAA
#define COLOR_PEACH 0xEECFA1AA
#define blue 0x00FFFFAA
#define color 0xCCFF00FFAA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_LIGHTRED 0xAA3333AA
new Count;
new sendername[MAX_PLAYER_NAME];
new RaceInvited[MAX_PLAYERS];
new pRace[MAX_PLAYERS];
new bool:raceWinner;
public OnPlayerEnterRaceCheckpoint(playerid)
{
#define end_cp 27
if(pRace[playerid] == 1)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1974.5684,855.6501,7.1980,2147.0220,852.5316,7.1980,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 2)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,2147.0220,852.5316,7.1980,2439.1946,837.7422,7.1980,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 3)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,2439.1946,837.7422,7.1980,2647.3005,926.3709,7.1980,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 4)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,2647.3005,926.3709,7.1980,2703.3381,1220.9696,7.1980,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 5)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,2703.3381,1220.9696,7.1980,2705.6763,1578.2561,6.7344,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 6)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,2705.6763,1578.2561,6.7344,2722.8457,1987.6382,6.7344,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 7)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,2722.8457,1987.6382,6.7344,2708.9639,2249.1321,6.7344,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 8)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,2708.9639,2249.1321,6.7344,2684.4202,2447.1082,6.7344,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 9)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,2684.4202,2447.1082,6.7344,2525.0410,2597.6169,4.8594,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 10)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,2525.0410,2597.6169,4.8594,2078.3650,2561.1863,7.3752,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 11)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,2078.3650,2561.1863,7.3752,1595.5482,2471.9265,7.2772,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 12)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1595.5482,2471.9265,7.2772,1452.0223,2451.6206,7.2772,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 13)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1452.0223,2451.6206,7.2772,1235.7706,2313.6902,7.2772,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 14)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1235.7706,2313.6902,7.2772,1224.6484,1891.0494,6.8125,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 15)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1224.6484,1891.0494,6.8125,1210.8955,1684.6860,6.8125,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 16)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1210.8955,1684.6860,6.8125,1211.6782,1370.5197,6.8125,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 17)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1211.6782,1370.5197,6.8125,1228.0560,1125.3013,6.8125,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 18)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1228.0560,1125.3013,6.8125,1234.2272,993.0135,6.8125,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 19)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1234.2272,993.0135,6.8125,1333.1628,872.6484,6.8125,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 20)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1333.1628,872.6484,6.8125,1448.1443,854.8347,6.7344,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 21)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1448.1443,854.8347,6.7344,1589.3550,834.7991,6.7344,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 22)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1669.2424,850.9501,7.1301,1772.4320,851.5462,10.5163,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 23)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1772.4320,851.5462,10.5163,1798.4467,849.7390,10.6719,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 24)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1798.4467,849.7390,10.6719,1823.5547,850.0822,10.4729,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 25)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,0,1823.5547,850.0822,10.4729,1901.7307,852.0325,7.4885,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == 26)
{
DisablePlayerRaceCheckpoint(playerid);
SetPlayerRaceCheckpoint(playerid,1,1901.7307,852.0325,7.4885,1955.2079,850.9595,6.7267,8);
pRace[playerid]++;
return 1;
}
else if(pRace[playerid] == end_cp)
{
if (!raceWinner) {
SendClientMessage(playerid, 0xFF9900AA, " =] ðéöçú áîéøåõ å÷éáìú àú ñëåí äæëéä îæì èåá [=");
pRace[playerid] = 0;
GivePlayerMoney(playerid, 200000);
DisablePlayerRaceCheckpoint(playerid);
new winner[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid, winner, sizeof(winner));
format(string, sizeof(string), "-------------------------------------------------------------",winner);
SendClientMessageToAll(0x24FF0AB9, string);
format(string, sizeof(string), "The player %s win the Race!",winner);
SendClientMessageToAll(0xFF9900AA, string);
format(string, sizeof(string), "-------------------------------------------------------------",winner);
SendClientMessageToAll(0x24FF0AB9, string);
SetPlayerPos(playerid, 2193.1482, 1990.9349, 12.2969);
SetPlayerFacingAngle(playerid, 272.0484);
SetPlayerInterior(playerid,0);
raceWinner = true;
} else {
SendClientMessage(playerid, 0xFF9900AA, " ìà æëéú áîøåõ");
pRace[playerid] = 0;
DisablePlayerRaceCheckpoint(playerid);
}
return 1;
}
return 1;
}
main()
{
print("\n--------------------------------------");
print(" Race Mode By Aviel!~!!!!@!!~@~~!@~$~!@%");
print("---------------29.3.2010----------------");
print("--------------------------------------\n");
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
cmd = mystrtok(cmdtext, idx);
if(strcmp(cmd,"/SR",true) == 0)
{
if(GetPlayerMoney(playerid) < 5000)
return SendClientMessage(playerid,VIOLET,"(5000$)ìà úåëì ìäúçéì îøåõ àéï áøùåúê");
PutPlayerInVehicle(playerid, 411,3);
SetVehiclePos(GetPlayerVehicleID(playerid),1979.8468,848.5645,6.3880);
SetVehicleZAngle(GetPlayerVehicleID(playerid), 90.5664);
GivePlayerMoney(playerid,-5000);
SendClientMessageToAll(CYAN, "/RJ îøåõ äúçéìã ëãé ìäöèøó ìîéøåõ ä÷ìéãå");
SendClientMessage(playerid, CYAN, "äúçìú îéøåõ çëä ùéöèøôå àðùéí");
SendClientMessage(playerid, red, "ùéìîú 5000$ ëãé ìäúçéì àú äîéøåõ");
SendClientMessage(playerid, LEMON, "òí úæëä ú÷áì 20000$ áäöìçä");
new tmp[256];
tmp = mystrtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /SR [playerid]");
return 1;
}
if(pRace[playerid])
{
SendClientMessage(playerid, COLOR_WHITE, " àúä áàîöò îøåõ.");
return 1;
}
new giveplayerid;
giveplayerid = strval(tmp);
if(!IsPlayerConnected(giveplayerid))
{
SendClientMessage(playerid,COLOR_RED,"ERROR: Invalid ID");
}
else
{
new string[256];
GetPlayerName(giveplayerid,sendername,sizeof(sendername));
format(string,sizeof(string)," /RJ - äæîéï àåúê ìîøåõ, ëãé ìäöèøó %s äîùúîù",sendername);
SendClientMessage(giveplayerid,COLOR_ORANGE,string);
PutPlayerInVehicle(playerid, 411,3);
SetVehiclePos(GetPlayerVehicleID(playerid),1979.7230,848.5645,6.3880);
SetVehicleZAngle(GetPlayerVehicleID(playerid), 90.5664);
pRace[playerid] = 1;
RaceInvited[giveplayerid]= 1;
TogglePlayerControllable(playerid, false);
}
return 1;
}
if(strcmp(cmd,"/RJ",true) == 0)
{
new giveplayerid;
new tmp[256];
giveplayerid = strval(tmp);
tmp = mystrtok(cmdtext, idx);
if(RaceInvited[playerid]==0)
{
SendClientMessage(playerid, red, "ìà ÷éáìú äæîðä ìîøåõ!");
return 1;
}
if(pRace[playerid])
{
SendClientMessage(playerid, red, "àúä áàîöò îøåõ.");
return 1;
}
pRace[playerid] = 1;
new name[MAX_PLAYER_NAME];
new string[256];
if(GetPlayerMoney(playerid) < 5000)
return SendClientMessage(playerid,VIOLET,"(5000$)ìà úåëì ìäöèøó ìîøåõ àéï áøùåúê");
PutPlayerInVehicle(playerid, 411,3);
SetVehiclePos(GetPlayerVehicleID(playerid),1979.7230,848.5645,6.3880);
SetVehicleZAngle(GetPlayerVehicleID(playerid), 90.5664);
GivePlayerMoney(playerid,-5000);
SendClientMessageToAll(red, "ëì äî÷åîåú áîéøåõ úôåñéí");
SendClientMessage(playerid, CYAN, "äöèøôú ìîéøåõ");
SendClientMessage(playerid, red, "ùéìîú 5000$ ëãé ìäöèøó àú äîéøåõ");
SendClientMessage(playerid, LEMON, "òí úæëä ú÷áì 20000$ áäöìçä");
GetPlayerName(giveplayerid,name,sizeof(name));
GetPlayerName(playerid,sendername,sizeof(sendername));
format(string,sizeof(string),"äæåëä é÷áì 20000$ %s ðîöà áîøåõ òí äîùúîù %s äîùúîù",name,sendername);
SendClientMessageToAll(COLOR_ORANGE,string);
Count = 3; Countdown(playerid);
TogglePlayerControllable(playerid, false);
return 1;
}
if (strcmp("/help", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid, COLOR_LIGHTCYAN, "|:.:.:.:.:.:.:.[Help]:.:.:.:.:.:.:.:|");
SendClientMessage(playerid, COLOR_GREY, "/SR [ID] ëãé ìäæîéå îéùäå ìîøåõ ä÷ìéãå");
SendClientMessage(playerid, COLOR_GREY, "/RJ ëãé ìäöèøó ìîøåõ ùäåæîúí àìéå ä÷ìéãå");
SendClientMessage(playerid, COLOR_LIGHTCYAN, "|:.:.:.:.:.:.:.[Help]:.:.:.:.:.:.:.:|");
}
return 1;
}
public OnPlayerDisconnect(playerid)
{
if(pRace[playerid])
{
pRace[playerid] = 0;
RaceInvited[playerid] = 0;
}
return 1;
}
forward Countdown(playerid);
public Countdown(playerid)
{
if (Count > 0)
{
new String[256];
format(String, 256,"~w~%d",Count);
GameTextForAll(String,1000,6);
--Count;
return SetTimer("Countdown", 1000, 0);
}
for(new i = 0; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i) || pRace[playerid])
{
TogglePlayerControllable(i, true);
PlayerPlaySound(i,1058, 0.0, 0.0, 0.0);
}
}
return GameTextForAll("~g~GO!",1000,6);
}
stock mystrtok(const string[], &index)
{
new length = strlen(string);
while((index < length) && (string[index] <= ' ') && (string[index] > '\r')) index++;
new offset = index, result[30];
while((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)) && (string[index] > '\r')) result[index - offset] = string[index], index++;
result[index - offset] = EOS;
return result;
}
// -----------------------------------------------------------------------------
ניסיתי לעשות את זה וזה לא שיגר אותי