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
 

kalip - zdjęcie

kalip

Rejestracja: 26.02.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 04.03.2013 18:09
-----

Moje tematy

Próby tworzenia pluginu RockTheNextmap

15.02.2011 15:00

Witam,
Przeglądanie internetu w poszukiwaniu pluginu, który będzie działał na zasadzie głosowania, które po określeniu warunków zmienia nam mapę na kolejną z mapcyklu, okazało się porażką :-(
W potrzebie postanowiłem stworzyć coś samemu, niestety programowanie nie jest moją mocną stroną.
Zamieszczam tutaj moje wypociny, które są połączeniem 2ch pluginów.
Niby wszystko fajnie, plugin kompiluje się, ale nie działa w grze.
Zapewne chodzi tutaj o złe umieszczenie(?) funkcji i warunków. Zrezygnowałem po 2ch godzinach prób i postanowiłem zasięgnąć pomocy specjalistów.

/* Script generated by Pawn Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN	"TimeLimit vote"
#define AUTHOR	"many"
#define VERSION	"1.0.0"

new choises[3]
new rtv[33], howmanyvotes, count, nextmap;
new howmanyvotesperc, timevote;

public plugin_init() 
{
	register_plugin("PLUGIN", "VERSION", "AUTHOR")
	register_dictionary("common.txt");
	register_clcmd("say", "rockthevote");
	howmanyvotes = 1;
	howmanyvotesperc = 30;
	timevote = 2;
}
public  client_disconnect(id)
{
	if (rtv[id-1] == id)
	{
		rtv[id-1] = 0;
		count--;
	}
}

public rockthevote(id, menu, item)
{
	new said[192];
	read_args(said, 192);
	if	((contain(said, "/rockthevote") != -1) || (contain(said, "rockthevote") != -1) || (contain(said, "rtv") != -1))
	{
		if (get_gametime() < (get_pcvar_float(timevote) * 60.0))
			client_print(id, print_chat, "Vote is currently not allowed. Wait %d minutes.", (floatround(((get_pcvar_float(timevote) * 60.0) - get_gametime()) / 60.0)));
		else
		{
			if	(rtv[id-1] == id)
				client_print(id, print_chat, "You have already voted!");
			else
			{
				rtv[id-1] = id;
				count++;
							
				static num;
				num = get_playersnum();
				num = floatround((get_pcvar_float(howmanyvotesperc) * num));
				if ((num == count) || (count >= get_pcvar_num(howmanyvotes)))
				{
		
	
				new menu = menu_create("rZmiana mapy?", "menu_handler")
				menu_additem(menu, "wTak", "1", 0)
				menu_additem(menu, "wNie", "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)
			}
	
		choises[1] = choises[2] = 0;
	
	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 (0, print_chat, "[AMXX] %s jest za zmiana mapy.", name);
		}
		case 2:
		{
			client_print (0, print_chat, "[AMXX] %s nie chce zmiany mapy.", name);
		}

	}
	
	++choises[key]
	
	menu_cancel(id)
	return PLUGIN_HANDLED
}

				static name[32];
				get_user_name( id, name, charsmax( name ) );
				
				client_print ( 0, print_chat, "%s vote was added. Need %d or %d^%^%  to start voting!", name, (get_pcvar_num(howmanyvotes)-count), (floatround(get_pcvar_float(howmanyvotesperc) * 100.00)))
			}
		}

	if(choises[1] > choises[2])
		{
		client_print(0, print_chat, "[AMXX] Zmiana mapy.", choises[1])
		
		server_cmd( "amx_map %s", nextmap );
		}
	
		else if(choises[2] > choises[1])
		{
		client_print(0, print_chat, "[AMXX] Mapa nie zostanie zmieniona.", choises[2])
		
		}

	}  
}

Wartości są przypadkowe jeśli chodzi o czas, ilość graczy potrzebną do rozpoczęcia vota.

Wpisuje w grze rtv, spełniam warunek 1 gracza, lecz nic dalej się nie dzieje.
Proszę o nakierowanie, ewentualnie zmiany w kodzie.
Załączam plugin, który wykorzystałem.
Drugi jest z tego postu: Voting For Timelimit - AMXX.pl: Support AMX Mod X


pozdrawiam i proszę o pomoc

Dodano 21 luty 2011 - 07:27:
podbijam

Edycja kodu rozgrzewki

26.07.2010 16:11

Witam,
Proszę o pomoc w edycji pluginu rozgrzewki, potrzebuje ze standardowych noży zmienić na tarcze + deagle.
Walczę już z tym prawie 2 godziny i nie mogę sobie poradzić.

Co tutaj jest źle?
public switchweapon(id)
{
	if (!knifeArena)
		return PLUGIN_CONTINUE

 give_item(id, "weapon_shield");
 give_item(id, "weapon_deagle");
 give_item(id, "ammo_50ae");
 give_item(id, "ammo_50ae");
	return PLUGIN_CONTINUE
}

Kompilator wyrzuca błąd:
/groups/amxmodx/tmp3/text466XO8.sma(76) : error 017: undefined symbol "give_item"
/groups/amxmodx/tmp3/text466XO8.sma(77) : error 017: undefined symbol "give_item"
/groups/amxmodx/tmp3/text466XO8.sma(78) : error 017: undefined symbol "give_item"
/groups/amxmodx/tmp3/text466XO8.sma(79) : error 017: undefined symbol "give_item"

Proszę jeszcze o dodanie respawnu po śmierci, podczas trwania rozgrzewki :)

W załączniku daje kod całego pluginu.
pozdrawiam
Kalip

Nowa opcja w Galileo

10.07.2010 00:55

Witam,
Czy jest możliwość dodania w pluginie Galileo, możliwości wymuszania głosowania przez admina?
Identycznie jak jest w DMM?

pozdrawiam

Przerobienie slot_reservation

25.04.2010 05:21

Witam,
problem polega na tym, że po zainstalowaniu pluginu przestało się pokazywać okienko z powodem kicka (Wyrzucony z powodu rezerwacji slotów)
Pojawia się informacja Server is Full, niestety w konsoli gdzie wiele osób nie zagląda...
Bardzo proszę o zmianę części kodu, tak aby działały obie rzeczy, tzn. okienko podczas gdy serwer jest pełny oraz to, gdy serwer kogoś kopnie gdy admin wejdzie.
W załączniku plik .sma

pozdrawiam
Pawel

Mapy w zależności od ilości graczy

07.04.2010 23:16

Witam,
Czy jest możliwość ustawienia w Deagles' Map Management 3.23 map w zależności od ilości graczy na serwerze?
Generalnie chodzi mi o to że jak jest np. poniżej 8 osób to można wybrać tylko mapki mniejsze, a gdy powyżej to dostępne są wszystkie.

Jeśli nie, to czy jest oddzielny plugin którym można to ustawić, ewentualnie inny plugin do głosowania na mapy?

pozdrawiam
Paweł