Respawn Problem -
AYOUYOU - 19.12.2014
Hi guys
I Need Help With this When Player Goto minigame And After When he died he Don't back to minigame Why?
pawn Код:
YCMD:mini(playerid,params[], help)
{
IsInMini[playerid] = 1;
SetPlayerPos(playerid,2543.462646,-1308.379882,1026.728393);
SetPlayerInterior(playerid, 2);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 38, 999999);
SetPlayerHealth(playerid, 100);
SetPlayerVirtualWorld(playerid,50);
return 1;
}
YCMD:exit(playerid,params[], help)
{
IsInMini[playerid] = 0;
ResetPlayerWeapons(playerid);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid,0);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
pawn Код:
new killer[129],killed[129];
GetPlayerName(killerid,killer,sizeof(killer));
GetPlayerName(playerid,killed,sizeof(killed));
if(IsInMini[playerid] == 1)
{
new killmsg[129];
format(killmsg,sizeof(killmsg),"%s has killed %s",killer,killed);
SendClientMessageToAll(0xFFF000FF,killmsg);
GivePlayerMoney(killerid,3000);
SetPlayerScore(killerid, GetPlayerScore(killerid)+3);
}
What is Wrong?
Re: Respawn Problem -
AdHaM612 - 19.12.2014
You forgot to set his position, to set his virtual world, to give him weapons and to set his interior.
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
new killer[129],killed[129];
GetPlayerName(killerid,killer,sizeof(killer));
GetPlayerName(playerid,killed,sizeof(killed));
if(IsInMini[playerid] == 1)
{
new killmsg[129];
format(killmsg,sizeof(killmsg),"%s has killed %s",killer,killed);
SendClientMessageToAll(0xFFF000FF,killmsg);
GivePlayerMoney(killerid,3000);
SetPlayerScore(killerid, GetPlayerScore(killerid)+3);
SetPlayerPos(playerid,2543.462646,-1308.379882,1026.728393);
SetPlayerInterior(playerid, 2);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 38, 999999);
SetPlayerVirtualWorld(playerid,50);
}
return 1;
}
Re: Respawn Problem -
FiveCentz - 19.12.2014
Try putting this under OnPlayerDeath
pawn Код:
if(IsInMini[playerid] == 0)
{
IsInMini[playerid] = 1;
SetPlayerPos(playerid,2543.462646,-1308.379882,1026.728393);
SetPlayerInterior(playerid, 2);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 38, 999999);
SetPlayerHealth(playerid, 100);
SetPlayerVirtualWorld(playerid,50);
return 1;
}
Re : Re: Respawn Problem -
AYOUYOU - 19.12.2014
Don't Work guys
Re: Respawn Problem -
UltraScripter - 19.12.2014
pawn Код:
new killer[129],killed[129];
GetPlayerName(killerid,killer,sizeof(killer));
GetPlayerName(playerid,killed,sizeof(killed));
if(IsInMini[playerid] == 1)
{
new killmsg[129];
format(killmsg,sizeof(killmsg),"%s has killed %s",killer,killed);
SendClientMessageToAll(0xFFF000FF,killmsg);
GivePlayerMoney(killerid,3000);
SetPlayerScore(killerid, GetPlayerScore(killerid)+3);
SetPlayerPos(playerid,2543.462646,-1308.379882,1026.728393);
SetPlayerInterior(playerid, 2);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 38, 999999);
SetPlayerHealth(playerid, 100);
SetPlayerVirtualWorld(playerid,50);
}
Re: Respawn Problem -
Banana_Ghost - 19.12.2014
You cannot set a player's position when they're dead, so under OnPlayerSpawn, if you have a variable on them and it equals it, set their position back to where they were.
pawn Код:
public OnPlayerSpawn(playerid)
{
if(IsInMini[playerid] == 1)
{
SetPlayerPos(playerid,2543.462646,-1308.379882,1026.728393);
SetPlayerInterior(playerid, 2);
ResetPlayerWeapons(playerid);
GivePlayerWeapon(playerid, 38, 999999);
SetPlayerHealth(playerid, 100);
SetPlayerVirtualWorld(playerid,50);
}
return 1;
}
And why not instead of just changing their interior and virtual world when they type /exit, do this:
pawn Код:
YCMD:exit(playerid,params[], help)
{
IsInMini[playerid] = 0;
ResetPlayerWeapons(playerid);
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid,0);
SpawnPlayer(playerid);
return 1;
}
Spawn the player so that they won't be at that position stuck in an interior.