←  Szukam pluginu

AMXX.pl: Support AMX Mod X i SourceMod

»

Ostatnia runda

Zablokowany

  • +
  • -
bl00keRs - zdjęcie bl00keRs 07.04.2009

Witam, na serwerze grane jest 15 rund maxymalnie i daloby tak rade zrobic, ze gdy bedzie ostatnia runda tudziez 15 bedzie pisalo przez kilka sekund od jej zaczecia, ze to ostatnia, da sie cos takiego wykombinowac ?
Odpowiedz

  • +
  • -
emblaze - zdjęcie emblaze 07.04.2009

kiedyś prosiłem o coś podobnego. To przerobiłem tamto i powinno działać:

#include <amxmodx> 

new IsLastRound = 0 
new OldTimelimit = 0 

public plugin_init () 
{ 
	register_plugin("last round sound", "1.0" ,"wizu") 
    
	register_event("SendAudio","Ostatnia_Runda","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw")
	register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
	
	OldTimelimit = get_cvar_num("mp_timelimit")
	new Float:sekundy
	sekundy = (get_cvar_float("mp_timelimit")*60)-15
	set_task(sekundy,"Task_od_konca") 
} 

public Task_od_konca () 
{ 
	if( get_playersnum () ) 
	{ 
		IsLastRound = 1 
		set_cvar_num("mp_timelimit", 0)
	} 
} 

public Nowa_Runda ()
{
	if( IsLastRound == 1 )
	{
		IsLastRound = 2
		client_print(0,print_center,"Ostatnia runda! Daj z siebie wszystko!")
	}
}

public Ostatnia_Runda () 
{ 
	if( IsLastRound == 2 ) 
	{ 
		client_print(0,print_chat,"Runda zakonczona, zmiana mapy w ciagu 5 sekund.") 
		set_task(5.0,"czyszczenie", 2)
	} 
} 

public server_changelevel () 
{ 
	if( IsLastRound ) 
		czyszczenie () 
} 

public czyszczenie () 
{ 
	if ( task_exists( 2 ) )
		remove_task( 2 ) 
	IsLastRound = 0 
	if( get_cvar_num("mp_timelimit") == 0 ) 
		set_cvar_num("mp_timelimit", OldTimelimit)
}

@zer0. to nie pokazuje że to ostatnia runda ;) tylko "Runda zakonczona, zmiana mapy w ciagu 5 sekund." czyli jak sie juz ona skonczy ;-)
Odpowiedz

  • +
  • -
zer0. - zdjęcie zer0. 07.04.2009

@zer0. to nie pokazuje że to ostatnia runda tylko "Runda zakonczona, zmiana mapy w ciagu 5 sekund." czyli jak sie juz ona skonczy

Pisze "Mapa zostanie zmieniona, po tej rundzie"
Wpisujesz timeleft pisze już "Bez limitu czasu"
Odpowiedz

  • +
  • -
emblaze - zdjęcie emblaze 07.04.2009

zer0., a tak dokładnie :
Czas mapy juz minal, zmiana mapy na po tej rundzie
i to chyba jest w czasie rundy, nie ? ;-)
A jak nie mam racji to sory i sory za spam O:)
Odpowiedz

  • +
  • -
bl00keRs - zdjęcie bl00keRs 07.04.2009

U mnie ten plug wcale nie dziala ;f
Chcialbym aby pisalo nie wiem, w rogu pod radarem badz na srodku czy gdziekolwiek napis z amx'a przez 5 sekund od rozpoczecia 15 rundy o tym, ze to jest ostatnia runda, badz tekst, ktory wpisze, ktory ofc po 5 sekundach zniknie. Do tego moze byc napis pod koniec rundy o tym, ze mapa zostanie zaraz zmieniona ale nie musi, chociaz w tym pluginie nie dziala nic ;/
Odpowiedz

  • +
  • -
emblaze - zdjęcie emblaze 07.04.2009

