←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Give item - źle działa

Zablokowany

  • +
  • -
RusEK - zdjęcie RusEK 03.01.2012

Witam,
jestem początkujący w sprawach pluginów, dopiero co zaczynam. Napisałem taki o to plugin:


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fun>

#define PLUGIN "Test 3"
#define VERSION "1.0"
#define AUTHOR "RusEK"


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /usp" , "funkcja_usp")
register_clcmd("say /ak" , "funkcja_ak47")
register_clcmd("say /m4" , "funkcja_m4a1")
}
public funkcja_usp(id)
{
give_item ( id, "weapon_usp" )
}

public funkcja_ak47(id)
{
give_item ( id , "weapon_ak47" )
}
public funkcja_m4a1(id)
{
give_item ( id , "weapon_m4a1" )
}


I tylko funkcja_usp działa. Tak jak napisałem, jestem nowy w tym, i chciałbym się dowiedzieć co jest źle, i na co uważać w prostych pluginach.
Z góry dzięki.
Pozdrawiam




@edit
Pomoże ktos?
Użytkownik RusEK edytował ten post 03.01.2012 19:35
Odpowiedz

  • +
  • -
Syczaj - zdjęcie Syczaj 03.01.2012

Po 1. Zawsze sprawdzaj czy gracz jest podłączony, jeśli dajesz item.
Po 2. Użyj fakemety.


/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN "Test 3"
#define VERSION "1.0"
#define AUTHOR "RusEK"


public plugin_init() {
   register_plugin(PLUGIN, VERSION, AUTHOR);
   register_clcmd("say /usp" , "funkcja_usp");
   register_clcmd("say /ak" , "funkcja_ak47");
   register_clcmd("say /m4" , "funkcja_m4a1");
}
public funkcja_usp(id)
{
   if(is_user_connected(id) && is_user_alive(id)){
	  fm_give_item (id,"weapon_usp");
}
}

public funkcja_ak47(id)
{
   if(is_user_connected(id) && is_user_alive(id)){
	  fm_give_item (id,"weapon_ak47");
}
}

public funkcja_m4a1(id)
{
   if(is_user_connected(id) && is_user_alive(id)){
	  fm_give_item (id,"weapon_m4a1");
}
}

Użytkownik Syczaj edytował ten post 03.01.2012 19:47
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 03.01.2012

a czy is_user_alive nie sprawdza czy gracz jest podlączony ?
Odpowiedz

  • +
  • -
Fili:P - zdjęcie Fili:P 03.01.2012

Po 2. Użyj fakemety.

Po 1 nigdy nie gadaj takich głupot !
MarWit (03.01.2012 22:28):
Po 2 include "fakemeta" nie posiada tego stocka ( tylko "fakemeta_util" )
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 03.01.2012

a czy is_user_alive nie sprawdza czy gracz jest podlączony ?

Jak gracz żyje, to nie może być nie podłączony, czyli tak jakby sprawdza.
Odpowiedz

  • +
  • -
Stachuu :D ?? - zdjęcie Stachuu :D ?? 03.01.2012

fm_give_item a give_item to robi wg. jakaś większa różnice ??
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 03.01.2012

Tak, "fm_give_item" korzysta z fakemety, a "give_item" z funa, to drugie podobno jest lepszym rozwiązaniem (niejednokrotnie o tym gdzieś czytałem), jeśli chodzi o dawanie przedmiotów.
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 03.01.2012

Jak gracz żyje, to nie może być nie podłączony, czyli tak jakby sprawdza.


to była ironia

co do fakemety to róznica jest ale i tak nie zauwazalna wiec skoro napiszesz 1k linijek uzywając fakemety zamiast funa/engine to nie ma sensu od tego odchodzić tylko dlatego ze funkcje natywne modułów są szybsze bo na stos leci o jedna funkcje mniej
sebul (03.01.2012 21:16):
Za dużo tej ironii z Twojej strony ^ ^ ;]
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 04.01.2012

oczywiście że w tym przypadku użycie fun jest lepsze niż fm.
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 04.01.2012

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Posted Image raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany