Szerző Téma: Játékos halála  (Megtekintve 1477 alkalommal)

Játékos halála
« Dátum: 2014. június 08. - 01:04:18 »
0 Show voters
Sziasztok!
Van egy kódom ami a chatbe írja ha valaki megölt valakit.
Csak ezzel az a problémám hogyha leesett magasról és abba halt bele vagy ha egy égõ jármûben felrobbant akkor hülyeséget ír oda hogy ki ölte meg.
Valaki megtudná mondani hogy ezt hogyan lehetne kiküszöbölni, hogy úgy írja XY meghalt.?
 
public OnPlayerDeath(playerid, killerid, reason)
{
    new string[500], weaponname[500];
GetWeaponName(reason,weaponname,sizeof(weaponname));
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}megölte {%06x}%s (%d) {\"feher\"}játékost. Fegyver: %s\",GetPlayerColor(killerid) >>> 8,GetName(killerid),killerid,GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid,weaponname);
SendClientMessageToAll(-1,string);
return 1;
}

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Játékos halála
« Válasz #1 Dátum: 2014. június 08. - 09:21:13 »
0 Show voters

public OnPlayerDeath(playerid, killerid, reason)
{
    new string[500], weaponname[500];
        GetWeaponName(reason,weaponname,sizeof(weaponname));
        format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}megölte {%06x}%s (%d) {\"feher\"}játékost. Fegyver: %s\",GetPlayerColor(killerid) >>> 8,GetName(killerid),killerid,GetPlayerColor(playerid)>>>8,GetName(playerid),playerid,weaponname);
        SendClientMessageToAll(-1,string);
if(reason == 53)
  {
  SendClientMessage(playerid, -1, \"Leestél, pech\");
  return 1;
  }
 
return 1;
}

 
És ezt így tovább egészen a 51-54-ig.
http://wiki.sa-mp.com/wiki/Weapons -> Reasonok
Magyarázat: Minden halál oknak van egy ID-ja na és ha pl az illetõ meghalt és az oka 53 ami a leesés akkor kiírjuk, hogy mi történjen. Remélem érted :)
« Utoljára szerkesztve: 2014. június 08. - 09:23:28 írta RusH. »

Játékos halála
« Válasz #2 Dátum: 2014. június 08. - 09:22:38 »
0 Show voters
public OnPlayerDeath(playerid, killerid, reason)
{
    new string[500], weaponname[500];
if(killerid){
GetWeaponName(reason,weaponname,sizeof(weaponname));
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}megölte {%06x}%s (%d) {\"feher\"}játékost. Fegyver: %s\",GetPlayerColor(killerid) >>> 8,GetName(killerid),killerid,GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid,weaponname);
SendClientMessageToAll(-1,string);
} else {
format(string,sizeof(string),\"%s (%d) {\"feher\"}meghalt!\",GetName(playerid),playerid);
SendClientMessageToAll(-1,string);
}
return 1;
}

 
[mod]Javítottam a beágyazást.[/mod]
« Utoljára szerkesztve: 2014. június 08. - 10:12:50 írta Flash »

Játékos halála
« Válasz #3 Dátum: 2014. június 08. - 11:26:08 »
0 Show voters
Nem mûködik valamiért.
Valaki megnézné mi a probléma vele?
 
new string[500], weaponname[500];
    if(reason != 47 || reason != 49 || reason != 50 || reason != 51 || reason != 53 || reason != 54)
    {
GetWeaponName(reason,weaponname,sizeof(weaponname));
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}megölte {%06x}%s (%d) {\"feher\"}játékost. Fegyver: %s\",GetPlayerColor(killerid) >>> 8,GetName(killerid),killerid,GetPlayerColor(playerid)>>>8,GetName(playerid),playerid,weaponname);
SendClientMessageToAll(-1,string);
}
if(reason == 47)
{
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}meghalt. Indok: Fake Pistol\",GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid);
SendClientMessageToAll(-1,string);
}
if(reason == 50)
{
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}meghalt. Indok: Helicopter Blades\",GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid);
SendClientMessageToAll(-1,string);
}
if(reason == 51)
{
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}meghalt. Indok: Explosion\",GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid);
SendClientMessageToAll(-1,string);
}
if(reason == 53)
{
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}meghalt. Indok: Drowned\",GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid);
SendClientMessageToAll(-1,string);
}
if(reason == 54)
{
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}meghalt. Indok: Splat\",GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid);
SendClientMessageToAll(-1,string);
}

 
[mod]Beágyazás javítva![/mod]
« Utoljára szerkesztve: 2014. június 10. - 17:42:10 írta Flash »

Nem elérhető kos

  • 292
    • Profil megtekintése
Játékos halála
« Válasz #4 Dátum: 2014. június 09. - 08:33:56 »
0 Show voters
sima if az nem jó ebben az esetben, ugyan azt a dolgot vizsgálod! else if (el) próbáld.  :hmmm:

Játékos halála
« Válasz #5 Dátum: 2014. június 09. - 08:45:55 »
0 Show voters
én így csinálnám:
 

#include <a_samp>
public OnPlayerDeath(playerid, killerid, reason)
{
new string[256];
switch(reason)
{
    case 47: format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt. Indok: ASD\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
    case 50: format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt. Indok: ASD\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
    case 51: format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt. Indok: ASD\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
    case 52: format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt. Indok: ASD\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
    case 53: format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt. Indok: ASD\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
    case 54: format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt. Indok: KÉTASD\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
    default:
{
    if(IsPlayerConnected(killerid)) // CSAK BIZTOSRA AKAROK MENNI
   {
       new weaponname[50];
      GetWeaponName(reason,weaponname,sizeof(weaponname));
      format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}megölte {%06x}%s (%d) {FFFFFF}játékost. Fegyver: %s\",GetPlayerColor(killerid) >>> 8,GetName(killerid),killerid,GetPlayerColor(playerid)>>>8,GetName(playerid),playerid,weaponname);
            }
            else format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt.\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
}
}
SendClientMessageToAll(-1,string);
return 1;
}
stock GetName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}

 
U.I: lehet nem jó :) , siettem.

Játékos halála
« Válasz #6 Dátum: 2014. június 08. - 01:04:18 »
0 Show voters
Sziasztok!
Van egy kódom ami a chatbe írja ha valaki megölt valakit.
Csak ezzel az a problémám hogyha leesett magasról és abba halt bele vagy ha egy égõ jármûben felrobbant akkor hülyeséget ír oda hogy ki ölte meg.
Valaki megtudná mondani hogy ezt hogyan lehetne kiküszöbölni, hogy úgy írja XY meghalt.?
 
public OnPlayerDeath(playerid, killerid, reason)
{
    new string[500], weaponname[500];
GetWeaponName(reason,weaponname,sizeof(weaponname));
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}megölte {%06x}%s (%d) {\"feher\"}játékost. Fegyver: %s\",GetPlayerColor(killerid) >>> 8,GetName(killerid),killerid,GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid,weaponname);
SendClientMessageToAll(-1,string);
return 1;
}

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
Játékos halála
« Válasz #7 Dátum: 2014. június 08. - 09:21:13 »
0 Show voters

public OnPlayerDeath(playerid, killerid, reason)
{
    new string[500], weaponname[500];
        GetWeaponName(reason,weaponname,sizeof(weaponname));
        format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}megölte {%06x}%s (%d) {\"feher\"}játékost. Fegyver: %s\",GetPlayerColor(killerid) >>> 8,GetName(killerid),killerid,GetPlayerColor(playerid)>>>8,GetName(playerid),playerid,weaponname);
        SendClientMessageToAll(-1,string);
if(reason == 53)
  {
  SendClientMessage(playerid, -1, \"Leestél, pech\");
  return 1;
  }
 
return 1;
}

 
És ezt így tovább egészen a 51-54-ig.
http://wiki.sa-mp.com/wiki/Weapons -> Reasonok
Magyarázat: Minden halál oknak van egy ID-ja na és ha pl az illetõ meghalt és az oka 53 ami a leesés akkor kiírjuk, hogy mi történjen. Remélem érted :)
« Utoljára szerkesztve: 2014. június 08. - 09:23:28 írta RusH. »

Játékos halála
« Válasz #8 Dátum: 2014. június 08. - 09:22:38 »
0 Show voters
public OnPlayerDeath(playerid, killerid, reason)
{
    new string[500], weaponname[500];
if(killerid){
GetWeaponName(reason,weaponname,sizeof(weaponname));
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}megölte {%06x}%s (%d) {\"feher\"}játékost. Fegyver: %s\",GetPlayerColor(killerid) >>> 8,GetName(killerid),killerid,GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid,weaponname);
SendClientMessageToAll(-1,string);
} else {
format(string,sizeof(string),\"%s (%d) {\"feher\"}meghalt!\",GetName(playerid),playerid);
SendClientMessageToAll(-1,string);
}
return 1;
}

 
[mod]Javítottam a beágyazást.[/mod]
« Utoljára szerkesztve: 2014. június 08. - 10:12:50 írta Flash »

Játékos halála
« Válasz #9 Dátum: 2014. június 08. - 11:26:08 »
0 Show voters
Nem mûködik valamiért.
Valaki megnézné mi a probléma vele?
 
new string[500], weaponname[500];
    if(reason != 47 || reason != 49 || reason != 50 || reason != 51 || reason != 53 || reason != 54)
    {
GetWeaponName(reason,weaponname,sizeof(weaponname));
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}megölte {%06x}%s (%d) {\"feher\"}játékost. Fegyver: %s\",GetPlayerColor(killerid) >>> 8,GetName(killerid),killerid,GetPlayerColor(playerid)>>>8,GetName(playerid),playerid,weaponname);
SendClientMessageToAll(-1,string);
}
if(reason == 47)
{
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}meghalt. Indok: Fake Pistol\",GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid);
SendClientMessageToAll(-1,string);
}
if(reason == 50)
{
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}meghalt. Indok: Helicopter Blades\",GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid);
SendClientMessageToAll(-1,string);
}
if(reason == 51)
{
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}meghalt. Indok: Explosion\",GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid);
SendClientMessageToAll(-1,string);
}
if(reason == 53)
{
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}meghalt. Indok: Drowned\",GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid);
SendClientMessageToAll(-1,string);
}
if(reason == 54)
{
format(string,sizeof(string),\"{%06x}%s (%d) {\"feher\"}meghalt. Indok: Splat\",GetPlayerColor(playerid) >>> 8,GetName(playerid),playerid);
SendClientMessageToAll(-1,string);
}

 
[mod]Beágyazás javítva![/mod]
« Utoljára szerkesztve: 2014. június 10. - 17:42:10 írta Flash »

Nem elérhető kos

  • 292
    • Profil megtekintése
Játékos halála
« Válasz #10 Dátum: 2014. június 09. - 08:33:56 »
0 Show voters
sima if az nem jó ebben az esetben, ugyan azt a dolgot vizsgálod! else if (el) próbáld.  :hmmm:

Játékos halála
« Válasz #11 Dátum: 2014. június 09. - 08:45:55 »
0 Show voters
én így csinálnám:
 

#include <a_samp>
public OnPlayerDeath(playerid, killerid, reason)
{
new string[256];
switch(reason)
{
    case 47: format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt. Indok: ASD\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
    case 50: format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt. Indok: ASD\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
    case 51: format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt. Indok: ASD\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
    case 52: format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt. Indok: ASD\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
    case 53: format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt. Indok: ASD\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
    case 54: format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt. Indok: KÉTASD\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
    default:
{
    if(IsPlayerConnected(killerid)) // CSAK BIZTOSRA AKAROK MENNI
   {
       new weaponname[50];
      GetWeaponName(reason,weaponname,sizeof(weaponname));
      format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}megölte {%06x}%s (%d) {FFFFFF}játékost. Fegyver: %s\",GetPlayerColor(killerid) >>> 8,GetName(killerid),killerid,GetPlayerColor(playerid)>>>8,GetName(playerid),playerid,weaponname);
            }
            else format(string,sizeof(string),\"{%06x}%s (%d) {FFFFFF}meghalt.\",GetPlayerColor(playerid)>>>8,GetName(playerid),playerid);
}
}
SendClientMessageToAll(-1,string);
return 1;
}
stock GetName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
return name;
}

 
U.I: lehet nem jó :) , siettem.

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Játékos halála
« Válasz #12 Dátum: 2014. június 09. - 17:57:16 »
0 Show voters
« Utoljára szerkesztve: 2014. június 09. - 18:15:35 írta ScreaM »

Játékos halála
« Válasz #13 Dátum: 2014. június 10. - 16:10:13 »
0 Show voters
azzal hogy máshol kérdezted le a fegyvernevet meg javítottad a játékos szín bugot(ami mellesleg, gondolom a modjában is javítva van) nem látok eltérést az enyémtõl.

Nem elérhető jana4

  • 5929
  • Ex Staff
    • Profil megtekintése
Játékos halála
« Válasz #14 Dátum: 2014. június 10. - 17:26:24 »
+1 Show voters
Megkérdõjelezel? :D

Elég nagy baj, ha nem látsz semmi változást.


Jobban átlátható és takarékosabb.


De ha nálad nem lényeg a \"minõség\", akkor az a saját munkádra vall.


Különben ez a legegyszerûbb mód ennek a megírására.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal