I would help you if you show me some code.....
Probably add a variable that's true outside dm arena and false inside it. |
SetTimerEx("VRepair",500,true,"i",playerid);
forward VRepair(playerid); public VRepair(playerid) { if(IsPlayerInAnyVehicle(playerid)) RepairVehicle(GetPlayerVehicleID(playerid)); return 1; }
new str[128], pName[MAX_PLAYER_NAME]; GetPlayerName(playerid, pName, MAX_PLAYER_NAME); format(str, sizeof(str), "{09F7DF}(/cs) {ffd700}%s {09F7DF}has Teleported to Counter-Strike Deathmatch",pName); GameTextForPlayer(playerid,"~y~Welcome to ~n~~b~Counter-Strike",2000,3); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 0); SetPlayerVirtualWorld(playerid, 11); SetPlayerInterior(playerid, 0); SetCameraBehindPlayer(playerid); SaveWeapons(playerid); ResetPlayerWeapons(playerid); //must be added before this GivePlayerWeapon(playerid, 41, 100000); GivePlayerWeapon(playerid, 24, 100000); GivePlayerWeapon(playerid, 26, 100000); GivePlayerWeapon(playerid, 28, 100000); GivePlayerWeapon(playerid, 30, 100000); GivePlayerWeapon(playerid, 33, 100000); DestroyVehicle(GetPlayerVehicleID(playerid)); SendClientMessageToAll(0xFFFFFFFF, str); new Random = random(sizeof(RandomSpawnCsDM)); SetPlayerPos(playerid, RandomSpawnCsDM[Random][0], RandomSpawnCsDM[Random][1], RandomSpawnCsDM[Random][2]); SetPlayerFacingAngle(playerid, RandomSpawnCsDM[Random][3]); return 1; }
new TimerId[MAX_PLAYERS];
TimerId[playerid] = SetTimerEx("VRepair",500,true,"i",playerid);
new str[128], pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(str, sizeof(str), "{09F7DF}(/cs) {ffd700}%s {09F7DF}has Teleported to Counter-Strike Deathmatch",pName);
GameTextForPlayer(playerid,"~y~Welcome to ~n~~b~Counter-Strike",2000,3);
SetPlayerHealth(playerid, 100);
SetPlayerArmour(playerid, 0);
SetPlayerVirtualWorld(playerid, 11);
SetPlayerInterior(playerid, 0);
SetCameraBehindPlayer(playerid);
SaveWeapons(playerid);
ResetPlayerWeapons(playerid); //must be added before this
GivePlayerWeapon(playerid, 41, 100000);
GivePlayerWeapon(playerid, 24, 100000);
GivePlayerWeapon(playerid, 26, 100000);
GivePlayerWeapon(playerid, 28, 100000);
GivePlayerWeapon(playerid, 30, 100000);
GivePlayerWeapon(playerid, 33, 100000);
DestroyVehicle(GetPlayerVehicleID(playerid));
SendClientMessageToAll(0xFFFFFFFF, str);
new Random = random(sizeof(RandomSpawnCsDM));
SetPlayerPos(playerid, RandomSpawnCsDM[Random][0], RandomSpawnCsDM[Random][1], RandomSpawnCsDM[Random][2]);
SetPlayerFacingAngle(playerid, RandomSpawnCsDM[Random][3]);
KillTimer(TimerId[playerid]); // Here to stop repairing the car, You have to set the timer again when player leave the area
return 1;
}
new Allowed[MAX_PLAYERS];
public VRepair(playerid)
{
if(IsPlayerInAnyVehicle(playerid) && Allowed == 1) RepairVehicle(GetPlayerVehicleID(playerid));
return 1;
}
What i can suggest is
pawn Код:
|
error 033: array must be indexed (variable "Allowed")
Good Idea. But why this warning shows up?
Код:
error 033: array must be indexed (variable "Allowed") this what you wrote "and make it when player enters DM arena Allowed = 0 and when he Exits Allowed = 1" To xVIP3Rx : i will try youyrs EDIT: viper it still repairs. |
new Allowed[MAX_PLAYERS];
public VRepair(playerid)
{
if(IsPlayerInAnyVehicle(playerid) && Allowed[playerid] == 1) RepairVehicle(GetPlayerVehicleID(playerid));
return 1;
}