Natywy.
Screeaam... 27.05.2010
Witam, jeżeli chcę dodać do swojego przerobionego Diablo natywy to wystarczy zrobić tak:
I zmienić to:
I w pliku diablomod.inc zmienić ?
Dałem przykład z 1 natywem.
Po co to wogóle?
public plugin_natives() { register_native("db_get_user_level", "native_get_user_level") }
I zmienić to:
public native_get_user_level(id) { return player_lvl[id] }
I w pliku diablomod.inc zmienić ?
Dałem przykład z 1 natywem.
Po co to wogóle?
R3X
27.05.2010
jeśli chcesz tak
Natywy służą do udostępniania funkcji do innych pluginów:
native_get_user_level(id)to zarejestruj native z style = 1 (3 parametr)
Natywy służą do udostępniania funkcji do innych pluginów:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Native Test"
#define VERSION "1.0"
#define AUTHOR "R3X"
native db_get_user_level(id);
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /native", "cmdNativeTest");
}
public cmdNativeTest(id){
client_print(id, print_chat, "Twoj level to %d", db_get_user_level(id));
}
Screeaam... 27.05.2010
Ale jeżeli bym chciał dodać te natywy do mojego Diablo, to wystarczy taki sposób jaki podałem?
R3X
27.05.2010
Jeśli chcesz by funkcja obsługująca natywa (native_get_user_level) miała taki argument jak napisałeś to musisz użyć:
Jeśli zostawisz puste to wywoływana będzie taka funkcja
register_native("db_get_user_level", "native_get_user_level", 1)
Jeśli zostawisz puste to wywoływana będzie taka funkcja
public native_get_user_level(plugin, params)
Screeaam... 27.05.2010
Okej dzięki, jeszcze jedno pytanie.
Mam takie coś:
To przybliżenie z broni. Jak zrobić, że jeżeli ma się np. M4, wcisnę PPM to on pierw założy tłumik, potem znów wcisnę PPM i przybliży?
Edited by Screeaam..., 27.05.2010 23:45.
Mam takie coś:
new weapon1 = get_user_weapon(id) if (button2 & IN_ATTACK2 && player_class[id]==Hefasto && !(get_user_oldbutton(id) & IN_ATTACK2)){ if(weapon1 !=CSW_KNIFE && weapon1!= CSW_AWP && weapon1!= CSW_SCOUT && weapon1!= CSW_AUG && weapon1!= CSW_G3SG1 && weapon1!= CSW_SG552){ if (cs_get_user_zoom(id)==CS_SET_NO_ZOOM) cs_set_user_zoom ( id, CS_SET_AUGSG552_ZOOM, 1 ) else cs_set_user_zoom(id,CS_SET_NO_ZOOM,1) } }
To przybliżenie z broni. Jak zrobić, że jeżeli ma się np. M4, wcisnę PPM to on pierw założy tłumik, potem znów wcisnę PPM i przybliży?
Edited by Screeaam..., 27.05.2010 23:45.
Screeaam... 28.05.2010
Chodzi mi o to.
Mam M4A1, wciskam PPM, on zakłada tłumik, wciskam znów PPM, przybliża, wciskam PPM, zdejmuje tłumik, wciskam PPM oddala. Chyba, że da się zrobić, aby tłumika nie zakładał, w co wątpie (Ma być na PPM)
Czyli dzięki natywom mogę robić osobne pluginy np. Że, jakaś klasa będzie miała jakąś moc?
Mam M4A1, wciskam PPM, on zakłada tłumik, wciskam znów PPM, przybliża, wciskam PPM, zdejmuje tłumik, wciskam PPM oddala. Chyba, że da się zrobić, aby tłumika nie zakładał, w co wątpie (Ma być na PPM)
Czyli dzięki natywom mogę robić osobne pluginy np. Że, jakaś klasa będzie miała jakąś moc?
R3X
28.05.2010
Można zablokować zakładanie tłumika przy emce
i zamień warunek
na
Z tą klasą to masz rację. Możesz przy używaniu jakiejś mocy z innegu pluginu sprawdzać czy gracz jest np. łowcą
RegisterHam(Ham_Weapon_SecondaryAttack, "weapon_m4a1", "fwSecondaryAttack", 0); public fwSecondaryAttack(ent){ return HAM_SUPERCEDE; }
i zamień warunek
weapon1 !=CSW_KNIFE && weapon1!= CSW_AWP && weapon1!= CSW_SCOUT && weapon1!= CSW_AUG && weapon1!= CSW_G3SG1 && weapon1!= CSW_SG552
na
weapon1 == CSW_M4A1
Z tą klasą to masz rację. Możesz przy używaniu jakiejś mocy z innegu pluginu sprawdzać czy gracz jest np. łowcą
Screeaam... 30.05.2010
A jeżeli chce dać tą funkcję na większą ilość broni? I jak dać tą moc na daną klasę?
Edited by Screeaam..., 30.05.2010 16:03.
Edited by Screeaam..., 30.05.2010 16:03.