public OnPlayerSpawn(playerid) { if(DM[playerid] == true) { new rand = random(sizeof(RandomSpawnDM)); SetPlayerPos(playerid, RandomSpawnDM[rand][0], RandomSpawnDM[rand][1],RandomSpawnDM[rand][2]); ResetPlayerWeapons(playerid); GivePlayerWeapon(playerid, 24, 20000); GivePlayerWeapon(playerid, 25, 20000); GivePlayerWeapon(playerid, 29, 20000); SetPlayerVirtualWorld(playerid, 2); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); } if(DM1[playerid] == true) { new rando = random(sizeof(RandomSpawnDM1)); SetPlayerPos(playerid, RandomSpawnDM1[rando][0], RandomSpawnDM1[rando][1],RandomSpawnDM1[rando][2]); ResetPlayerWeapons(playerid); GivePlayerWeapon(playerid, 24, 20000); GivePlayerWeapon(playerid, 25, 20000); GivePlayerWeapon(playerid, 29, 20000); SetPlayerVirtualWorld(playerid, 2); SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); } return 1; }
new Float:RandomSpawnDM1[][4] = { {3141.1995,-1470.5856,5.1300,231.2364}, {3145.8940,-1505.7411,5.1300,282.6237}, {3173.8682,-1507.9838,5.1300,97.4653} }; new Float:RandomSpawnDM[][4] = { {-1303.1121,2542.2937,93.3047,174.8515}, {-1318.7681,2540.9197,87.6752,172.9792}, {-1311.6586,2519.6934,87.2836,152.9255} };
COMMAND:dm1( playerid, params[ ] ) { if(IsPlayerInAnyVehicle(playerid)) { return SendClientMessage(playerid, 0x33CCFFAA, "Pirmiausiai iљlipkite iљ maљinos!"); } if(DM[playerid]) return SendClientMessage(playerid, 0xDEEE20FF, "Jūs jau esate DM zonoje."); if(DM1[playerid]) return SendClientMessage(playerid, 0xDEEE20FF, "Jūs jau esate DM zonoje."); SetPlayerVirtualWorld(playerid, 2); DM1[playerid] = true; SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); GivePlayerWeapon(playerid, 9, 20000); GivePlayerWeapon(playerid, 16, 20000); GivePlayerWeapon(playerid, 30, 20000); new rando = random(sizeof(RandomSpawnDM1)); SetPlayerPos(playerid, RandomSpawnDM1[rando][0], RandomSpawnDM1[rando][1],RandomSpawnDM1[rando][2]); return 1; } COMMAND:dm( playerid, params[ ] ) { if(IsPlayerInAnyVehicle(playerid)) { return SendClientMessage(playerid, 0x33CCFFAA, "Pirmiausiai iљlipkite iљ maљinos!"); } if(DM1[playerid]) return SendClientMessage(playerid, 0xDEEE20FF, "Jūs jau esate DM zonoje."); if(DM[playerid]) return SendClientMessage(playerid, 0xDEEE20FF, "Jūs jau esate DM zonoje."); SetPlayerVirtualWorld(playerid, 2); DM[playerid] = true; SetPlayerHealth(playerid, 100); SetPlayerArmour(playerid, 100); GivePlayerWeapon(playerid, 24, 20000); GivePlayerWeapon(playerid, 25, 20000); GivePlayerWeapon(playerid, 29, 20000); new rand = random(sizeof(RandomSpawnDM)); SetPlayerPos(playerid, RandomSpawnDM[rand][0], RandomSpawnDM[rand][1],RandomSpawnDM[rand][2]); return 1; }
Where are the variables defined originally, and are you sure you don't set it to false somewhere in e.g. OnPlayerDeath?
|
new bool:DM[MAX_PLAYERS]; new bool:DM1[MAX_PLAYERS];
SetPlayerPos and OnPlayerSpawn don't get along well, I've come across this problem a lot!
Simply set a 100ms timer that fixes the problem, the player will suddenly see the default spawn for 100ms but shouldn't be a massive problem. Also, you could actually use SetSpawnInfo on OnPlayerDeath to prepare for OnPlayerSpawn, I haven't tried that but it should work! |