Prośba, plugin 'Głosowanie'
psilocybe
22.03.2012
Witam
Mam problem z głosowaniem, chciałem dostosować plugin MisieQ, do głosowania za lub przeciwko włączeniu trybu DM, cały kod raczej nie zmieniony, w public zakoncz_glosowanie dodałem server_cmd z cvarem który niby odpowiada za włączenie DM lecz niestety po oddaniu głosów nie włącza się DM ani nie wyświetla info z wynikiem głosowania.
Prosił bym o poprawienie kodu tak aby DM się włączał (CSDM - sma głównego pluginu w załączniku), oraz jeżeli jest to możliwe, dodać wyświetlanie wyników głosowania na czacie a nie hud, oraz dodać info "Player głosował na DM ON" "Player2 głosował na DM OFF" itd. również na czacie, info jak przy zwykłym amx_vote.
Z góry dzięki za pomoc.
Mam problem z głosowaniem, chciałem dostosować plugin MisieQ, do głosowania za lub przeciwko włączeniu trybu DM, cały kod raczej nie zmieniony, w public zakoncz_glosowanie dodałem server_cmd z cvarem który niby odpowiada za włączenie DM lecz niestety po oddaniu głosów nie włącza się DM ani nie wyświetla info z wynikiem głosowania.
Prosił bym o poprawienie kodu tak aby DM się włączał (CSDM - sma głównego pluginu w załączniku), oraz jeżeli jest to możliwe, dodać wyświetlanie wyników głosowania na czacie a nie hud, oraz dodać info "Player głosował na DM ON" "Player2 głosował na DM OFF" itd. również na czacie, info jak przy zwykłym amx_vote.
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> new const gNazwaPluginu[] = "Glosowanie"; new const gWersjaPluginu[] = "1.0"; new const gAutorPluginu[] = "MisieQ"; new wybor[3]; public plugin_init() { register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu); register_logevent("Poczatek_Mapy", 2, "1=Game_Commencing") register_event("TextMsg", "Restart_Rund", "a", "2&Game_will_restart_in"); } public Poczatek_Mapy() { set_task(10.0, "glosowanie"); } public Restart_Rund() { set_task(10.0, "glosowanie"); } public glosowanie(id) { new menu = menu_create("\rGRAMY DEADMATCH?", "glosowanie_wybor") menu_additem(menu, "\wTak", "1", 0) menu_additem(menu, "\yNie", "2", 0) menu_addblank(menu, 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) new players[32], inum get_players(players, inum, "ch") for(new i = 0; i < inum; i++) { menu_display(players[i], menu, 0) } set_task(10.0, "zakoncz_glosowanie") wybor[1] = wybor[2] = 0 return 1 } public glosowanie_wybor(id, menu, item) { if (item == MENU_EXIT) { menu_cancel(id) return PLUGIN_HANDLED } new data[6], name[32] new access, callback menu_item_getinfo(menu, item, access, data, 5, _, _, callback) new key = str_to_num(data) get_user_name(id, name, 31) switch (key) { case 1: { set_hudmessage(42, 127, 255, -1.0, 0.25, 3, 6.0, 12.0, 0.2, 0.4, 2) show_hudmessage(id, "DM +1"); } case 2: { set_hudmessage(42, 127, 255, -1.0, 0.25, 3, 6.0, 12.0, 0.2, 0.4, 2) show_hudmessage(id, "DM -1"); } } menu_cancel(menu) return PLUGIN_HANDLED } public zakoncz_glosowanie(id) { new ile = wybor[1]+wybor[2] set_hudmessage(255, 170, 0, -1.0, 0.25, 1, 6.0, 12.0, 0.2, 0.4, 1) if(wybor[1] > wybor[2]) { show_hudmessage(id, "Glosowanie Zakonczone !^n^nGRAMY DM?^nIlosc glosow na Tak: %d^nIlosc Glosow na Nie: %d^nW Sumie Glosow: %d", wybor[1], wybor[2], ile) server_cmd ("csdm_set_active 1") } else if(wybor[2] > wybor[1]) { show_hudmessage(id, "Glosowanie Zakonczone !^n^nGRAMY DM?^nIlosc glosow na Tak: %d^nIlosc Glosow na Nie: %d^nW Sumie Glosow: %d", wybor[2], wybor[1], ile) server_cmd ("csdm_set_active 0") } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang1033{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par } */
Z góry dzięki za pomoc.
Załączone pliki
psilocybe
23.03.2012
Niestety nie mogę edytować także przepraszam za double posta Zmieniłem trochę kod ale nadal nie działa wyświetlanie wyników i zmiana cvaru oraz pauzowanie pluginów.
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> new const gNazwaPluginu[] = "Glosowanie"; new const gWersjaPluginu[] = "1.0"; new const gAutorPluginu[] = "MisieQ"; new wybor[3]; public plugin_init() { register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu); register_logevent("Poczatek_Mapy", 2, "1=Game_Commencing") register_event("TextMsg", "Restart_Rund", "a", "2&Game_will_restart_in"); } public Poczatek_Mapy() { set_task(10.0, "glosowanie"); } public Restart_Rund() { set_task(10.0, "glosowanie"); } public glosowanie(id) { new menu = menu_create("\rGRAMY DEADMATCH?", "glosowanie_wybor") menu_additem(menu, "\wTak", "1", 0) menu_additem(menu, "\yNie", "2", 0) menu_addblank(menu, 0) menu_setprop(menu, MPROP_EXIT, MEXIT_ALL) new players[32], inum get_players(players, inum, "ch") for(new i = 0; i < inum; i++) { menu_display(players[i], menu, 0) } set_task(15.0, "zakoncz_glosowanie") wybor[1] = wybor[2] = 0 return 1 } public glosowanie_wybor(id, menu, item) { if (item == MENU_EXIT) { menu_cancel(id) return PLUGIN_HANDLED } new data[6], name[32] new access, callback menu_item_getinfo(menu, item, access, data, 5, _, _, callback) new key = str_to_num(data) get_user_name(id, name, 31) switch (key) { case 1: { client_print(id, print_chat, "Glosowales ZA wlaczeniem DM") } case 2: { client_print(id, print_chat, "Glosowales PRZECIWKO wlaczeniu DM") } } menu_cancel(menu) return PLUGIN_HANDLED } public zakoncz_glosowanie(id) { new ile = wybor[1]+wybor[2] if(wybor[1] > wybor[2]) { client_print(id, print_chat, "DEATHMATCH - ON") server_cmd ("csdm_enable") pause("ac","realnadedrops.amxx") unpause("ac","noobjectives.amxx") } else if(wybor[2] > wybor[1]) { client_print(id, print_chat, "Glosy na nie: %d - DEATHMATCH - OFF", wybor[2]) server_cmd ("csdm_disable") pause("ac","noobjectives.amxx") unpause("ac","realnadedrops.amxx") } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang1033{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par } */
mierzwi 23.03.2012
powinno śmigać, przekompilowało się
Użytkownik maselo edytował ten post 23.03.2012 14:46
/* Plugin generated by AMXX-Studio */ #include &--#60;amxmodx&--#62; #include &--#60;amxmisc&--#62; new const gNazwaPluginu[] = "Glosowanie"; new const gWersjaPluginu[] = "1.0"; new const gAutorPluginu[] = "MisieQ"; new wybor[3]; public plugin_init() { register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu); register_logevent("Poczatek_Mapy", 2, "1=Game_Commencing"); register_event("TextMsg", "Restart_Rund", "a", "2&Game_will_restart_in"); } public Poczatek_Mapy() { set_task(10.0, "glosowanie"); } public Restart_Rund() { set_task(10.0, "glosowanie"); } public glosowanie(id) { new menu = menu_create("\rGRAMY DEADMATCH?", "glosowanie_wybor"); menu_additem(menu, "\wTak", "1", 0); menu_additem(menu, "\yNie", "2", 0); menu_addblank(menu, 0); menu_setprop(menu, MPROP_EXIT, MEXIT_ALL); new players[32], inum; get_players(players, inum, "ch"); for(new i = 0; i &--#60; inum; i++) { menu_display(players[i], menu, 0); } set_task(15.0, "zakoncz_glosowanie"); wybor[1] = 0; wybor[2] = 0; return 1; } public glosowanie_wybor(id, menu, item) { if (item == MENU_EXIT) return PLUGIN_HANDLED; new data[6]; new access, callback; menu_item_getinfo(menu, item, access, data, 5, _, _, callback); new key = str_to_num(data); switch (key) { case 1: { client_print(id, print_chat, "Glosowales ZA wlaczeniem DM"); wybor[1]++; } case 2: { client_print(id, print_chat, "Glosowales PRZECIWKO wlaczeniu DM"); wybor[2]++; } } return PLUGIN_HANDLED } public zakoncz_glosowanie(id) { if(wybor[1] &--#62; wybor[2]) { client_print(0, print_chat, "DEATHMATCH - ON") server_cmd ("csdm_enable") pause("ac","realnadedrops.amxx") unpause("ac","noobjectives.amxx") } else { client_print(0, print_chat, "Glosy na nie: %d - DEATHMATCH - OFF", wybor[2]) server_cmd ("csdm_disable") pause("ac","noobjectives.amxx") unpause("ac","realnadedrops.amxx") } }
Użytkownik maselo edytował ten post 23.03.2012 14:46
psilocybe
23.03.2012
Wzceśniej nie zauważyłem error_loga z tego pluginu:
Linijka 81 to:
Nie wiem o co tu chodzi...
EDIT: Dzięki maselo, Twój kod działa jak należy, wielkie dzięki kolego
Użytkownik psilocybe edytował ten post 23.03.2012 14:55
L 03/23/2012 - 14:25:05: Played 9 is not in game L 03/23/2012 - 14:25:05: [AMXX] Displaying debug trace (plugin "votedm.amxx") L 03/23/2012 - 14:25:05: [AMXX] Run time error 10: native error (native "menu_cancel") L 03/23/2012 - 14:25:05: [AMXX] [0] votedm.sma::glosowanie_wybor (line 81)
Linijka 81 to:
menu_cancel(menu)
Nie wiem o co tu chodzi...
EDIT: Dzięki maselo, Twój kod działa jak należy, wielkie dzięki kolego
Użytkownik psilocybe edytował ten post 23.03.2012 14:55
speedkill
23.03.2012
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Temat zamknięty na prośbę użytkownika.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Temat zamknięty na prośbę użytkownika.
Z pozdrowieniami,
Zespół AMXX.PL