дуэльки...недописанные, но надо тестировать. Закинул сюда, т.к. хоть что-то могут сделать только адм > 1000 лвл.
This commit is contained in:
@@ -24,6 +24,7 @@ new gTeam[MAX_PLAYERS]; // Tracks the team assignment for each player
|
|||||||
#define CHECKPOINT_CARDROP 11
|
#define CHECKPOINT_CARDROP 11
|
||||||
#define CHECKPOINT_HOME 12
|
#define CHECKPOINT_HOME 12
|
||||||
#define CHECKPOINT_DM 13
|
#define CHECKPOINT_DM 13
|
||||||
|
#define CHECKPOINT_DUEL 14
|
||||||
#define COLOR_GRAD1 0xB4B5B7FF
|
#define COLOR_GRAD1 0xB4B5B7FF
|
||||||
#define COLOR_GRAD2 0xBFC0C2FF
|
#define COLOR_GRAD2 0xBFC0C2FF
|
||||||
#define COLOR_GRAD3 0xCBCCCEFF
|
#define COLOR_GRAD3 0xCBCCCEFF
|
||||||
@@ -337,7 +338,10 @@ forward SetCamBack(playerid);
|
|||||||
forward AddsOn();
|
forward AddsOn();
|
||||||
forward SetVehicleParamsForPlayerEx(vehicleid, playerid, para1, para2);
|
forward SetVehicleParamsForPlayerEx(vehicleid, playerid, para1, para2);
|
||||||
forward SetPlayerCheckpointFixed(playerid, Float:px, Float:py, Float:pz, Float:radius);
|
forward SetPlayerCheckpointFixed(playerid, Float:px, Float:py, Float:pz, Float:radius);
|
||||||
|
forward LoadDuel(playerid,tid,gun1,gun2,gun3,stage);
|
||||||
|
forward FindDuelCP(playerid);
|
||||||
//------------------------------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------------------------------
|
||||||
|
new dgun[MAX_PLAYERS][3], frozen[MAX_PLAYERS], dcp[MAX_PLAYERS];
|
||||||
new vParams[MAX_VEHICLES+1][MAX_PLAYERS];
|
new vParams[MAX_VEHICLES+1][MAX_PLAYERS];
|
||||||
new allowedchars[MAX_ALLOWED_CHARS] = {
|
new allowedchars[MAX_ALLOWED_CHARS] = {
|
||||||
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', //26
|
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z', //26
|
||||||
@@ -495,6 +499,7 @@ new cchargetime = 10;
|
|||||||
new txtcost = 1;
|
new txtcost = 1;
|
||||||
new offhook;
|
new offhook;
|
||||||
new pickups;
|
new pickups;
|
||||||
|
new duel[MAX_PLAYERS];
|
||||||
new randomrace = 0;
|
new randomrace = 0;
|
||||||
new nocarcash = 0;
|
new nocarcash = 0;
|
||||||
new skydivecount = 60;
|
new skydivecount = 60;
|
||||||
@@ -630,6 +635,16 @@ new Float:gRandomPlayerSpawns[1][3] = {
|
|||||||
};
|
};
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
new Float:DuelSpawns[6][4] =
|
||||||
|
{
|
||||||
|
{1820.1898,-1099.0941,24.0781,358.5028},//1
|
||||||
|
{1820.1943,-1134.3278,24.0781,179.4428},
|
||||||
|
{990.3517,-1350.3186,13.3708,91.6436},//2
|
||||||
|
{1025.4862,-1351.2198,13.7266,269.3053},
|
||||||
|
{1888.8384,-2290.7144,13.5469,85.0781},//3
|
||||||
|
{1942.4803,-2289.0803,13.5469,271.1999}
|
||||||
|
};
|
||||||
|
|
||||||
new Float:gRandomDMSpawns[21][3] = {
|
new Float:gRandomDMSpawns[21][3] = {
|
||||||
{-2414.0,1551.8,2.1}, // 1
|
{-2414.0,1551.8,2.1}, // 1
|
||||||
{-2406.9,1555.2,2.1}, // 2
|
{-2406.9,1555.2,2.1}, // 2
|
||||||
@@ -2219,6 +2234,8 @@ public OnPlayerConnect(playerid)
|
|||||||
Mobile[playerid] = -1;
|
Mobile[playerid] = -1;
|
||||||
Spectate[playerid] = -1;
|
Spectate[playerid] = -1;
|
||||||
Unspec[playerid][sLocal] = -1;
|
Unspec[playerid][sLocal] = -1;
|
||||||
|
dcp[playerid] = 0;
|
||||||
|
duel[playerid] = -1;
|
||||||
gSkyDive[playerid] = 0;
|
gSkyDive[playerid] = 0;
|
||||||
TVMode[playerid] = 0;
|
TVMode[playerid] = 0;
|
||||||
gLastCar[playerid] = 0;
|
gLastCar[playerid] = 0;
|
||||||
@@ -2544,7 +2561,16 @@ public OnPlayerDeath(playerid, killerid, reason)
|
|||||||
PlayerInfo[playerid][pLocal] = -1;
|
PlayerInfo[playerid][pLocal] = -1;
|
||||||
GetPlayerPos(playerid, px, py, pz);
|
GetPlayerPos(playerid, px, py, pz);
|
||||||
new sgun, sammo;
|
new sgun, sammo;
|
||||||
|
if(duel[playerid] > -1)
|
||||||
|
{
|
||||||
|
ResetPlayerWeapons(killerid);
|
||||||
|
GivePlayerWeapon(killerid, 32, 100);
|
||||||
|
GivePlayerWeapon(killerid, 24, 30);
|
||||||
|
dcp[playerid] = 0;
|
||||||
|
dcp[killerid] = 0;
|
||||||
|
duel[playerid] = -1;
|
||||||
|
duel[killerid] = -1;
|
||||||
|
}
|
||||||
if(killerid != INVALID_PLAYER_ID)
|
if(killerid != INVALID_PLAYER_ID)
|
||||||
{
|
{
|
||||||
if(GetPlayerState(killerid) == 2 && playerid != gPublicEnemy)
|
if(GetPlayerState(killerid) == 2 && playerid != gPublicEnemy)
|
||||||
@@ -3882,6 +3908,18 @@ public OnPlayerEnterCheckpoint(playerid)
|
|||||||
new name[MAX_PLAYER_NAME];
|
new name[MAX_PLAYER_NAME];
|
||||||
switch (gPlayerCheckpointStatus[playerid])
|
switch (gPlayerCheckpointStatus[playerid])
|
||||||
{
|
{
|
||||||
|
case CHECKPOINT_DUEL:
|
||||||
|
{
|
||||||
|
SetPlayerPos(playerid, DuelSpawns[dcp[playerid]][0], DuelSpawns[dcp[playerid]][1], DuelSpawns[dcp[playerid]][2]);
|
||||||
|
SetPlayerFacingAngle(playerid, DuelSpawns[dcp[playerid]][3]);
|
||||||
|
TogglePlayerControllable(playerid,0);
|
||||||
|
dcp[playerid] = 1;
|
||||||
|
new tid = duel[playerid] - 3000;
|
||||||
|
if(dcp[tid] == 1) return LoadDuel(playerid, tid, dgun[playerid][0], dgun[playerid][1], dgun[playerid][2], 3);
|
||||||
|
tid-=1000;
|
||||||
|
if(dcp[tid] == 1) return LoadDuel(playerid, tid, dgun[tid][0], dgun[tid][1], dgun[tid][2], 3);
|
||||||
|
return SendClientMessageRus(playerid, COLOR_YELLOW, "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
}
|
||||||
case CHECKPOINT_PICKUP:
|
case CHECKPOINT_PICKUP:
|
||||||
{
|
{
|
||||||
if(GetPlayerState(playerid) != 1)
|
if(GetPlayerState(playerid) != 1)
|
||||||
@@ -9739,6 +9777,109 @@ public OnPlayerCommandText(playerid, cmdtext[])
|
|||||||
PayLog(string);
|
PayLog(string);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strcmp(cmd, "/duel", true) == 0 && PlayerInfo[playerid][pAdmin] > 1000)
|
||||||
|
{
|
||||||
|
if(GetPlayerInterior(playerid)!=0)
|
||||||
|
{
|
||||||
|
SendClientMessageRus(playerid, COLOR_WHITE,"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>.");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
tmp = strtok(cmdtext, idx);
|
||||||
|
if(!strlen(tmp))
|
||||||
|
{
|
||||||
|
format(string, sizeof(string), "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: /duel [id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] [id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1] [id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2] [id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3]");
|
||||||
|
SendClientMessageRus(playerid, COLOR_GRAD2,string);
|
||||||
|
SendClientMessageRus(playerid, COLOR_GREEN,"_______________________________________");
|
||||||
|
SendClientMessageRus(playerid, COLOR_WHITE,"*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ***");
|
||||||
|
SendClientMessageRus(playerid, COLOR_WHITE, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: parachute (46), golfclub (2), nightstick (3), knife (4), baseballbat (5), shovel (6), poolcue (7),");
|
||||||
|
SendClientMessageRus(playerid, COLOR_WHITE, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: purpledildo (10), whitedildo (11), longwhitedildo (12), whitedildo2 (13), flowers (14), cane (15),");
|
||||||
|
SendClientMessageRus(playerid, COLOR_WHITE, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: sdpistol (23), colt45 (22), deagle (24), tec9 (32), uzi (28), mp5 (29),");
|
||||||
|
SendClientMessageRus(playerid, COLOR_WHITE, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: shotgun (27), spas12 (25), sawnoff (26), ak47 (30), m4 (31), rifle (33),");
|
||||||
|
SendClientMessageRus(playerid, COLOR_GREEN,"_______________________________________");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
new tid=strval(tmp);
|
||||||
|
if(!IsPlayerConnected(tid) || gPlayerLogged[tid] == 0) return SendClientMessageRus(playerid, COLOR_RED, "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
tmp = strtok(cmdtext, idx);
|
||||||
|
if(!strlen(tmp))
|
||||||
|
{
|
||||||
|
format(string, sizeof(string), "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: /duel [id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>] [id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1] [id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2 (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)] [id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3 (<28><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)]");
|
||||||
|
SendClientMessageRus(playerid, COLOR_GRAD2,string);
|
||||||
|
SendClientMessageRus(playerid, COLOR_GREEN,"_______________________________________");
|
||||||
|
SendClientMessageRus(playerid, COLOR_WHITE,"*** <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ***");
|
||||||
|
SendClientMessageRus(playerid, COLOR_WHITE, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: parachute (46), golfclub (2), nightstick (3), knife (4), baseballbat (5), shovel (6), poolcue (7),");
|
||||||
|
SendClientMessageRus(playerid, COLOR_WHITE, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: purpledildo (10), whitedildo (11), longwhitedildo (12), whitedildo2 (13), flowers (14), cane (15),");
|
||||||
|
SendClientMessageRus(playerid, COLOR_WHITE, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: sdpistol (23), colt45 (22), deagle (24), tec9 (32), uzi (28), mp5 (29),");
|
||||||
|
SendClientMessageRus(playerid, COLOR_WHITE, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: shotgun (27), spas12 (25), sawnoff (26), ak47 (30), m4 (31), rifle (33),");
|
||||||
|
SendClientMessageRus(playerid, COLOR_GREEN,"_______________________________________");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
dgun[playerid][0] = strval(tmp);
|
||||||
|
if(!((dgun[playerid][0] > 1 && dgun[playerid][0] < 8) || (dgun[playerid][0] > 9 && dgun[playerid][0] < 16) || (dgun[playerid][0] > 21 && dgun[playerid][0] < 34))) return SendClientMessageRus(playerid,COLOR_RED,"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
tmp = strtok(cmdtext, idx);
|
||||||
|
if(strlen(tmp)>0)
|
||||||
|
{
|
||||||
|
dgun[playerid][1] = strval(tmp);
|
||||||
|
if(!((dgun[playerid][1] > 1 && dgun[playerid][1] < 8) || (dgun[playerid][1] > 9 && dgun[playerid][1] < 16) || (dgun[playerid][1] > 21 && dgun[playerid][1] < 34))) return SendClientMessageRus(playerid,COLOR_RED,"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dgun[playerid][1] = -1;
|
||||||
|
}
|
||||||
|
tmp = strtok(cmdtext, idx);
|
||||||
|
if(strlen(tmp)>0)
|
||||||
|
{
|
||||||
|
dgun[playerid][2] = strval(tmp);
|
||||||
|
if(!((dgun[playerid][2] > 1 && dgun[playerid][2] < 8) || (dgun[playerid][2] > 9 && dgun[playerid][2] < 16) || (dgun[playerid][2] > 21 && dgun[playerid][2] < 34))) return SendClientMessageRus(playerid,COLOR_RED,"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> id <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dgun[playerid][2] = -1;
|
||||||
|
}
|
||||||
|
return LoadDuel(playerid,tid,0,0,0,0);
|
||||||
|
}
|
||||||
|
if (strcmp(cmd, "/cancel", true) == 0)
|
||||||
|
{
|
||||||
|
if(frozen[playerid] == 0) TogglePlayerControllable(playerid,1);
|
||||||
|
if(duel[playerid] > 999 && duel[playerid] < 2001)
|
||||||
|
{
|
||||||
|
duel[duel[playerid]-1000] = -1;
|
||||||
|
duel[playerid] = -1;
|
||||||
|
SendClientMessageRus(playerid, COLOR_YELLOW, "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
return SendClientMessageRus(duel[playerid-1000], COLOR_YELLOW, "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
}
|
||||||
|
if(duel[playerid] > 1999 && duel[playerid] < 3001)
|
||||||
|
{
|
||||||
|
duel[duel[playerid]-2000] = -1;
|
||||||
|
duel[playerid] = -1;
|
||||||
|
SendClientMessageRus(playerid, COLOR_YELLOW, "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
return SendClientMessageRus(duel[playerid-2000], COLOR_YELLOW, "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
}
|
||||||
|
if(duel[playerid] > 2999 && duel[playerid] < 4001)
|
||||||
|
{
|
||||||
|
duel[duel[playerid]-3000] = -1;
|
||||||
|
duel[playerid] = -1;
|
||||||
|
SendClientMessageRus(playerid, COLOR_YELLOW, "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
return SendClientMessageRus(duel[playerid-3000], COLOR_YELLOW, "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
}
|
||||||
|
if(duel[playerid] > 3999 && duel[playerid] < 5001)
|
||||||
|
{
|
||||||
|
duel[duel[playerid]-4000] = -1;
|
||||||
|
duel[playerid] = -1;
|
||||||
|
SendClientMessageRus(playerid, COLOR_YELLOW, "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
return SendClientMessageRus(duel[playerid-4000], COLOR_YELLOW, "<22><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
}
|
||||||
|
return SendClientMessageRus(playerid, COLOR_YELLOW, "<22><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
}
|
||||||
|
if (strcmp(cmd, "/accept", true) == 0)
|
||||||
|
{
|
||||||
|
if(duel[playerid] > 1999 && duel[playerid] < 3001)
|
||||||
|
{
|
||||||
|
return LoadDuel(duel[playerid]-2000, playerid, 0, 0, 0, 1);
|
||||||
|
}
|
||||||
|
return SendClientMessageRus(playerid, COLOR_YELLOW, "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
}
|
||||||
if (strcmp(cmd, "/upgrade", true) == 0)
|
if (strcmp(cmd, "/upgrade", true) == 0)
|
||||||
{
|
{
|
||||||
new gunid[16];
|
new gunid[16];
|
||||||
@@ -14728,7 +14869,7 @@ public OnPlayerCommandText(playerid, cmdtext[])
|
|||||||
GetPlayerHealth(Spectate[playerid], health);
|
GetPlayerHealth(Spectate[playerid], health);
|
||||||
new sstring[256];
|
new sstring[256];
|
||||||
GetPlayerName(Spectate[playerid], giveplayer, sizeof(giveplayer));
|
GetPlayerName(Spectate[playerid], giveplayer, sizeof(giveplayer));
|
||||||
new cash = PlayerInfo[Spectate[playerid]][pCash]);
|
new cash = PlayerInfo[Spectate[playerid]][pCash];
|
||||||
if (PlayerInfo[playerid][pAdmin] >= 1)
|
if (PlayerInfo[playerid][pAdmin] >= 1)
|
||||||
{
|
{
|
||||||
format(sstring, sizeof(sstring), "Recon: (%d) %s $%d H:%.0f",Spectate[playerid],giveplayer,cash,health);
|
format(sstring, sizeof(sstring), "Recon: (%d) %s $%d H:%.0f",Spectate[playerid],giveplayer,cash,health);
|
||||||
@@ -16713,6 +16854,14 @@ public OnPlayerCommandText(playerid, cmdtext[])
|
|||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
if(strcmp(cmd, "/findduelcp", true) == 0 && PlayerInfo[playerid][pAdmin] == 1338)
|
||||||
|
{
|
||||||
|
new cpp[4];
|
||||||
|
new cp = FindDuelCP(playerid)*2;
|
||||||
|
SetPlayerCheckpointFixed(playerid, DuelSpawns[cp][0], DuelSpawns[cp][1], DuelSpawns[cp][2], 1);
|
||||||
|
format(cpp, 4 , "%d", cp);
|
||||||
|
return SendClientMessageRus(playerid, COLOR_YELLOW, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
}
|
||||||
//----------------------------------[Freeze]------------------------------------------------
|
//----------------------------------[Freeze]------------------------------------------------
|
||||||
if(strcmp(cmd, "/freeze", true) == 0)
|
if(strcmp(cmd, "/freeze", true) == 0)
|
||||||
{
|
{
|
||||||
@@ -16741,10 +16890,11 @@ public OnPlayerCommandText(playerid, cmdtext[])
|
|||||||
if (PlayerInfo[playerid][pAdmin] >= 2)
|
if (PlayerInfo[playerid][pAdmin] >= 2)
|
||||||
{
|
{
|
||||||
TogglePlayerControllable(playa, 0);
|
TogglePlayerControllable(playa, 0);
|
||||||
format(string, sizeof(string), "AdmCmd: %s Freezes %s",sendername, giveplayer);
|
format(string, sizeof(string), "AdmCmd: %s <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %s",sendername, giveplayer);
|
||||||
printf("%s",string);
|
printf("%s",string);
|
||||||
format(string, sizeof(string), "AdmCmd: %s was Frozen by %s",giveplayer ,sendername);
|
format(string, sizeof(string), "AdmCmd: %s <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %s",giveplayer ,sendername);
|
||||||
SendClientMessageToAllRus(COLOR_RED, string);
|
SendClientMessageToAllRus(COLOR_RED, string);
|
||||||
|
frozen[playa] = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -16780,6 +16930,7 @@ public OnPlayerCommandText(playerid, cmdtext[])
|
|||||||
printf("%s",string);
|
printf("%s",string);
|
||||||
format(string, sizeof(string), "AdmCmd: %s was SFrozen",giveplayer);
|
format(string, sizeof(string), "AdmCmd: %s was SFrozen",giveplayer);
|
||||||
SendClientMessageRus(playerid, COLOR_GRAD1, string);
|
SendClientMessageRus(playerid, COLOR_GRAD1, string);
|
||||||
|
frozen[playa] = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -16788,7 +16939,7 @@ public OnPlayerCommandText(playerid, cmdtext[])
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
//----------------------------------[Thaw]------------------------------------------------
|
//----------------------------------[Thaw]------------------------------------------------
|
||||||
if(strcmp(cmd, "/thaw", true) == 0)
|
if(strcmp(cmd, "/thaw", true) == 0 || strcmp(cmd, "/unfreeze", true) == 0)
|
||||||
{
|
{
|
||||||
tmp = strtok(cmdtext, idx);
|
tmp = strtok(cmdtext, idx);
|
||||||
if(!strlen(tmp))
|
if(!strlen(tmp))
|
||||||
@@ -16810,10 +16961,11 @@ public OnPlayerCommandText(playerid, cmdtext[])
|
|||||||
if (PlayerInfo[playerid][pAdmin] >= 1)
|
if (PlayerInfo[playerid][pAdmin] >= 1)
|
||||||
{
|
{
|
||||||
TogglePlayerControllable(playa, 1);
|
TogglePlayerControllable(playa, 1);
|
||||||
format(string, sizeof(string), "AdmCmd: %s Thaw %s",sendername, giveplayer);
|
format(string, sizeof(string), "AdmCmd: %s <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %s",sendername, giveplayer);
|
||||||
printf("%s",string);
|
printf("%s",string);
|
||||||
format(string, sizeof(string), "AdmCmd: %s was Thawed by %s",giveplayer ,sendername);
|
format(string, sizeof(string), "AdmCmd: %s <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %s",giveplayer ,sendername);
|
||||||
SendClientMessageToAllRus(COLOR_RED, string);
|
SendClientMessageToAllRus(COLOR_RED, string);
|
||||||
|
frozen[playa] = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -19355,3 +19507,73 @@ public SetPlayerCheckpointFixed(playerid, Float:px, Float:py, Float:pz, Float:ra
|
|||||||
DisablePlayerCheckpoint(playerid);
|
DisablePlayerCheckpoint(playerid);
|
||||||
return SetPlayerCheckpoint(playerid, Float:px, Float:py, Float:pz, Float:radius);
|
return SetPlayerCheckpoint(playerid, Float:px, Float:py, Float:pz, Float:radius);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LoadDuel(playerid,tid,gun1,gun2,gun3,stage)
|
||||||
|
{
|
||||||
|
if(duel[playerid] > -1) return SendClientMessageRus(playerid, COLOR_RED, "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
if(duel[tid] > -1) return SendClientMessageRus(playerid, COLOR_RED, "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
new hmsg[128], pname[64];
|
||||||
|
switch(stage)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
{
|
||||||
|
format(hmsg,128,"<22><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %s. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (/cancel - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).", GetPlayerName(tid, pname, 64));
|
||||||
|
SendClientMessageRus(playerid, COLOR_YELLOW, hmsg);
|
||||||
|
duel[playerid] = 1000+tid;
|
||||||
|
duel[tid] = 2000+playerid;
|
||||||
|
format(hmsg,128,"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! %s (%d) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (/accept) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (/candel)", GetPlayerName(playerid, pname, 64), playerid);
|
||||||
|
SendClientMessageRus(playerid, COLOR_YELLOW, hmsg);
|
||||||
|
}
|
||||||
|
case 1:
|
||||||
|
{
|
||||||
|
format(hmsg,128,"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! %s <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.", GetPlayerName(tid, pname, 64));
|
||||||
|
SendClientMessageRus(playerid, COLOR_YELLOW, hmsg);
|
||||||
|
SendClientMessageRus(playerid, COLOR_YELLOW, "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||||||
|
duel[playerid]+=2000;
|
||||||
|
duel[tid]+=2000;
|
||||||
|
new cp = FindDuelCP(playerid);
|
||||||
|
SetPlayerCheckpointFixed(playerid, DuelSpawns[cp][0], DuelSpawns[cp][1], DuelSpawns[cp][2], 1);
|
||||||
|
SetPlayerCheckpointFixed(tid, DuelSpawns[cp+1][0], DuelSpawns[cp+1][1], DuelSpawns[cp+1][2], 1);
|
||||||
|
gPlayerCheckpointStatus[playerid] = CHECKPOINT_DUEL;
|
||||||
|
gPlayerCheckpointStatus[tid] = CHECKPOINT_DUEL;
|
||||||
|
dcp[playerid] = cp;
|
||||||
|
dcp[tid] = cp+1;
|
||||||
|
}
|
||||||
|
case 2:
|
||||||
|
{
|
||||||
|
SendClientMessageRus(playerid, COLOR_YELLOW, "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!");
|
||||||
|
SendClientMessageRus(tid, COLOR_YELLOW, "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!");
|
||||||
|
TogglePlayerControllable(playerid, 1);
|
||||||
|
TogglePlayerControllable(tid, 1);
|
||||||
|
}
|
||||||
|
case 3:
|
||||||
|
{
|
||||||
|
GivePlayerWeapon(playerid, gun1, 10000);
|
||||||
|
GivePlayerWeapon(playerid, gun2, 10000);
|
||||||
|
GivePlayerWeapon(playerid, gun3, 10000);
|
||||||
|
GivePlayerWeapon(tid, gun1, 10000);
|
||||||
|
GivePlayerWeapon(tid, gun2, 10000);
|
||||||
|
GivePlayerWeapon(tid, gun3, 10000);
|
||||||
|
SendClientMessageRus(playerid, COLOR_YELLOW, "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||||||
|
SendClientMessageRus(tid, COLOR_YELLOW, "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!");
|
||||||
|
SetTimerEx("LoadDuel", 3000, 0, "dddddd", playerid, tid, 0,0,0,2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return stage;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FindDuelCP(playerid)
|
||||||
|
{
|
||||||
|
new Float:x, Float:y, Float:z, choise, Float:mind=99999999, Float:distance;
|
||||||
|
GetPlayerPos(playerid, x, y, z);
|
||||||
|
for(new circle=0; circle<3; circle++)
|
||||||
|
{
|
||||||
|
distance = ((DuelSpawns[circle*2][0]-x)*(DuelSpawns[circle*2][0]-x))+((DuelSpawns[circle*2][1]-y)*(DuelSpawns[circle*2][1]-y));
|
||||||
|
if(mind > distance)
|
||||||
|
{
|
||||||
|
mind = distance;
|
||||||
|
choise = circle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return choise;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user