[ROZWIĄZANE] Prośba o napisanie pluginu
nieT.ogarnieT
03.06.2013
Witam. Mam propozycje napisania pluginu - nie wymagam cudow jest to po prostu ale do rzeczy:
Poczatek rundy - Jest ciemno (komenda amx_night) i bedzie tak dlugo ciemno az nie padnie pierwszy frag, (robi sie jasno - amx_day) beda zablokowane latarki oraz noktowizory na czas tej rundy (az tak nie wymagam ale byloby swietnie) . Czekam na jakas propozycje.
Aha i przewidzialem pewien bug - osoba ktora przezyje i kupi noktowizor to bd miala w next rundzie i nieco nie fair, ale w sumie moge noktowizor i ta latarke zablokowac. Pozdrawiam i z gory dziekuje !
Amaroq
03.06.2013
Wersja bez komend amx_day, amx_night
Użytkownik FD_GODPL edytował ten post 03.06.2013 21:45
#include <amxmodx> #include <engine> new bool:dark_map; new cvar_flashlight; public plugin_init() { register_plugin("Ciemna mapa", "1.0", "FD_GODPL"); register_event("DeathMsg", "Smierc", "a"); register_clcmd("+nightvision", "BlokujCmd"); cvar_flashlight = get_cvar_pointer("mp_allowflashlight") register_event("HLTV", "HLTV_event", "a", "1=0", "2=0"); } public BlokujCmd() { if(dark_map) return PLUGIN_HANDLED; return PLUGIN_CONTINUE; } public Smierc() { new attacker = read_data(1); new victim = read_data(2); if(attacker == victim) return PLUGIN_CONTINUE; if(attacker == 0) return PLUGIN_CONTINUE; if(get_user_team(attacker) == get_user_team(victim)) return PLUGIN_CONTINUE; if(dark_map) { dark_map = false; set_lights("#OFF"); set_pcvar_num(cvar_flashlight, 1); } return PLUGIN_CONTINUE; } public HLTV_event() { dark_map = true; set_lights("a") set_pcvar_num(cvar_flashlight, 0); }A tutaj wersja z komendami wyżej wymienionymi
#include <amxmodx> new bool:dark_map; new cvar_flashlight; public plugin_init() { register_plugin("Ciemna mapa", "1.0", "FD_GODPL"); register_event("DeathMsg", "Smierc", "a"); register_clcmd("+nightvision", "BlokujCmd"); cvar_flashlight = get_cvar_pointer("mp_allowflashlight") register_event("HLTV", "HLTV_event", "a", "1=0", "2=0"); } public BlokujCmd() { if(dark_map) return PLUGIN_HANDLED; return PLUGIN_CONTINUE; } public Smierc() { new attacker = read_data(1); new victim = read_data(2); if(attacker == victim) return PLUGIN_CONTINUE; if(attacker == 0) return PLUGIN_CONTINUE; if(get_user_team(attacker) == get_user_team(victim)) return PLUGIN_CONTINUE; if(dark_map) { dark_map = false; server_cmd("amx_day"); set_pcvar_num(cvar_flashlight, 1); } return PLUGIN_CONTINUE; } public HLTV_event() { dark_map = true; server_cmd("amx_night"); set_pcvar_num(cvar_flashlight, 0); }W oby dwóch wersjach jest zablokowanie latarki oraz noktowizora kiedy jest ciemno, w przypadku noktowizora nie jestem pewny czy to na pewno go zablokuje.
Użytkownik FD_GODPL edytował ten post 03.06.2013 21:45
nieT.ogarnieT
04.06.2013
dzięki naprawdę nie myslalem ze sa jeszcze takie aktywne ludziska. Przyjade z miasta to zobacze. dzięki jeszcze raz!
nieT.ogarnieT
04.06.2013
A i tak jeszcze cos ;D Daloby dodac czyli juz edytowac ten plugin tak by byl cvar czy tam komenda na off/on tego moda ? Jeszcze byloby elegancko gdyby ten plugin sie wlaczal losowo a nie co nowa runde to samo i moze jakas muzyczka do tego (mam pare propozycji) ;D I jeszcze raz dziekuje i pozdrawiam !
Użytkownik nieT.ogarnieT edytował ten post 04.06.2013 15:26
Użytkownik nieT.ogarnieT edytował ten post 04.06.2013 15:26
Amaroq
04.06.2013
Plugin bez komend (amx_day, amx_night)
#include <amxmodx> #include <engine> new bool:dark_map; new cvar_flashlight; new cvar_darkmap_on; new cvar_darkmap_szansa; new maxplayers; new const sciezka[] = { "sound/misc/muza.mp3" } public plugin_precache() { precache_generic(sciezka); } public plugin_init() { register_plugin("DarkMap", "1.1", "FD_GODPL"); register_event("DeathMsg", "Smierc", "a"); register_clcmd("+nightvision", "BlokujCmd"); register_logevent("Koniec_Rundy", 2, "1=Round_End"); cvar_darkmap_on = register_cvar("darkmap_on", "1"); cvar_darkmap_szansa = register_cvar("darkmap_szansa", "2"); cvar_flashlight = get_cvar_pointer("mp_allowflashlight") register_event("HLTV", "HLTV_event", "a", "1=0", "2=0"); maxplayers = get_maxplayers(); } public BlokujCmd() { if(dark_map) return PLUGIN_HANDLED; return PLUGIN_CONTINUE; } public client_putinserver(id) { if(dark_map) client_cmd(id, "mp3 play %s", sciezka); } public Koniec_Rundy() { for(new i=1;i<=maxplayers;i++) { client_cmd(i, "mp3 stop"); } set_lights("#OFF"); dark_map = false; } public Smierc() { new attacker = read_data(1); new victim = read_data(2); if(attacker == victim) return PLUGIN_CONTINUE; if(attacker == 0) return PLUGIN_CONTINUE; if(get_user_team(attacker) == get_user_team(victim)) return PLUGIN_CONTINUE; if(dark_map) { dark_map = false; set_lights("#OFF"); set_pcvar_num(cvar_flashlight, 1); for(new i=1;i<=maxplayers;i++) { client_cmd(i, "mp3 stop") } } return PLUGIN_CONTINUE; } public HLTV_event() { if(get_pcvar_num(cvar_darkmap_on) && random_num(1, get_pcvar_num(cvar_darkmap_szansa)) == 1) { dark_map = true; set_lights("a") set_pcvar_num(cvar_flashlight, 0); for(new i=1;i<=maxplayers;i++) { client_cmd(i, "mp3 play %s", sciezka); } } }Plugin z komendami(amx_day, amx_night)
#include <amxmodx> new bool:dark_map; new cvar_flashlight; new cvar_darkmap_on; new cvar_darkmap_szansa; new maxplayers; new const sciezka[] = { "sound/misc/muza.mp3" } public plugin_precache() { precache_generic(sciezka); } public plugin_init() { register_plugin("DarkMap", "1.1", "FD_GODPL"); register_event("DeathMsg", "Smierc", "a"); register_clcmd("+nightvision", "BlokujCmd"); register_logevent("Koniec_Rundy", 2, "1=Round_End"); cvar_darkmap_on = register_cvar("darkmap_on", "1"); cvar_darkmap_szansa = register_cvar("darkmap_szansa", "2"); cvar_flashlight = get_cvar_pointer("mp_allowflashlight") register_event("HLTV", "HLTV_event", "a", "1=0", "2=0"); maxplayers = get_maxplayers(); } public BlokujCmd() { if(dark_map) return PLUGIN_HANDLED; return PLUGIN_CONTINUE; } public client_putinserver(id) { if(dark_map) client_cmd(id, "mp3 play %s", sciezka); } public Koniec_Rundy() { for(new i=1;i<=maxplayers;i++) { client_cmd(i, "mp3 stop"); } server_cmd("amx_day"); dark_map = false; } public Smierc() { new attacker = read_data(1); new victim = read_data(2); if(attacker == victim) return PLUGIN_CONTINUE; if(attacker == 0) return PLUGIN_CONTINUE; if(get_user_team(attacker) == get_user_team(victim)) return PLUGIN_CONTINUE; if(dark_map) { dark_map = false; server_cmd("amx_day"); set_pcvar_num(cvar_flashlight, 1); for(new i=1;i<=maxplayers;i++) { client_cmd(i, "mp3 stop") } } return PLUGIN_CONTINUE; } public HLTV_event() { if(get_pcvar_num(cvar_darkmap_on) && random_num(1, get_pcvar_num(cvar_darkmap_szansa)) == 1) { dark_map = true; server_cmd("amx_night") set_pcvar_num(cvar_flashlight, 0); for(new i=1;i<=maxplayers;i++) { client_cmd(i, "mp3 play %s", sciezka); } } }
darkmap_on <0|1> - włącza plugin
darkmap_szansa - szansa na włączenie się ciemnej rundy jak 1/x
nieT.ogarnieT
04.06.2013
hmm A mozna by bylo jeszcze prosic o cvar przy ktorym plugin sie wlacza np. przy X osobach na serwerze ? Jestem wybredny dziekuje 
Ps Nie wiem czy jak wgram jakas muzyczke to czy ona sie wylaczy po tym gdy ktos ubije tego fraga <jak stanie sie dzien
Ps.2 Gdyby mozna to prosilbym zastapic albo najlepiej zrobic dwie wersje 1 z amx_night a 2ga z amx_midnight. dzięki jeszcze raz ;D
Użytkownik nieT.ogarnieT edytował ten post 04.06.2013 17:53

Ps Nie wiem czy jak wgram jakas muzyczke to czy ona sie wylaczy po tym gdy ktos ubije tego fraga <jak stanie sie dzien
Ps.2 Gdyby mozna to prosilbym zastapic albo najlepiej zrobic dwie wersje 1 z amx_night a 2ga z amx_midnight. dzięki jeszcze raz ;D
Użytkownik nieT.ogarnieT edytował ten post 04.06.2013 17:53
Amaroq
04.06.2013
Ps Nie wiem czy jak wgram jakas muzyczke to czy ona sie wylaczy po tym gdy ktos ubije tego fraga <jak stanie sie dzien
Tak, wyłączy się
darkmap_on <0|1> - włącza plugin
darkmap_szansa - szansa na włączenie się ciemnej rundy jak 1/x
darkmap_players - liczba graczy, od której plugin ma działać
Załączone pliki
Kawon
05.06.2013
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,
raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz,

Z pozdrowieniami,
Zespół AMXX.PL