PaiN kiLLer .! Opublikowano 19 Sierpnia 2013 Fragowicz Opublikowano 19 Sierpnia 2013 (edytowane) Cześć. Czy dobrze zroibłem plugin ? plugin ma liczyć fragi gracza. Funkcja get_user_frags chyba działa tak samo ale ja zrobiłem nie używając tego. Mało tego zrobiłem jeszcze funkcje która liczy fragi całego serwera i zapisuje do zmiennej. Czy dobrze zrobiony plugin ? #include <amxmodx> #include <amxmisc> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "Daniel" new zabicia_graczy[32]; new kills=0; new sync; new zabicia=0; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("DeathMsg", "DeathMsg", "a") sync = CreateHudSyncObj() } public DeathMsg() { new kid = read_data(1) zabicia_graczy[kid] = kills++; } public client_disconnect(id) { zabicia_graczy[id] = 0; } public cos(id) { { set_hudmessage(255,255,255,0.5,0.5) ShowSyncHudMsg(0, sync, "Ilosc Twoich zabojstw : %s", zabicia_graczy[id]) } } public plugin_cfg() { for(new i;i<32;i++) { zabicia = zabicia + zabicia_graczy[i]; } } PS: Niewiem czy ShowSyncHudMessage jest dobrze zrobione więc jeśli źle to poprawcie :D Edytowane 19 Sierpnia 2013 przez PaiN kiLLer .!
Właściciel GET Opublikowano 20 Sierpnia 2013 Właściciel Opublikowano 20 Sierpnia 2013 #include <amxmodx> #include <amxmisc> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "Daniel" new zabicia_gracza[33]=0; new kills=0; new sync; new maxplayers public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("DeathMsg", "DeathMsg", "a") sync = CreateHudSyncObj() set_task(1.0, "cos") } public plugin_cfg(){ maxplayers = get_maxplayers(); } public client_disconnect(id){ zabicia_gracza[id] = 0; } public DeathMsg(){ new kid = read_data(1) zabicia_gracza[kid] += kills; } public cos(){ for(new i=1; i<maxplayers; i++){ set_hudmessage(255,255,255,0.5,0.5) ShowSyncHudMsg(i, sync, "Ilosc Twoich zabojstw: %s", zabicia_gracza[i]) } }
PaiN kiLLer .! Opublikowano 20 Sierpnia 2013 Autor Fragowicz Opublikowano 20 Sierpnia 2013 new zabicia_gracza[33]=0; dlaczego 33 elementy i dlaczego 0 ?
Właściciel GET Opublikowano 20 Sierpnia 2013 Właściciel Opublikowano 20 Sierpnia 2013 Bo 32 graczy. Skasować możesz =0, bo ta zmienna globalna i tak przyjmie wartość 0. Zamiast tego, możesz dać: #define MAX 32 // ilosc slotow i potem zmienne globalne z tablicą: new zabicia_gracza[MAX+1]=0;
PaiN kiLLer .! Opublikowano 20 Sierpnia 2013 Autor Fragowicz Opublikowano 20 Sierpnia 2013 (edytowane) No właśńie i tego nie rozumiem. Skoro jest maximum 32 graczy to dlaczego 33 elementy ? Edytowane 20 Sierpnia 2013 przez PaiN kiLLer .!
Właściciel GET Opublikowano 20 Sierpnia 2013 Właściciel Opublikowano 20 Sierpnia 2013 http://amxx.pl/topic/98285-static-new-33-lub-32/?p=481346
PaiN kiLLer .! Opublikowano 20 Sierpnia 2013 Autor Fragowicz Opublikowano 20 Sierpnia 2013 Czy jeśli w moim kodzie byłoby zamiast [32] to [33] to czy mój kod by był poprawny ? zakładając że show sync hud messgae zawsze się pokarze ?
Właściciel GET Opublikowano 20 Sierpnia 2013 Właściciel Opublikowano 20 Sierpnia 2013 Byłby poprawny. Jak dasz 32, tylko 32 to 31 graczy. Jeśli 33, to będzie 32 czyli max. Dlatego najlepiej jest zrobić definicję pre-procesora, gdzie podamy liczbę slotów dostępnych, a w zmiennej ta liczba +1 i to wszystko. Zaoszczędzisz dzięki temu pamięć, bo po co robić zmienną globalną tylu elementową, jeśli masz tylko 20 slotów. No to tylko 20 indexów będzie przykładowo, a Ty możesz mieć tam powiedźmy 26. No to o 6 za dużo i niepotrzebnie Ci pamięć zjada.
PaiN kiLLer .! Opublikowano 20 Sierpnia 2013 Autor Fragowicz Opublikowano 20 Sierpnia 2013 a jeszcze jedno. Bo prówowałem troche z nvault ale nie rozumiem tego. Próbowałem skorzystać z dokumentacji ale sam kod bez rozumienie nic nie daje. Na amxx czytałem temat Trochę o nvault i musze powiedzieć że poradnik jest bez sensu. Nic z niego nie rozumiem . Może masz jakis link o nvault. Lub czy jest jakaś inna biblioteka która działa podobnie do nvault :D
Właściciel GET Opublikowano 20 Sierpnia 2013 Właściciel Opublikowano 20 Sierpnia 2013 Najpierw podstawy, potem nvault.
Właściciel GET Opublikowano 11 Października 2014 Właściciel Opublikowano 11 Października 2014 Wiadomość wygenerowana automatycznie Ten temat został przeniesiony z forum HLDS & SRCDS → AMX MOD X → Problemy i pytania do HLDS & SRCDS → Scripting → Problemy i pytania
Właściciel GET Opublikowano 6 Czerwca 2017 Właściciel Opublikowano 6 Czerwca 2017 Wiadomość została wygenerowana automatycznie. Ten temat został oznaczony przez Moderatora jako spam i wyrzucony do -> archiwum. Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Rekomendowane odpowiedzi