Szerző Téma: OnPlayerDeath probléma  (Megtekintve 840 alkalommal)

Nem elérhető myke

  • 213
    • Profil megtekintése
OnPlayerDeath probléma
« Dátum: 2015. október 23. - 08:14:56 »
0 Show voters
Sziasztok!
Csináltam egy hullarendszert, és azóta nem mindig futnak le az onplayerdeath alatt lévő dolgok.
Mitől van ez, és hogy lehetne megoldani?
OnPlayerDeath:
 
public OnPlayerDeath(playerid, killerid, reason)
{
new S[128], S2[128], Fegyvernev[128];
new Weapon = GetPlayerWeapon(killerid);
    KillTimer(EhsegTimer[playerid]);
    pInfo[playerid][pEhseg] = 0;
format(serulese[playerid], 64, \"-\");
Meghalt[playerid] = 1;
SetPlayerHealth(playerid, 100.0);
ElolDeagle[playerid] = 0;
ElolColt[playerid] = 0;
ElolUto[playerid] = 0;
FegyverElol[playerid] = 0;
uzi1[playerid] = 0;
Injourney[playerid] = 0;
Watching[playerid] = 0;
Goto[playerid] = 0;
Serult[playerid] = false;
beszorult[id]= false;
KillTimer(SerultTimer[playerid]);
for(new hulla; hulla < MAX_HULLA; hulla++)
{
   if(HullaInfo[hulla][Van] == 0)
         {
    GetPlayerPos(playerid, HullaInfo[hulla][PosX], HullaInfo[hulla][PosY], HullaInfo[hulla][PosZ]);
   HullaInfo[hulla][HullaObject] = CreateDynamicObject(2907, HullaInfo[hulla][PosX], HullaInfo[hulla][PosY], HullaInfo[hulla][PosZ]-0.8, 0, 0, 274);
    HullaInfo[hulla][Van] = 1;
    format(HullaInfo[hulla][Kioltemeg], 24, \"%s\", Nev(killerid));
    format(HullaInfo[hulla][Halott], 24, \"%s\", Nev(playerid));
    HullaInfo[hulla][Penz] = pInfo[playerid][pMoney];
    pInfo[playerid][pMoney] = 0;
    HullaInfo[hulla][Htext3d] = CreateDynamic3DTextLabel(\"HOLTTEST\\n(( /hulla ))\", CITROM, HullaInfo[hulla][PosX], HullaInfo[hulla][PosY], HullaInfo[hulla][PosZ], 20.0);
           if(reason < 49)
   {
      GetWeaponName(Weapon, Fegyvernev,sizeof(Fegyvernev));
      format(HullaInfo[hulla][HalalOka], 64, \"Lőtt seb: %s\", Fegyvernev);
   }
   if(reason == 49)
   {
      format(HullaInfo[hulla][HalalOka], 64, \"Elgázolták\");
   }
   if(reason == 50)
   {
                format(HullaInfo[hulla][HalalOka], 64, \"Vágások a testen\");
   }
   if(reason == 51)
   {
      format(HullaInfo[hulla][HalalOka], 64, \"Felrobbant\");
   }
   if(reason == 53)
   {
                format(HullaInfo[hulla][HalalOka], 64, \"Megfulladt\");
   }
   if(reason == 54)
   {
      format(HullaInfo[hulla][HalalOka], 64, \"Lezuhant\");
   }
}
}
if(reason < 49)
{
new str1[250];
    new zona[MAX_PLAYER_NAME];
GetPlayer2DZone(playerid, zona, MAX_ZONE_NAME);
SendRendorMessage(KEK, \"Központ: Figyelem minden egységnek!\");
SendFBIMessage(KEK, \"Központ: Figyelem minden egységnek!\");
format(str1, sizeof(str1), \"%s körzetben gyilkosság történt.\",zona);
SendRendorMessage(KEK, str1);
SendFBIMessage(KEK, str1);
SendRendorMessage(KEK, \"Minden elérhető járőr azonnal induljon a helyszínre!\");
SendFBIMessage(KEK, \"Minden elérhető járőr azonnal induljon a helyszínre\");
}
if(reason < 49)
{
GetWeaponName(Weapon, Fegyvernev,sizeof(Fegyvernev));
format(S, sizeof(S), \"[AC] %s meghalt. Megölte: %s ( Fegyver: %s )\", Nev(playerid), Nev(killerid), Fegyvernev);
SendAdminMessage(PIROS, S);
}
if(reason == 49)
{
format(S, sizeof(S), \"[AC] %s meghalt. Elütötte: %s.\", Nev(playerid), Nev(killerid));
SendAdminMessage(PIROS, S);
}
if(reason == 50)
{
format(S, sizeof(S), \"[AC] %s meghalt. Lekaszálta: %s.\", Nev(playerid), Nev(killerid));
SendAdminMessage(PIROS, S);
}
if(reason == 51)
{
format(S, sizeof(S), \"[AC] %s meghalt. Felrobbantotta: %s.\", Nev(playerid), Nev(killerid));
SendAdminMessage(PIROS, S);
}
if(reason == 53)
{
format(S, sizeof(S), \"[AC] %s meghalt. Mefulladt\", Nev(playerid));
SendAdminMessage(PIROS, S);
}
if(reason == 54)
{
format(S, sizeof(S), \"[AC] %s meghalt. Halál oka: Lezuhant\", Nev(playerid));
SendAdminMessage(PIROS, S);
}
if(TilosOlni == 1)
{
 new stringke[128];
 new sendername[32];
         GetPlayerName(killerid, sendername, sizeof(sendername));
   //new playa;
   //new randomaj;
   //new tmp[256];
   //new name[24];
   //GetPlayerName(killerid, name, sizeof(name));
        //tmp = strtok(cmdtext, idx);
   //playa = killerid;
     format(stringke, sizeof(stringke), \"%s AdminJailba zárva a rendszer által | Indok: Zero Tolerancia | Idő: 60 Perc |\",sendername);
         SendClientMessageToAll(PIROS, stringke);
         pInfo[killerid][pBorton] = 60 * 60;
         AJLog(S2);
         SetPlayerInterior(id, 3), SetPlayerPos(id, 1237.2462,-687.9935,1085.4559);
         SetPlayerHealth(killerid, 100000);
 
 format(S, sizeof(S), \"AdminJailba kerültél! Indok: Zero Tolerancia | Idő: 60 Perc\");
 SendClientMessage(killerid, PIROS, S);
         //SetPlayerInterior(killerid, 3), SetPlayerPos(killerid, 2985.0122,1535.7924,43.0559);
         //KillTimer(BortonTimer[killerid]);
         //BortonTimer[killerid] = SetTimerEx(\"IsPlayerSzabad\", 1000, true, \"i\", id);
}
if(reason != 5 && reason != 22 && reason != 24) return 0;
new Float:pPosX, Float:pPosY, Float:pPosZ;
GetPlayerPos(playerid, pPosX, pPosY, pPosZ);
for(new i_slot = 0, gun, ammo; i_slot != 12; i_slot++)
{
GetPlayerWeaponData(playerid, i_slot, gun, ammo);
if(gun != 0 && ammo != 0) Fegyvereldobas(gun, ammo, pPosX+random(2)-random(2), pPosY+random(2)-random(2), pPosZ);
}
 
return 1;
}

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
OnPlayerDeath probléma
« Válasz #1 Dátum: 2015. október 23. - 09:42:46 »
0 Show voters
huhh hát most had ne soroljam fel azt a 1001 dolgot amit megváltoztatnék ezen a kódon :)
véletlenül nem vágja limitre az első halál a hulla rendszeredet? (tele pakolja az összes slotot)
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető myke

  • 213
    • Profil megtekintése
OnPlayerDeath probléma
« Válasz #2 Dátum: 2015. október 23. - 09:56:14 »
0 Show voters
Meglehet.  :D
És, ha hulla így lenne?
 
         
new hulla;
for(new i; i < MAX_HULLA; i ++)
   {
      if(HullaInfo[Van] == 1)
      {
         hulla = i + 1;
      }
   }

 
Vagy esetleg csak a break hiányzik?

Dupla hozzászólás automatikusan összefûzve. ( 2015. október 23. - 10:23:04 )

Sikerült megcsinálnom, elfelejtettem a breaket a végéről.
« Utoljára szerkesztve: 2015. október 23. - 10:23:04 írta myke »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal