←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Nowy Plugin
Prośba o napisanie pluginu

Locked

  • +
  • -
bolek_stw's Photo bolek_stw 26.02.2010

Witam mam prośbę o napisanie chyba łatwego pluga ^^
A więc chodzi mi aby bo ok 3 minutach od startu mapy pojawiało się vote ile ma trwać mapa ^^
czasy we vote aby były 10 i 15 minut :) z góry dziękuje :)
Quote

  • +
  • -
Emilian18's Photo Emilian18 26.02.2010

Dodatkowo .sma w załaczniku

/* Script generated by Pawn Studio */

#include <amxmodx>
#include <amxmisc>

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

new choises[6]
new Float:g_timelimit

public plugin_init()
{
register_plugin("PLUGIN", "VERSION", "AUTHOR")
set_task(180.0, "start_vote");
}

public start_vote(id)
{
new menu = menu_create("\rWybierz czas dla tej mapy?", "menu_handler")
menu_additem(menu, "\w10 minut", "1", 0)
menu_additem(menu, "\w15 minut", "2", 0)
menu_additem(menu, "\w20 minut", "3", 0)
menu_additem(menu, "\w25 minut", "4", 0)
menu_additem(menu, "\w30 minut", "5", 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)
}

set_task(15.0, "finish_vote")

choises[1] = choises[2] = choises[3] = choises[4] = choises[5] = 0

return 1
}

public menu_handler(id, menu, item)
{
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 glosowalo na 10 minut", name);
}
case 2:
{
client_print (0, print_chat, "[AMXX] %s glosowalo na 15 minut", name);
}
case 3:
{
client_print (0, print_chat, "[AMXX] %s glosowalo na 20 minut", name);
}
case 4:
{
client_print (0, print_chat, "[AMXX] %s glosowalo na 25 minut", name);
}
case 5:
{
client_print (0, print_chat, "[AMXX] %s glosowalo na 30 minut", name);
}
}

++choises[key]

menu_cancel(id)
return PLUGIN_HANDLED
}

public finish_vote()
{
g_timelimit = get_cvar_float("mp_timelimit")

if(choises[1] > choises[2] && choises[1] > choises[3] && choises[1] > choises[4] && choises[1] > choises[5])
{
client_print(0, print_chat, "[AMXX] Opcja ^"10minut^" wygrala %d glosami", choises[1])
server_cmd("mp_timelimit 10");
}

else if(choises[2] > choises[1] && choises[2] > choises[3] && choises[2] > choises[4] && choises[2] > choises[5])
{
client_print(0, print_chat, "[AMXX] Opcja ^"15 minut^" wygrala %d glosami", choises[2])
server_cmd("mp_timelimit 15");
}
else if(choises[3] > choises[1] && choises[3] > choises[2] && choises[3] > choises[4] && choises[3] > choises[5])
{
client_print(0, print_chat, "[AMXX] Opcja ^"20 minut^" wygrala %d glosami", choises[3])
server_cmd("mp_timelimit 20 ");
}

else if(choises[4] > choises[1] && choises[4] > choises[2] && choises[4] > choises[3] && choises[4] > choises[5])
{
client_print(0, print_chat, "[AMXX] Opcja ^"25 minut^" wygrala %d glosami", choises[4])
server_cmd("mp_timelimit 25");
}

else if(choises[5] > choises[1] && choises[5] > choises[2] && choises[5] > choises[3] && choises[5] > choises[4])
{
client_print(0, print_chat, "[AMXX] Opcja ^"30 minut^" wygrala %d glosami", choises[5])
server_cmd("mp_timelimit 30");
}
}

public plugin_end()
{
set_cvar_float("mp_timelimit", g_timelimit)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

Attached Files


Edited by Emilian18, 26.02.2010 22:30.
Quote

  • +
  • -
bolek_stw's Photo bolek_stw 26.02.2010

A więc chodzi mi aby bo ok 3 minutach od startu mapy pojawiało się vote ile ma trwać mapa ^^
czasy we vote aby były 10 i 15 minut :) z góry dziękuje :)

