No respawn after dying?
#1

Ok, i made DM gamemode from scratch, it simple doesn't respawn me after dying, even if someone killed me or i /kill it doesn't spawn
just walking with 0hp, i have to use /slap command to spawn
Idk what causes that
OnPlayerDeath:
PHP код:
public OnPlayerDeath(playeridkilleridreason)
{
    
SendDeathMessage(killerid,playerid,reason);
    if(
killerid != INVALID_PLAYER_ID)
    {
        
PlayerInfo[killerid][pKills]++;
        
AC_GivePlayerMoney(killerid,GetPlayerMoney(playerid));
    }
    
PlayerInfo[playerid][pDeaths]++;
    
AC_ResetPlayerMoney(playerid);
    new 
msg[128], killerName[MAX_PLAYER_NAME], reasonMsg[32], playerName[MAX_PLAYER_NAME];
    
GetPlayerName(killeridkillerNamesizeof(killerName));
    
GetPlayerName(playeridplayerNamesizeof(playerName));
    if (
killerid != INVALID_PLAYER_ID)
    {
        switch (
reason)
        {
            case 
0reasonMsg "Unarmed";
            case 
1reasonMsg "Brass Knuckles";
            case 
2reasonMsg "Golf Club";
            case 
3reasonMsg "Night Stick";
            case 
4reasonMsg "Knife";
            case 
5reasonMsg "Baseball Bat";
            case 
6reasonMsg "Shovel";
            case 
7reasonMsg "Pool Cue";
            case 
8reasonMsg "Katana";
            case 
9reasonMsg "Chainsaw";
            case 
10reasonMsg "Dildo";
            case 
11reasonMsg "Dildo";
            case 
12reasonMsg "Vibrator";
            case 
13reasonMsg "Vibrator";
            case 
14reasonMsg "Flowers";
            case 
15reasonMsg "Cane";
            case 
22reasonMsg "Pistol";
            case 
23reasonMsg "Silenced Pistol";
            case 
24reasonMsg "Desert Eagle";
            case 
25reasonMsg "Shotgun";
            case 
26reasonMsg "Sawn-off Shotgun";
            case 
27reasonMsg "Combat Shotgun";
            case 
28reasonMsg "MAC-10";
            case 
29reasonMsg "MP5";
            case 
30reasonMsg "AK-47";
            case 
31reasonMsg "M4";
            case 
32reasonMsg "TEC-9";
            case 
33reasonMsg "Country Rifle";
            case 
34reasonMsg "Sniper Rifle";
            case 
37reasonMsg "Fire";
            case 
38reasonMsg "Minigun";
            case 
41reasonMsg "Spray Can";
            case 
42reasonMsg "Fire Extinguisher";
            case 
49reasonMsg "Vehicle Collision";
            case 
50reasonMsg "Vehicle Collision";
            case 
51reasonMsg "Explosion";
            default: 
reasonMsg "Unknown";
        }
        
format(msgsizeof(msg), "04*** %s killed %s. (%s)"killerNameplayerNamereasonMsg);
    }
    else
    {
        switch (
reason)
        {
            case 
53format(msgsizeof(msg), "04*** %s died. (Drowned)"playerName);
            case 
54format(msgsizeof(msg), "04*** %s died. (Collision)"playerName);
            default: 
format(msgsizeof(msg), "04*** %s died."playerName);
        }
    }
    
IRC_GroupSay(groupIDIRC_CHANNELmsg);
    if(    
PlayerInfo[playerid][IsDueling] == 1)
    {
        new 
tmpstr[144],
            
Name[MAX_PLAYER_NAME],
            
wName[MAX_PLAYER_NAME],
            
ID,
            
wID,
            
Float:Health,
            
Float:Armour;
        if(
Duel[PlayerInfo[playerid][DuelID]][Player1] == playerid
        {
            
ID playerid;
            
GetPlayerName(ID,Name,sizeof(Name));
            
GetPlayerName(Duel[PlayerInfo[playerid][DuelID]][Player2],wName,sizeof(wName));
            
GetPlayerHealth(Duel[PlayerInfo[playerid][DuelID]][Player2],Health);
            
GetPlayerArmour(Duel[PlayerInfo[playerid][DuelID]][Player2],Armour);
            
wID Duel[PlayerInfo[playerid][DuelID]][Player2];
        }
        if(
Duel[PlayerInfo[playerid][DuelID]][Player2] == playerid)
        {
            
ID playerid;
            
GetPlayerName(ID,Name,sizeof(Name));
            
GetPlayerName(Duel[PlayerInfo[playerid][DuelID]][Player1],wName,sizeof(wName));
            
GetPlayerHealth(Duel[PlayerInfo[playerid][DuelID]][Player1],Health);
            
GetPlayerArmour(Duel[PlayerInfo[playerid][DuelID]][Player1],Armour);
            
wID Duel[PlayerInfo[playerid][DuelID]][Player1];
        }
        
format(tmpstr,sizeof(tmpstr),"(NEWS) %s (ID:%d) Defeated %s (ID:%d) in duel arena, With %0.2f Health left, %0.2f Armour left, Duel ID: %i",wName,wID,Name,ID,Health,Armour,PlayerInfo[playerid][DuelID]);
        
SendClientMessageToAll(COLOR_ORANGE,tmpstr);
        
SpawnPlayer(wID);
        
InDuel[playerid] = 0;
        
PlayerInfo[playerid][IsDueling] = 0;
        
InDuel[wID] = 0;
        
PlayerInfo[wID][IsDueling] = 0;
    }
    if (
gPlayerData[playerid][E_INFO_DEATHEXPLOSION] == 1)
    {
        new 
Float:xFloat:yFloat:z;
        
GetPlayerPos(playeridxyz);
        
CreateExplosion(xyz012.0);
    }
    
SetPVarInt(playerid,"K_Times",GetPVarInt(playerid,"K_Times") + 1);
    if(
GetPVarInt(playerid,"K_Times") > 3BanExMsg(playerid,"FLOODING - Fake Kills",INVALID_PLAYER_ID);
       return 
1;
    

OnPlayerSpawn:

PHP код:
public OnPlayerSpawn(playerid)
{
    new 
        
randSpawn 0;
    
randSpawn random(sizeof(gRandomSpawns_LasVenturas));
     
SetPlayerPos(playerid,
    
gRandomSpawns_LasVenturas[randSpawn][0],
    
gRandomSpawns_LasVenturas[randSpawn][1],
    
gRandomSpawns_LasVenturas[randSpawn][2]);
    
SetPlayerFacingAngle(playerid,gRandomSpawns_LasVenturas[randSpawn][3]);
    
AC_ResetPlayerMoney(playerid);
    
AC_GivePlayerMoney(playerid,30000);
    
AC_Money[playerid] = GetPlayerMoney(playerid);
    
SetPlayerInterior(playerid,0);
    
SetPlayerVirtualWorld(playerid,0);
    
GivePlayerWeapon(playerid,24,272);
    
GivePlayerWeapon(playerid,26,46);
    
GivePlayerWeapon(playerid,28,300);
    
GivePlayerWeapon(playerid,31,150);
    
GivePlayerWeapon(playerid,34,10);
    
PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid);
    
SetPVarInt(playerid,"K_Times",0);
    if(
GetAdminLevel(playerid) >= LEVEL_MOD || IsPlayerAdmin(playerid))
    {
        for ( new 
0MAX_ADMIN_VEHICLESi++ ) SetVehicleParamsForPlayeraVehicle], playerid0);
    }
    else
    {
        for ( new 
0MAX_ADMIN_VEHICLESi++) SetVehicleParamsForPlayeraVehicle], playerid0);
    }
    if(
PlayerInfo[playerid][pAdminSpawn] == 1)
    {
        
SetPlayerPos(playerid2191.01676.020.0); // << Admin spawn.
        
SetPlayerInterior(playerid0);
        
SetPlayerVirtualWorld(playerid0);
        
PlayerInfo[playerid][pAdminSpawn] = 0;
    }
    return 
1;

Reply
#2

I don't know why :/
But try SpawnPlayer(playerid); under OnPlayerDeath
Reply
#3

I tried that, it spammed the kill board :S
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)