Plugin ma polegać na tym że każdy może raz na runde wymusić głosowanie o włączenie i raz o wyłączenie danego komponentu serwera np csdm.
Rozumiecie ??? A więc kto mi pomoże??
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
JESCZE RAZ KTO ZROBI PLUGIN DO VOTOWANIA
Temat rozp. rryk, 03.10.2008 07:32
8 odpowiedzi w tym temacie
#1
Napisano 03.10.2008 07:32
#2
Napisano 03.10.2008 19:08
Nie wiem jaka jest komenda na wlaczenie csdm, ale chyba takie cos sie daje do amxx.cfg by wlaczyc, wiec raczej powinno ruszyc:
Poza tym zrobilem to tak, ze moze byc w dosc prosty sposob wykozystany do roznych votowan (dlagego nazywa sie vote_core).
#include <amxmodx> #include <amxmisc> #define vote_num 2 // tutaj dajesz liczbe mozliwych glosow #define czas 10 // czas w sekundach #define c_delay 120 // czas miedzy votami w [s] new vote[vote_num] new kay new delay new message[]={"rCzy chcesz wlaczyc csdm?^n^nw1. yTAK^nw2. yNIE"} // pytania i odpowiedzi public plugin_init() { register_plugin("M_vote_core", "0.1", "Miczu") kay = floatround(floatpower(2.0,vote_num*1.0)-1.0) register_menucmd(register_menuid("vote_it"), kay, "Pressedvote_it") register_clcmd("say vote_csdm_on","vote_csdm") register_clcmd("vote_csdm_on","vote_csdm") } public vote_csdm(id) { if(get_systime()-delay<c_delay) return else delay = get_systime() new players[32],num get_players(players,num) for(new i=0;i<num;i++) { show_menu(id, kay, message, czas, "vote_it") // Display menu } set_task(czas*1.0,"end_vote") } public end_vote() { new chose=0 for(new i=1;i<vote_num;i++) { if(vote[chose]<vote[i] && vote[i]>0) chose=i vote[i]=0 } if(chose==0 && vote[0]==0) return //brak glosow else vote[0]=0 switch(chose) { case 0: { if(get_cvar_num("csdm_active")==1) { set_cvar_num("csdm_active",0) new map[64] get_mapname(map,63) server_changelevel(map) } } case 1: { if(get_cvar_num("csdm_active")==0) { set_cvar_num("csdm_active",1) new map[64] get_mapname(map,63) server_changelevel(map) } } //case 2: //case 3: //case 4: //case 5: //case 6: //case 7: //case 8: //case 9: } //client_print(0,print_chat,"%d", chose) } public Pressedvote_it(id, key) { vote[key]++ }
Poza tym zrobilem to tak, ze moze byc w dosc prosty sposob wykozystany do roznych votowan (dlagego nazywa sie vote_core).
#3
Napisano 04.10.2008 11:47
mógłbyś dodać pare poprawek? A mianowicie zrobic aby działało bo nie działa (nie wierzysz przetestuj) i dwa żeby były dwie komendy bo obecnie istnieje jedna na włączenie która można użyć dwa razy i w zależności od wyniku włącza lub wyłącza csdm a chodziło mi o dwie komendy jednana na włączenie druga na wyłączenie csdm i jeżeli jest wynik pozytywny wykonuje daną akcje jeżeli negatywny nic nie robi
no to tyle z góry thx
no to tyle z góry thx
#4
Napisano 04.10.2008 13:59
To podaj mi komende na na 'wlaczenie' i 'wylaczenie' csdm.
#5
Napisano 04.10.2008 15:29
sam ją wcześniej podałeś csdm_active 1 i csdm_active 0
#6
Napisano 04.10.2008 15:32
To podaj mi komende na na 'wlaczenie' i 'wylaczenie' csdm.
miszczu, wydaje mi się trzeba RR albo zmiane mapy żeby csdm sie zaaktywowało.
#7
Napisano 04.10.2008 16:11
dokladnie csdm włącza/wyłącza sie w nastepnej rundzie od wydania polecenia dla dodatkowego konfortu zazwyczaj stouje sie restart (ja bym o to prosił )
#8
Napisano 04.10.2008 16:58
Poprawiony kod wyzej...
#9
Napisano 04.10.2008 17:11
po pierwsze:
nie zrozumieliśmy się Miczu: bo ja chce aby byly dwa różne głosowania po wpisaniu vote_csdm_on i vote_csdm_off i kazdej z tych komend mozna użyc raz na mape i po drugie nie chce zeby mapa sie na nowo wczytywała gdy csdm ma byc wlaczony tylko zeby byl restart zwyklly (sv_restart 1 o ile pamietam) i z tym wczytywaniem sie sztachnołeś bo:
Teraz mnie zrozumiałeś?
nie zrozumieliśmy się Miczu: bo ja chce aby byly dwa różne głosowania po wpisaniu vote_csdm_on i vote_csdm_off i kazdej z tych komend mozna użyc raz na mape i po drugie nie chce zeby mapa sie na nowo wczytywała gdy csdm ma byc wlaczony tylko zeby byl restart zwyklly (sv_restart 1 o ile pamietam) i z tym wczytywaniem sie sztachnołeś bo:
/home/groups/amxmodx/tmp3/textVtcmtv.sma(62) : error 004: function "server_changelevel" is not implemented /home/groups/amxmodx/tmp3/textVtcmtv.sma(72) : error 004: function "server_changelevel" is not implemented
Teraz mnie zrozumiałeś?
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych