11.09.2015, 14:59
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:
OnPlayerSpawn:
just walking with 0hp, i have to use /slap command to spawn
Idk what causes that
OnPlayerDeath:
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
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(killerid, killerName, sizeof(killerName));
GetPlayerName(playerid, playerName, sizeof(playerName));
if (killerid != INVALID_PLAYER_ID)
{
switch (reason)
{
case 0: reasonMsg = "Unarmed";
case 1: reasonMsg = "Brass Knuckles";
case 2: reasonMsg = "Golf Club";
case 3: reasonMsg = "Night Stick";
case 4: reasonMsg = "Knife";
case 5: reasonMsg = "Baseball Bat";
case 6: reasonMsg = "Shovel";
case 7: reasonMsg = "Pool Cue";
case 8: reasonMsg = "Katana";
case 9: reasonMsg = "Chainsaw";
case 10: reasonMsg = "Dildo";
case 11: reasonMsg = "Dildo";
case 12: reasonMsg = "Vibrator";
case 13: reasonMsg = "Vibrator";
case 14: reasonMsg = "Flowers";
case 15: reasonMsg = "Cane";
case 22: reasonMsg = "Pistol";
case 23: reasonMsg = "Silenced Pistol";
case 24: reasonMsg = "Desert Eagle";
case 25: reasonMsg = "Shotgun";
case 26: reasonMsg = "Sawn-off Shotgun";
case 27: reasonMsg = "Combat Shotgun";
case 28: reasonMsg = "MAC-10";
case 29: reasonMsg = "MP5";
case 30: reasonMsg = "AK-47";
case 31: reasonMsg = "M4";
case 32: reasonMsg = "TEC-9";
case 33: reasonMsg = "Country Rifle";
case 34: reasonMsg = "Sniper Rifle";
case 37: reasonMsg = "Fire";
case 38: reasonMsg = "Minigun";
case 41: reasonMsg = "Spray Can";
case 42: reasonMsg = "Fire Extinguisher";
case 49: reasonMsg = "Vehicle Collision";
case 50: reasonMsg = "Vehicle Collision";
case 51: reasonMsg = "Explosion";
default: reasonMsg = "Unknown";
}
format(msg, sizeof(msg), "04*** %s killed %s. (%s)", killerName, playerName, reasonMsg);
}
else
{
switch (reason)
{
case 53: format(msg, sizeof(msg), "04*** %s died. (Drowned)", playerName);
case 54: format(msg, sizeof(msg), "04*** %s died. (Collision)", playerName);
default: format(msg, sizeof(msg), "04*** %s died.", playerName);
}
}
IRC_GroupSay(groupID, IRC_CHANNEL, msg);
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:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
CreateExplosion(x, y, z, 0, 12.0);
}
SetPVarInt(playerid,"K_Times",GetPVarInt(playerid,"K_Times") + 1);
if(GetPVarInt(playerid,"K_Times") > 3) BanExMsg(playerid,"FLOODING - Fake Kills",INVALID_PLAYER_ID);
return 1;
}
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 i = 0; i < MAX_ADMIN_VEHICLES; i++ ) SetVehicleParamsForPlayer( aVehicle[ i ], playerid, 0, 0 );
}
else
{
for ( new i = 0; i < MAX_ADMIN_VEHICLES; i++) SetVehicleParamsForPlayer( aVehicle[ i ], playerid, 0, 1 );
}
if(PlayerInfo[playerid][pAdminSpawn] == 1)
{
SetPlayerPos(playerid, 2191.0, 1676.0, 20.0); // << Admin spawn.
SetPlayerInterior(playerid, 0);
SetPlayerVirtualWorld(playerid, 0);
PlayerInfo[playerid][pAdminSpawn] = 0;
}
return 1;
}