Przeczytaj :)
Quote

  • +
  • -
Emilian18's Photo Emilian18 26.02.2010

A więc chodzi mi aby bo ok 3 minutach od startu mapy pojawiało się vote ile ma trwać mapa ^^
czasy we vote aby były 10 i 15 minut :) z góry dziękuje :)

Przeczytaj :)


@Up W załączniku wyłacznie dwa wybory w poście 5 wyborów
Quote

  • +
  • -
bolek_stw's Photo bolek_stw 28.02.2010

Nie mogę tego skompilować jakieś błędy są B)
* 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 Float:g_timelimit

public plugin_init() 
{
	register_plugin("PLUGIN", "VERSION", "AUTHOR")
	set_task(180.0, "start_vote");
}

public start_vote(id)
{	
	new menu = menu_create("\rWybierz czas dla tej mapy?", "menu_handler")
	menu_additem(menu, "\w10 minut", "1", 0)
	menu_additem(menu, "\w15 minut", "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)
	}
	
	set_task(15.0, "finish_vote")
	
	choises[1] = choises[2] = 0
	
	return 1
}

public menu_handler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_cancel(id)
		return PLUGIN_HANDLED
	}
	
	new data[3], name[32]
	new access, callback
	
	menu_item_getinfo(menu, item, access, data, 2, _, _, callback)
	
	new key = str_to_num(data)
	get_user_name(id, name, 31)
	
	switch (key) 
	{
		case 1: 
		{
			client_print (0, print_chat, "[AMXX] %s glosowalo na 10 minut", name);
		}
		case 2:
		{
			client_print (0, print_chat, "[AMXX] %s glosowalo na  15 minut", name);
		}

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

public finish_vote()
{
	g_timelimit = get_cvar_float("mp_timelimit")
	
	if(choises[1] > choises[2] )
	{
		client_print(0, print_chat, "[AMXX] Opcja ^"10minut^" wygrala %d glosami", choises[1])
		server_cmd("mp_timelimit 10");
	}
	
	else if(choises[2] > choises[1] )
	{
		client_print(0, print_chat, "[AMXX] Opcja ^"15 minut^" wygrala %d glosami", choises[2])
		server_cmd("mp_timelimit 15");
	}

}  

public plugin_end() 
{
	set_cvar_float("mp_timelimit", g_timelimit)
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

Edited by bolek_stw, 28.02.2010 16:54.
Quote

  • +
  • -
DarkGL's Photo DarkGL 28.02.2010

kompiluje się normalnie żadnych błędów
usuń linijkę
* Script generated by Pawn Studio */
Edited by DarkGL, 28.02.2010 16:55.
Quote

  • +
  • -
Change's Photo Change 28.02.2010

Wystarczy że dodasz na samym początku pliku /
Quote

  • +
  • -
bolek_stw's Photo bolek_stw 28.02.2010

Działa tylko pojawiają sie mi jakieś znaki jak wyskakuje menu coś takiego
%&^*%<img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/naughty.gif' class='bbc_emoticon' alt='^^' />&
chyba bład jest ^^
Quote

  • +
  • -
DarkGL's Photo DarkGL 28.02.2010

kompiluj lokalnie
Quote

  • +
  • -
bolek_stw's Photo bolek_stw 28.02.2010

coś nie mogę skompilować , zrobi mi ktoś :(
Quote

  • +
  • -
Mochi's Photo Mochi 02.03.2010

Pisz co dokładniej nie działa.
#include <amxmodx>
#include <amxmisc>

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

new choises[3]
new Float:g_timelimit

public plugin_init() 
{
	register_plugin("PLUGIN", "VERSION", "AUTHOR")
	set_task(180.0, "start_vote");
}

public start_vote()
{	
	new menu = menu_create("\rWybierz czas dla tej mapy?", "menu_handler")
	menu_additem(menu, "\w10 minut", "1", 0)
	menu_additem(menu, "\w15 minut", "2", 0)
	menu_addblank(menu, 0)
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
	new inum = get_playersnum()
	for(new i = 0; i < inum; i++)
	{
		menu_display(i, menu, 0)
	}
	set_task(15.0, "finish_vote")
	choises[1] = choises[2] = 0
	return 1
}

public menu_handler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_cancel(id)
		return PLUGIN_HANDLED
	}
	
	new data[3], name[32]
	new acce, callback
	menu_item_getinfo(menu, item, acce, data, 2, _, _, callback)
	
	new key = str_to_num(data)
	get_user_name(id, name, 31)
	switch (key) 
	{
		case 1: 
		{
			client_print (0, print_chat, "[AMXX] %s glosowalo na 10 minut", name);
		}
		case 2:
		{
			client_print (0, print_chat, "[AMXX] %s glosowalo na  15 minut", name);
		}

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

public finish_vote()
{
	g_timelimit = get_cvar_float("mp_timelimit")
	
	if(choises[1] > choises[2] )
	{
		client_print(0, print_chat, "[AMXX] Opcja ^"10minut^" wygrala %d glosami", choises[1])
		set_cvar_float("mp_timelimit",10.0)
	}
	
	else if(choises[2] > choises[1] )
	{
		client_print(0, print_chat, "[AMXX] Opcja ^"15 minut^" wygrala %d glosami", choises[2])
		set_cvar_float("mp_timelimit",15.0)
	}

}  

public plugin_end() 
{
	set_cvar_float("mp_timelimit", g_timelimit)
}
Quote

  • +
  • -
bolek_stw's Photo bolek_stw 05.03.2010

Pisz co dokładniej nie działa.

#include <amxmodx>
#include <amxmisc>

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

new choises[3]
new Float:g_timelimit

public plugin_init() 
{
	register_plugin("PLUGIN", "VERSION", "AUTHOR")
	set_task(180.0, "start_vote");
}

public start_vote()
{	
	new menu = menu_create("\rWybierz czas dla tej mapy?", "menu_handler")
	menu_additem(menu, "\w10 minut", "1", 0)
	menu_additem(menu, "\w15 minut", "2", 0)
	menu_addblank(menu, 0)
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
	new inum = get_playersnum()
	for(new i = 0; i < inum; i++)
	{
		menu_display(i, menu, 0)
	}
	set_task(15.0, "finish_vote")
	choises[1] = choises[2] = 0
	return 1
}

public menu_handler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_cancel(id)
		return PLUGIN_HANDLED
	}
	
	new data[3], name[32]
	new acce, callback
	menu_item_getinfo(menu, item, acce, data, 2, _, _, callback)
	
	new key = str_to_num(data)
	get_user_name(id, name, 31)
	switch (key) 
	{
		case 1: 
		{
			client_print (0, print_chat, "[AMXX] %s glosowalo na 10 minut", name);
		}
		case 2:
		{
			client_print (0, print_chat, "[AMXX] %s glosowalo na  15 minut", name);
		}

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

public finish_vote()
{
	g_timelimit = get_cvar_float("mp_timelimit")
	
	if(choises[1] > choises[2] )
	{
		client_print(0, print_chat, "[AMXX] Opcja ^"10minut^" wygrala %d glosami", choises[1])
		set_cvar_float("mp_timelimit",10.0)
	}
	
	else if(choises[2] > choises[1] )
	{
		client_print(0, print_chat, "[AMXX] Opcja ^"15 minut^" wygrala %d glosami", choises[2])
		set_cvar_float("mp_timelimit",15.0)
	}

}  

public plugin_end() 
{
	set_cvar_float("mp_timelimit", g_timelimit)
}

jak ma sie pojawic vote to mi serwer pada -.-
kompilowałem lokalnie... bez błedów
Quote

  • +
  • -
Vertricus's Photo Vertricus 05.03.2010

	for(new i = 0; i < inum; i++)
{
menu_display(i, menu, 0)
}

HM?X
Spróbuj:
Nie wiem czy jak zera nie podstawisz to nie bd do all :>
static iPlayers[32], iNum, TempId
for (new i= 0; i<iNum; i++)
{
TempId = Players[i]
menu_display(TempId, menu, 0)
}
Quote
Locked