←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Ile razy wyswietli Wiadomosc

Zablokowany

Yakashi - zdjęcie Yakashi 14.07.2013

Witam czy taki zapis :

public Info(id)
{
	new file[128];
	new map[32];
	
	get_configsdir( file, 127 )
	
	format(file,127,"%s/codmod_mapy.ini",file)
	
	new line=0,text[128],chars 
	do{ 
		
		line = read_file(file,line,text,127,chars) 
		trim(text);
		get_mapname(map,31);
		if(equal(map,text))
		{		
			ColorChat(0, GREEN, "Gramy wlasnie ^x03%s ^x04,dostajesz ^x03%i^x04 dodatkowego expa za zabojstwo",text,dodatkowy_exp);
			break;
		} 
	}
	while(line>0)
		
}

Wyswietli tyle razy ta wiadomosc ile zanjduje sie mapek w pliku codmod_mapy.ini?

 

Jezeli tak to jak zrobic aby ta wiadomosc pokazywala sie tylko raz i dzialala prawidlowo

Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 15.07.2013

Skoro w warunku jest tam "break;", to znaczy, że wyświetli się tylko raz. Tylko zastanawia mnie jedno, po co jest przekazywany parametr "id" w tej funkcji?
Odpowiedz

Fail - zdjęcie Fail 15.07.2013

na pewno po to aby zuzyc wiecej pamieci na swoim serwerze

Odpowiedz

  • +
  • -
Rodzyn - zdjęcie Rodzyn 15.07.2013

na pewno po to aby zuzyc wiecej pamieci na swoim serwerze

Lecz nie zauważalnie więcej :)

Odpowiedz

  • +
  • -
speedkill - zdjęcie speedkill 15.07.2013

Kod można uprościć, aczkolwiek nie wiem czy zadziała.

public Info(){
	new g_MapName[32];
	get_mapname(g_MapName, charsmax(g_MapName));
	
	new g_Path[128];
	formatex(g_Path[ get_configsdir(g_Path, charsmax(g_Path)) ], charsmax(g_Path), "/codmod_mapy.ini");
	
	new g_Line[128],
		g_Len;
		
	for(new i = 0; read_file(g_Path, i, g_Line, charsmax(g_Line), g_Len); i++){
		if(!g_Len || !g_Line[0] || g_Line[0] == ';'){
			continue;
		}
		trim(g_Line);
		
		if(equal(g_MapName, g_Line)){		
			ColorChat(0, GREEN, "Gramy wlasnie ^x03%s ^x04,dostajesz ^x03%i^x04 dodatkowego expa za zabojstwo", g_Line, dodatkowy_exp);
			break;
		} 
	}
		
}
Odpowiedz

Yakashi - zdjęcie Yakashi 15.07.2013

z tym id sie zapedzilem..

speedkill dodalem 3 mapy.. weszlismy we dwoje na serwer z kumplem i pierwsza wiadomosc pokazalo 2 razy .. pozniej juz tylko raz .. ale jak juz byly 4 osoby wogolnie pokazywalo

Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 15.07.2013

To lepiej pokaż gdzie wywołujesz tę funkcję.
Odpowiedz

Yakashi - zdjęcie Yakashi 15.07.2013

public client_connect(id)
{
	set_task(10.0, "Info", id);	
}
Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 15.07.2013

No i widać czemu kilka razy się wyświetla, skoro funkcję wywołujesz z opóźnieniem za każdym razem gdy dany gracz wchodzi na serwer.
Odpowiedz

Yakashi - zdjęcie Yakashi 15.07.2013

To lepiej ustawic przy spawnie i bez tasku ?

Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 16.07.2013

Tak jak jest, jest OK, ale wyświetlać dla JEDNEGO gracza tą wiadomość, a nie dla wszystkich gdy ktoś wejdzie. Po to pewnie był ten parametr ID, ale dalej już się coś pomieszało.

Odpowiedz

  • +
  • -
speedkill - zdjęcie speedkill 16.07.2013

Swoją drogą po co odczyt z pliku co chwilę? Nie lepiej na początku mapy sprawdzić, czy obecna mapa znajduje się w pliku? ;)
Odpowiedz

Yakashi - zdjęcie Yakashi 17.07.2013

Swoją drogą po co odczyt z pliku co chwilę? Nie lepiej na początku mapy sprawdzić, czy obecna mapa znajduje się w pliku? ;)

 

Dlatego ze to jest jakby informacja dla graczy.. a nie chcialem robic osobnego pluginu badz kazanie dodawac komus informacji takiej w advertiements.. chcialem zrobic aby wszystko bylo ladnie podane na tacy.. sprawdze wlasnie te ID poniewaz wlasnie tak myslalem zeby wyslac dla jednego gracza wtedy moze by podzialalo.. sprawdze i dam znac

Odpowiedz

Yakashi - zdjęcie Yakashi 22.07.2013

do zamkniecia

Odpowiedz

  • +
  • -
sebul - zdjęcie sebul 22.07.2013

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
Odpowiedz
Zablokowany