Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

JESCZE RAZ KTO ZROBI PLUGIN DO VOTOWANIA


  • Zamknięty Temat jest zamknięty
8 odpowiedzi w tym temacie

#1 rryk

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:33
Offline

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??
  • +
  • -
  • 0

#2 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

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:

#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).
  • +
  • -
  • 0

#3 rryk

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:33
Offline

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) ;P 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 ;P
no to tyle ;P z góry thx ;P
  • +
  • -
  • 0

#4 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 04.10.2008 13:59

To podaj mi komende na na 'wlaczenie' i 'wylaczenie' csdm.
  • +
  • -
  • 0

#5 rryk

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:33
Offline

Napisano 04.10.2008 15:29

sam ją wcześniej podałeś ;P csdm_active 1 i csdm_active 0 ;P
  • +
  • -
  • 0

#6 darkman

    Wszechwiedzący

  • Przyjaciel

Reputacja: 87
Zaawansowany

  • Postów:553
  • Lokalizacja:inactive
Offline

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.
  • +
  • -
  • 0

#7 rryk

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:33
Offline

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ł ;P)
  • +
  • -
  • 0

#8 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 04.10.2008 16:58

Poprawiony kod wyzej...
  • +
  • -
  • 0

#9 rryk

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:33
Offline

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:
/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ś?
  • +
  • -
  • 0




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych