Respawn In Dm zone[+rep]
#1

Hello,

I have this Minigun Deathmatch zone and i want to make it so when a player dies in Minigun he respawns in Minigun until he does /leaveminigun. But i have tried doing it but it doesnt work.

My code

OnPlayerSpawn
pawn Код:
if(InMinigun[playerid] == 1)
{
new rand2 = random(sizeof(Randminigun));
SetPlayerPos(playerid, Randminigun[rand2][0], Randminigun[rand2][1],Randminigun[rand2][2]);
GivePlayerWeapon(playerid, 38, 99999);
}
OnPlayerConnect and OnPlayerDisconnect
pawn Код:
InMinigun[playerid] = 0;
Minigun Command
pawn Код:
COMMAND:minigun(playerid, params[])
{
if(InMinigun[playerid] == 0)
{
InMinigun[playerid] = 1;
new rand = random(sizeof(Randminigun));
new str[128], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
ResetPlayerWeapons(playerid);
SetPlayerSkin(playerid,287);
SetPlayerHealth(playerid,100);
SetPlayerArmour(playerid,100);
GivePlayerWeapon(playerid,38,9999999999);
SendClientMessage(playerid,COLOR_GREEN,"You Have Joined Minigun Death Match");
format(str,sizeof(str),"%s has Joined Minigun DeathMatch[Guns:Minigun]",name);
SendClientMessageToAll(COLOR_RED,str);
SetPlayerPos(playerid, Randminigun[rand][0], Randminigun[rand][1],Randminigun[rand][2]);
SetPlayerFacingAngle(playerid,182.0681);
}
else
{
SendClientMessage(playerid,COLOR_PINK2,"Use /leaveminigun to leave the Minigun Arena");
}
return 1;
}
/leave minigun command
pawn Код:
COMMAND:leaveminigun(playerid, params[])
{
if(InMinigun[playerid] == 1)
{
InMinigun[playerid] = 0;
SpawnPlayer(playerid);
SendClientMessage(playerid, COLOR_PINK2, "You Left Minigun Arena");
}
else
{
SendClientMessage(playerid, COLOR_PINK2, "Error: You are not in Minigun Arena");
}
return 1;
}
Reply
#2

pawn Код:
//change
if(InMinigun[playerid] == 1)
{
new rand2 = random(sizeof(Randminigun));
SetPlayerPos(playerid, Randminigun[rand2][0], Randminigun[rand2][1],Randminigun[rand2][2]);
}
//to
if(InMinigun[playerid] == 1)
{
cmd_minigun(playerid,"");
GivePlayerWeapon(playerid, 38, 99999);
}
And tell me either if it works or not.
Reply
#3

Nope that doesnt work, it gives me the message of "Use /leaveminigun to leave the minigun arena"

I think it might only work if i disable /minigun
Reply
#4

Its a bit eazy, here it is and hope it works!

Код:
public OnPlayerDeath(playerid, killerid, reason)
{
      if(InMinigun[playerid] == 1)
      {
         new rand = random(sizeof(Randminigun));
         new str[128], name[MAX_PLAYER_NAME];
         GetPlayerName(playerid,name,MAX_PLAYER_NAME);
         ResetPlayerWeapons(playerid);
         SetPlayerSkin(playerid,287);
         SetPlayerHealth(playerid,100);
         SetPlayerArmour(playerid,100);
         GivePlayerWeapon(playerid,38,9999999999);
         SendClientMessage(playerid,COLOR_GREEN,"You Have Re-Joined Minigun Death Match");
         format(str,sizeof(str),"%s has Re-Joined Minigun DeathMatch[Guns:Minigun]",name);
         SendClientMessage(playerid,COLOR_PINK2,"Use /leaveminigun to leave the Minigun Arena");
         SendClientMessageToAll(COLOR_RED,str);
         SetPlayerPos(playerid, Randminigun[rand][0], Randminigun[rand][1],Randminigun[rand][2]);
         SetPlayerFacingAngle(playerid,182.0681);
      }
      if(InMinigun[playerid] == 0)
      {
         SpawnPlayer(playerid);
      }
      return 1;
}
Reply
#5

it does respawn me but its not at the Minigun Arena, it spawns me back to my team location
Reply
#6

Try this (Put it on the top of onplayerdeath):
Код:
public OnPlayerDeath(playerid, killerid, reason)
{
      if(InMinigun[playerid] == 1)
      {
         new rand = random(sizeof(Randminigun));
         new str[128], name[MAX_PLAYER_NAME];
         GetPlayerName(playerid,name,MAX_PLAYER_NAME);
         ResetPlayerWeapons(playerid);
         SetPlayerSkin(playerid,287);
         SetPlayerHealth(playerid,100);
         SetPlayerArmour(playerid,100);
         GivePlayerWeapon(playerid,38,9999999999);
         SendClientMessage(playerid,COLOR_GREEN,"You Have Re-Joined Minigun Death Match");
         format(str,sizeof(str),"%s has Re-Joined Minigun DeathMatch[Guns:Minigun]",name);
         SendClientMessage(playerid,COLOR_PINK2,"Use /leaveminigun to leave the Minigun Arena");
         SendClientMessageToAll(COLOR_RED,str);
         SetPlayerPos(playerid, Randminigun[rand][0], Randminigun[rand][1],Randminigun[rand][2]);
         SetPlayerFacingAngle(playerid,182.0681);
         return 0;
      }
      return 0;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)