bl00keRs, a dobrze zainstalowałeś?
A pokazuje się w amxmodmenu ? przy wyłącz/włącz pluginy? :?
Odpowiedz

  • +
  • -
bl00keRs - zdjęcie bl00keRs 07.04.2009

Mysle, ze tak. Zapisalem ten kod w notatniku jako .sma potem przekompilowalem na komputerze lokalnie i powrzucalem tam gdzie trzeba na ftp:// no i dopisalem linijke do plugins.ini oczywiscie no i lipa.
Jest pokazane w amxmodmenu jako "last round sound" ale co z tego jak nie chodzi ;/
Odpowiedz

  • +
  • -
emblaze - zdjęcie emblaze 07.04.2009

bl00keRs, sprobuj moze to:

#include <amxmodx> 

new IsLastRound = 0 
new OldTimelimit = 0 

public plugin_init () 
{ 
	register_plugin("last round sound", "1.0" ,"wizu") 
    
	register_event("SendAudio","Ostatnia_Runda","a","2=%!MRAD_terwin","2=%!MRAD_ctwin","2=%!MRAD_rounddraw")
	register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0")
	
	OldTimelimit = get_cvar_num("mp_timelimit")
	/*new Float:sekundy
	sekundy = (get_cvar_float("mp_timelimit")*60)-15
	set_task(sekundy,"Task_od_konca")*/
	set_task(15.0,"Task_od_konca",_,_,_,"d")
} 

public Task_od_konca () 
{ 
	if( get_playersnum () ) 
	{ 
		IsLastRound = 1 
		set_cvar_num("mp_timelimit", 0)
	} 
} 

public Nowa_Runda ()
{
	if( IsLastRound == 1 )
	{
		IsLastRound = 2
		set_hudmessage(0, 255, 0, 0.03, 0.19, 0, 6.0, 12.0)
		show_hudmessage(0, "Ostania runda mapy!")

	}
}

public Ostatnia_Runda () 
{ 
	if( IsLastRound == 2 ) 
	{ 
		client_print(0,print_chat,"Runda zakonczona, zmiana mapy w ciagu 5 sekund.") 
		set_task(5.0,"czyszczenie", 2)
	} 
} 

public server_changelevel () 
{ 
	if( IsLastRound ) 
		czyszczenie () 
} 

public czyszczenie () 
{ 
	if ( task_exists( 2 ) )
		remove_task( 2 ) 
	IsLastRound = 0 
	if( get_cvar_num("mp_timelimit") == 0 ) 
		set_cvar_num("mp_timelimit", OldTimelimit)
}
Odpowiedz

  • +
  • -
bl00keRs - zdjęcie bl00keRs 07.04.2009

Niestety, to samo co w poprzednim czyli nic kompletnie nie ma.
Odpowiedz

  • +
  • -
emblaze - zdjęcie emblaze 08.04.2009

bl00keRs, hmm mi zawsze działał ;> to ja juz nie wiem. napisz tutaj aby ktoś ci napisał: http://amxx.pl/viewforum.php?f=92 ;-)
Odpowiedz

  • +
  • -
bl00keRs - zdjęcie bl00keRs 08.04.2009

emblaze a moze jakies cvary trzeba dodac do tego ?
Tam napisalem topic ale raczej nie sadze, zeby ktos napisal tego pluga =.=


Albo moze to nastawic na 1, nie wiem pytam tylko, wy sie lepiej znacie :P
new IsLastRound = 0
new OldTimelimit = 0
Odpowiedz

  • +
  • -
emblaze - zdjęcie emblaze 09.04.2009

bl00keRs, raczej nie ;-) Jak jeszcze coś wykombinuje to napisze ;-)
Ps. nie wiem jak wywołać funkcje na 15 rundzie :?
Odpowiedz

  • +
  • -
bl00keRs - zdjęcie bl00keRs 09.04.2009

No ok, zobaczymy w co watpie :D :D :D Ale plug musi byc taki bo juz widzialem go dawno temu na 1.5 jeszcze ;>
Odpowiedz
Zablokowany