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
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??
Rozumiecie ??? A więc kto mi pomoże??
#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
#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: 1
0 użytkowników, 1 gości, 0 anonimowych


Dodatki SourceMod



Temat jest zamknięty








