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

Rozgrzewka - Reset w trakcie mapy


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
5 odpowiedzi w tym temacie

#1 ExTaza?!

    Wszechobecny

  • Użytkownik

Reputacja: 106
Zaawansowany

  • Postów:424
  • GG:
  • Imię:Piotr
  • Lokalizacja:Leszno
Offline

Napisano 16.12.2014 14:12

Witam po bardzo długiej przerwie! Przerwa była dość długa, więc trzeba sobie wszystkie rzeczy powoli przypominać :)

Zakładam temat, bo mam problem z rozgrzewką i nie wiem o co biega.

 

Jaki problem? Otóż CZASEM, ale NIE zawsze podczas zakończenia jakieś rundy jest Restart mapy i zaczyna się ponownie rozgrzewka. Jest to wina 100% tego pluginy, bo pamiętam, że na poprzednim serwerze był ten sam problem, a plugin jest odkopany z pendrive.
Liczę na pomoc, wychłostajcie, jak będzie to banalny błąd ;)

#include <amxmodx>
#include <colorchat>
#include <hamsandwich>

#define PLUGIN "rozgrzewka"
#define VERSION "1.0"
#define AUTHOR "none!"

#define SPRAWDZ 3431

new Odliczanie[33];
new rr_czas;
new bool:noze = false;
new const sound[]="cs-kurnik/rozgrzewka.mp3";

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_event("TextMsg","nozowka","a","2&#Game_C");
	register_event("CurWeapon","switchweapon","be","1=1","2!29");		
	register_event("DeathMsg","death_msg","a");
	
	rr_czas = register_cvar("rr_czas","65");
	
}

public nozowka(id)
{
	set_task(1.0, "Start");            
}

public Start(id)
{
	set_task(3.0, "muzyka"); 
	switchweapon(id)
	pause( "ac", "scrollmsg.amxx" );
	pause( "ac", "imessage.amxx" );
	pause( "ac", "alt_end_round_sounds.amxx" );

	noze = true
	
	Odliczanie[id] = get_pcvar_num(rr_czas);
        

	if(task_exists(id + SPRAWDZ))
	{
		remove_task( id + SPRAWDZ );
	}
	set_task( 1.0, "Koniec", id + SPRAWDZ, _, _, "b" );
        
	return PLUGIN_CONTINUE
}

public muzyka(id)
{
	client_cmd(0,"mp3 play sound/%s", sound);           
}

public Koniec(task_id)
{
        new id = task_id - SPRAWDZ       	
	
        set_hudmessage(255, 0, 0, -1.0, 0.5, 0, 6.0, 12.0)
        show_hudmessage( id, "Koniec rundy nozowej za: %d", Odliczanie[id] )

	
        Odliczanie[id] -= 1 
        
        if(Odliczanie[id] <= 0)
        {
                if( task_exists(task_id) )
                {
                        remove_task( task_id )
                }
		set_cvar_num("sv_restart", 2);
		ColorChat(id, RED, "Powodzenia!");
		
		unpause( "ac", "scrollmsg.amxx" );
		unpause( "ac", "imessage.amxx" );
		unpause( "ac", "alt_end_round_sounds.amxx" );
		noze = false
	  }
}
public switchweapon(id)
{
	if (!noze)
		return PLUGIN_CONTINUE
	
	engclient_cmd(id,"weapon_knife")
	return PLUGIN_CONTINUE
}
public death_msg()
{
	if(!noze)
		return	
	
	new id = read_data(2)	
	set_task(1.0,"respawn_player",id);
}
public respawn_player(id)
{     
	if(is_user_connected(id))
		ExecuteHamB(Ham_CS_RoundRespawn, id)     
}
public plugin_precache() 
{
precache_sound(sound);
}



  • +
  • -
  • 0

http://www.Cs-Kurnik.pl - Zapraszam!

 

b_350_20_FFAD41_E98100_000000_591F11.png IP: awp.cs-kurnik.pl:27017 / 155.133.43.190:27017

 

b_350_20_FFAD41_E98100_000000_591F11.png IP: ts3.cs-kurnik.pl - Darmowe kanały                     


#2 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 16.12.2014 14:33

Sprawdz.

#include <amxmodx>
#include <colorchat>
#include <hamsandwich>

#define PLUGIN "rozgrzewka"
#define VERSION "1.0"
#define AUTHOR "none!"

#define SPRAWDZ 3431

new Odliczanie[33];
new rr_czas;
new bool:noze = false;
new const sound[]="cs-kurnik/rozgrzewka.mp3";

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR);
	register_event("CurWeapon","switchweapon","be","1=1","2!29");		
	register_event("DeathMsg","death_msg","a");

	rr_czas = register_cvar("rr_czas","65");
	set_task(1.0, "Start");
}
public Start(id)
{
	set_task(3.0, "muzyka"); 
	switchweapon(id)
	pause( "ac", "scrollmsg.amxx" );
	pause( "ac", "imessage.amxx" );
	pause( "ac", "alt_end_round_sounds.amxx" );

	noze = true
	
	Odliczanie[id] = get_pcvar_num(rr_czas);
        

	if(task_exists(id + SPRAWDZ))
	{
		remove_task( id + SPRAWDZ );
	}
	set_task( 1.0, "Koniec", id + SPRAWDZ, _, _, "b" );
        
	return PLUGIN_CONTINUE
}

public muzyka(id)
{
	client_cmd(0,"mp3 play sound/%s", sound);           
}

public Koniec(task_id)
{
        new id = task_id - SPRAWDZ       	
	
        set_hudmessage(255, 0, 0, -1.0, 0.5, 0, 6.0, 12.0)
        show_hudmessage( id, "Koniec rundy nozowej za: %d", Odliczanie[id] )

	
        Odliczanie[id] -= 1 
        
        if(Odliczanie[id] <= 0)
        {
                if( task_exists(task_id) )
                {
                        remove_task( task_id )
                }
		set_cvar_num("sv_restart", 2);
		ColorChat(id, RED, "Powodzenia!");
		
		unpause( "ac", "scrollmsg.amxx" );
		unpause( "ac", "imessage.amxx" );
		unpause( "ac", "alt_end_round_sounds.amxx" );
		noze = false
	  }
}
public switchweapon(id)
{
	if (!noze)
		return PLUGIN_CONTINUE
	
	engclient_cmd(id,"weapon_knife")
	return PLUGIN_CONTINUE
}
public death_msg()
{
	if(!noze)
		return	
	
	new id = read_data(2)	
	set_task(1.0,"respawn_player",id);
}
public respawn_player(id)
{     
	if(is_user_connected(id))
		ExecuteHamB(Ham_CS_RoundRespawn, id)     
}
public plugin_precache() 
{
precache_sound(sound);
}


 


  • +
  • -
  • 0

b35020692_qesnxqa.png


#3 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 16.12.2014 14:34


register_event("TextMsg","nozowka","a","2&#Game_C");
#Game_Commencing

Może to mieć znaczenie, a może nie mieć, ale na #Game_C zaczyna sie jeszcze jeden textmsg i moze byc akurat wywolywany. Pamietam kiedys tez sie bawilem z tym problemem, ale nie jestem pewny czy o to chodzilo.

 

Jak nie pomoze to jest droga na okolo, trzeba zablokowac zmienną mozliwosc restartu, sprawdzac po kazdym client_disconnect ilu jest graczy i jak jeden lub zero to odblokowac zmienną możliwość restartu.


  • +
  • -
  • 0

#4 xPawelek

    Pomocny

  • Zbanowany

Reputacja: 11
Początkujący

  • Postów:65
  • GG:
  • Imię:Pawel
  • Lokalizacja:WaWa
Offline

Napisano 16.12.2014 14:36

Spróbuj zmienić z "rr_czas = register_cvar("rr_czas","65");" na "rr_czas = register_cvar("rr_czas","60");" Powinno pomoc ;)


Serdecznie Zapraszam! Jedynie Takie w Polsce!

IP PaintBall: 31.186.86.30:27025

b_350_20_096908_1E431E_FFFFFF_000000.png

b_350_20_000000_000000_FFFFFF_000000.png

IP Cod Mw3: 31.186.86.30:27029


#5 ExTaza?!

    Wszechobecny

  • Autor tematu
  • Użytkownik

Reputacja: 106
Zaawansowany

  • Postów:424
  • GG:
  • Imię:Piotr
  • Lokalizacja:Leszno
Offline

Napisano 16.12.2014 15:14

Spróbuj zmienić z "rr_czas = register_cvar("rr_czas","65");" na "rr_czas = register_cvar("rr_czas","60");" Powinno pomoc ;)

Dzięki że chciałeś pomóc, ale wybacz, nie pytałem gdzie zmienić czas rozgrzewki ;)

 

 


register_event("TextMsg","nozowka","a","2&#Game_C");
#Game_Commencing

Może to mieć znaczenie, a może nie mieć, ale na #Game_C zaczyna sie jeszcze jeden textmsg i moze byc akurat wywolywany. Pamietam kiedys tez sie bawilem z tym problemem, ale nie jestem pewny czy o to chodzilo.

 

Jak nie pomoze to jest droga na okolo, trzeba zablokowac zmienną mozliwosc restartu, sprawdzac po kazdym client_disconnect ilu jest graczy i jak jeden lub zero to odblokowac zmienną możliwość restartu.

 

Nie ma co wybierać drogi na około. Problem trzeba rozwiązywać na początku "ogona', a nie na jego końcu ;)
Kolega window również zauważył ten "błąd" o ile to jest to. Wgrywam i zobaczymy :)


  • +
  • -
  • 0

http://www.Cs-Kurnik.pl - Zapraszam!

 

b_350_20_FFAD41_E98100_000000_591F11.png IP: awp.cs-kurnik.pl:27017 / 155.133.43.190:27017

 

b_350_20_FFAD41_E98100_000000_591F11.png IP: ts3.cs-kurnik.pl - Darmowe kanały                     


#6 grankee

    Godlike

  • Support Team

Reputacja: 517
Wszechwiedzący

  • Postów:1 500
  • Lokalizacja:Radom
Offline

Napisano 16.12.2014 15:36


Kolega window również zauważył ten "błąd" o ile to jest to. Wgrywam i zobaczymy

 

Ojoj, on napisał posta podczas gdy ja pisałem swojego i nie widziałem, ale to co podał na pewno zadziała z tym, że tylko raz i zacznie sie sekunde po zaladowaniu mapy czyli zanim jeszcze ktokolwiek sie polaczy.

 

 

W mojej wersji w funkcji eventu mozesz dac log_amx z informacja o restarcie dzięki czemu bedzie mogl w logach sprawdzic czy doszlo do restartu ponownie. Dodaj sobie takze ilosc graczy, zebys wiedzial czy doszlo do restartu przez blad czy z powodu tego, ze byl jeden gracz i wszedl drugi (wtedy jest prawidlowo).


  • +
  • -
  • 0




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

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