-
Hali van egy nagynagy problémám... a szerveremen ha megölök valakit akkor annak lefut az onplayerdeath tehát kiír minden üzit meg fegyverelvétel meg minden de a faszika nem hal meg hanem futkos tovább és sehogyse tud meghali (nem fut le az onplayerspawn)... erre keresek valami megoldást mert mindent próbáltam de nem megy...
public OnPlayerDeath(playerid, killerid, reason)
{
//Textdrawok eltüntetése
TextDrawHideForPlayer( playerid, TeamInfo );
TextDrawHideForPlayer( playerid, AttackerInfo );
TextDrawHideForPlayer( playerid, DefenderInfo );
if(killerid == INVALID_PLAYER_ID) SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
else SendDeathMessage(killerid,playerid,reason);
ResetPlayerWeapons(playerid);
SetPlayerWantedLevel(killerid,GetPlayerWantedLevel(playerid)+1);//Növeli a gyilkos körözötségét
GivePlayerMoney(killerid,3000*GetPlayerWantedLevel(playerid));//Ha a halott körözött volt akkor plussz pénzt ad a gyilkosnak
SetPlayerWantedLevel(playerid,0);//A halottnak lenullázza a körözötségét
if(gTeam[killerid] != gTeam[playerid])//Ha a gyilkos más csapatban van mint a halott akkor lefut
{
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
GivePlayerMoney(killerid, 500);
} else {//De ha ugyanabban van akkor tk felirat jön ki
SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
GivePlayerMoney(killerid, -250);
SetPlayerHealth(killerid, 0);//Megöli a teamkillert
TextDrawShowForPlayer( killerid, TeamKill );
SetTimerEx(\"MessOff\",5*1000,0, \"d\", killerid);
}
return 1;//itt egyáltalán nem spawnol
//return OnPlayerSpawn(playerid);//ha meg ez van bent akkor valaki nem spawnol valaki meg spawnután is meghal :S
}
-
SpawnPlayer(playerid);
public OnPlayerDeath(playerid, killerid, reason)
{
//Textdrawok eltüntetése
TextDrawHideForPlayer( playerid, TeamInfo );
TextDrawHideForPlayer( playerid, AttackerInfo );
TextDrawHideForPlayer( playerid, DefenderInfo );
if(killerid == INVALID_PLAYER_ID) SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
else SendDeathMessage(killerid,playerid,reason);
ResetPlayerWeapons(playerid);
SetPlayerWantedLevel(killerid,GetPlayerWantedLevel(playerid)+1);//Növeli a gyilkos körözötségét
GivePlayerMoney(killerid,3000*GetPlayerWantedLevel(playerid));//
SetPlayerWantedLevel(playerid,0);//A halottnak lenullázza a körözötségét
if(gTeam[killerid] != gTeam[playerid])//Ha a gyilkos más csapatban van mint a halott akkor lefut
{
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
GivePlayerMoney(killerid, 500);
} else {//De ha ugyanabban van akkor tk felirat jön ki
SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
GivePlayerMoney(killerid, -250);
SetPlayerHealth(killerid, 0);//Megöli a teamkillert
TextDrawShowForPlayer( killerid, TeamKill );
SetTimerEx(\"MessOff\",5*1000,0, \"d\", killerid);
SpawnPlayer(killerid); // vagy playerid
}
}
return 1;
}
-
nem jó :S akkoris bugol hogyha tök üres az onplayerdeath...
-
De az OnPlayerSpawn-al nem lehet baj mert ha amikor kiválasztod a skint amivel akarsz lenni és letesz, akkor azzal nem lehet baj. Valami akadályozhatja
-
Nincs god mód a szerveren? Azaz, mindig visszatölti a játékos életét?
-
nincs... öszvissz az ladminos de annak nem lehet baja nem nyúltam hozzá már pár hónapja
-
Az Ladminéhoz nem kell hozzá nyúlnod, szar ígyis.
Próbáld úgy hogy kiveszed az ladmint.
-
próbáltam már úgyis hogy nincs bent semmi script...
-
Nekem is volt haonló problémám, nekem meghalt, csak a spawn nemfutott le. A SpawnPlayer(playerid)-t rakd a legelejére és tuti h menni fog.
( Textdrawok eltüntetése felé )
-
ha odarakom akkor meg totál bebuggol :S 1másodperc alatt 5ször megöli és 5ször spawnolja... és ezt megállás nélkül :\'( egyébként szerintem a teamkillnél lehet valmai mert azoknak akik nem tudnak spawnolni a tk utáni részt nem futtatja le :S
-
public OnPlayerDeath(playerid, killerid, reason)
{
//Textdrawok eltüntetése
SpawnPlayer(playerid);
TextDrawHideForPlayer( playerid, TeamInfo );
TextDrawHideForPlayer( playerid, AttackerInfo );
TextDrawHideForPlayer( playerid, DefenderInfo );
if(killerid == INVALID_PLAYER_ID) SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
else SendDeathMessage(killerid,playerid,reason);
ResetPlayerWeapons(playerid);
SetPlayerWantedLevel(killerid,GetPlayerWantedLevel(playerid)+1);//Növeli a gyilkos körözötségét
GivePlayerMoney(killerid,3000*GetPlayerWantedLevel(playerid));//Ha a halott körözött volt akkor plussz pénzt ad a gyilkosnak
SetPlayerWantedLevel(playerid,0);//A halottnak lenullázza a körözötségét
if(gTeam[killerid] != gTeam[playerid])//Ha a gyilkos más csapatban van mint a halott akkor lefut
{
SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
GivePlayerMoney(killerid, 500);
} else {//De ha ugyanabban van akkor tk felirat jön ki
SetPlayerScore(killerid, GetPlayerScore(killerid) - 1);
GivePlayerMoney(killerid, -250);
SetPlayerHealth(killerid, 0);//Megöli a teamkillert
TextDrawShowForPlayer( killerid, TeamKill );
SetTimerEx(\"MessOff\",5*1000,0, \"d\", killerid);
}
return 0; // return 0-val
}
-
így se mûködik :S ugyanúgy bebugol...
-
na hát elég hülye módzsert találtam ki de az on player deathez beírtam hogy dobja le 50 méter magasra azt akkor tuti meghal így most jó XD
-
Én úgy csináltam meg hogy az OnPlayerUpdate függvénnyel lekérdeztem a player életét és ha 3 alá csökken akkor megöli a playert :)
Néha így is bugos , de azért mûködik :D
-
hát ez nem nagyon mûködne mivel van oan map amin 1 élettel indulnak :P