30.11.2013, 14:26
Here is my code
Timer is set at the very first line of the OnGameModeInit
Every time I die it spawns me at the San Fierro medical centre with the message I specified in the DeadTimer. I'm not sure where I've gone wrong. It must be setting the HospLocation to SF some how but it seems to only set it to SF and nothing else.
Код:
forward isPlayerInArea();
Код:
public OnGameModeInit() { SetTimer("isPlayerInArea", 1000, 1);
Код:
public isPlayerInArea() { new Float:X, Float:Y, Float:Z; for(new i=0; i < MAX_PLAYERS; i++) { GetPlayerPos(i, X, Y, Z); if (X <= -2885.0598 && X >= -1405.0571 && Y <= -1021.6824 && Y >= 1436.9240) { HospLocation[i] = sf; return 1; } GetPlayerPos(i, X, Y, Z); if (X <= 130.7416 && X >= 1447.1925 && Y <= -2843.7100 && Y >= -799.4094) { HospLocation[i] = lsas; return 1; } GetPlayerPos(i, X, Y, Z); if(X <= 1700.8179 && X >= 2903.0476 && Y <= -2860.2761 && Y >= -701.8962) { HospLocation[i] = lscg; return 1; } } return 1; }
Код:
forward DeadCountdown(playerid); public DeadCountdown(playerid) { if(DeadTimer[playerid] == 0 && HospLocation[playerid] == sf) { KillTimer(deadt[playerid]); PlayerInfo[playerid][pDead] = 0; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); SetPlayerPos(playerid, -2557.6716,661.3848,14.4531); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetCameraBehindPlayer(playerid); ClearChat(playerid); SendClientMessage(playerid, COLOR_SPRINGGREEN, "The Hospital said you made a full recovery! Be more careful next time!"); SendClientMessage(playerid, COLOR_SPRINGGREEN, "You have spawned at San Fierro Medical Centre"); TogglePlayerControllable(playerid, 1); return 1; } if(DeadTimer[playerid] == 0 && HospLocation[playerid] == lsas) { KillTimer(deadt[playerid]); PlayerInfo[playerid][pDead] = 0; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); SetPlayerPos(playerid, 2034.2024,-1405.9485,17.2210); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetCameraBehindPlayer(playerid); ClearChat(playerid); SendClientMessage(playerid, COLOR_SPRINGGREEN, "The Hospital said you made a full recovery! Be more careful next time!"); SendClientMessage(playerid, COLOR_SPRINGGREEN, "You have spawned at Los Santos/All Saints Hospital"); TogglePlayerControllable(playerid, 1); return 1; } if(DeadTimer[playerid] == 0 && HospLocation[playerid] == lscg) { KillTimer(deadt[playerid]); PlayerInfo[playerid][pDead] = 0; SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]); SetPlayerPos(playerid, 1178.5688,-1323.7841,14.1265); SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetCameraBehindPlayer(playerid); ClearChat(playerid); SendClientMessage(playerid, COLOR_SPRINGGREEN, "The Hospital said you made a full recovery! Be more careful next time!"); SendClientMessage(playerid, COLOR_SPRINGGREEN, "You have spawned at Los Santos/County General Hospital"); TogglePlayerControllable(playerid, 1); return 1; } DeadTimer[playerid] --; new string[128]; format(string, sizeof(string), "~g~Seconds Left: ~w~ %d", DeadTimer[playerid]); GameTextForPlayer(playerid, string, 3000, 4); return 1; }