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

[ROZWIĄZANE] Problem z pluginem


Najlepsza odpowiedź Kmf!p, 15.12.2016 23:07

czekaj juz wiem, nie spojrzalem ;)

podmien to:

public cmdHp(id)
{
	new msg[256]
	if (!SayHP)
	{
		format(msg,255, "%L", id, "DISABLED_MSG")
		client_color(id,msg)
		return PLUGIN_HANDLED
	}
	
	new iKiller = g_izKilled[id][KILLED_KILLER_ID]
	
	
	format_kill_ainfo(id, iKiller, g_sBuffer)
	format(msg,255,"%s", g_sBuffer)
	client_color( id, g_sBuffer)
	
	return PLUGIN_CONTINUE
}

i to:

public client_color(id,msg[]){
		new playerslist[32],playerscount//,i
		get_players(playerslist,playerscount,"c")
		while(replace(msg,255,"!W","^x01")){}
                while(replace(msg,255,"0x02","^x02")){}
                while(replace(msg,255,"!T","^x03")){}
                while(replace(msg,255,"!G","^x04")){}
		if(id==0){
			message_begin(MSG_ALL, get_user_msgid("SayText"), {0,0,0},id) 
			write_byte(id)
			write_string(msg)
			message_end()
				
		}
		else{
			message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id) 
			write_byte(id)
			write_string(msg)
			message_end()
		}
}

to zostaw tak:

#define MAX_BUFFER_LENGTH       2047

wydaje mi sie ze jeszcze tu trzeba bedzie zmienic:

imsg[256]

// Report stats in the chat section, if player is killed.
	if (KillerChat && iKiller && iKiller != id)
	{
		if (format_kill_ainfo(id, iKiller, g_sBuffer))
		{
			format(imsg,255,"%s",g_sBuffer)
			client_color(id, imsg)
			format_kill_vinfo(id, iKiller, g_sBuffer)
		}
		
		format(imsg,255,"%s",g_sBuffer)
		client_color(id, imsg)
	}

Przejdź do postu


  • Zamknięty Temat jest zamknięty
13 odpowiedzi w tym temacie

#1 Bodziu

    Początkujący

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
  • Imię:Paweł
  • Lokalizacja:Oleśnica
Offline

Napisano 15.12.2016 13:07

Witam,

przerabiałem sobie plugin statsx - jedynie estetyczne aspekty, ponieważ na tym mi zależało i tylko tow sumie umiem. 

 

Ulepszyłem wygląd wszystkich wyświetlanych motd i działało bez zarzutów. 

 

Kiedy zacząłem zmieniać powiadomienia wyskakujące na czacie, to zaczął się problem. Czasami nie działa komenda /hp i wywala w logach następujące błędy:

 

L 12/14/2016 - 21:39:30: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20161214.log")
L 12/14/2016 - 21:39:30: replace() buffer not big enough (162>=127) <-- tutaj wartości są różne
L 12/14/2016 - 21:39:30: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/14/2016 - 21:39:30: [AMXX] Run time error 10: native error (native "replace")
L 12/14/2016 - 21:39:30: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/14/2016 - 21:39:30: [AMXX]    [1] statsx.sma::cmdHp (line 1012)

 

Z tego co sie dowiedziałem to chodzi o wielkość tablicy, czyli trzeba ją zwiększyć (???). Nie skończyłem jeszcze "upiększać" tego pluginu, więc pewnie będzie potrzebna dużo większa :D

 

Nie umiem się tego pozbyć, a zależałoby mi na tym. Mogę liczyć na czyjąś pomoc? Sma w załączniku

Załączone pliki


  • +
  • -
  • 0

#2 tytusek

    Czempion

  • Power User

Reputacja: 229
Wszechwidzący

  • Postów:822
Offline

Napisano 15.12.2016 13:24

lepiej skorzystaj z biblioteki ColorChat.inc 


  • +
  • -
  • 0

#3 Kmf!p

    Wszechwidzący

  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 15.12.2016 13:36

wydaje mi sie ze masz za duzo znakow, a za mala tablice. sprawdz zamiast tego:

public cmdHp(id)
{
	new msg[128]
	if (!SayHP)
	{
		format(msg,127, "%L", id, "DISABLED_MSG")
		client_color(id,msg)
		return PLUGIN_HANDLED
	}
	
	new iKiller = g_izKilled[id][KILLED_KILLER_ID]
	
	
	format_kill_ainfo(id, iKiller, g_sBuffer)
	format(msg,127,"%s", g_sBuffer)
	client_color( id, g_sBuffer)
	
	return PLUGIN_CONTINUE
}

to

public cmdHp(id)
{
	new msg[256]
	if (!SayHP)
	{
		format(msg,255, "%L", id, "DISABLED_MSG")
		client_color(id,msg)
		return PLUGIN_HANDLED
	}
	
	new iKiller = g_izKilled[id][KILLED_KILLER_ID]
	
	
	format_kill_ainfo(id, iKiller, g_sBuffer)
	format(msg,255,"%s", g_sBuffer)
	client_color( id, g_sBuffer)
	
	return PLUGIN_CONTINUE
}

poprostu zwiekszylem tablice. a najlepiej rob tak zeby powiadomienie nie mialo wiecej niz 127 znakow, wtedy nie trzeba bedzie zwiekszac tablicy.


Użytkownik Kmf!p edytował ten post 15.12.2016 13:44

  • +
  • -
  • 0
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#4 Bodziu

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
  • Imię:Paweł
  • Lokalizacja:Oleśnica
Offline

Napisano 15.12.2016 20:46

lepiej skorzystaj z biblioteki ColorChat.inc 

 

Z chęcią, ale jest to podstawowy statsx :D 

 

Żeby przerobić to na colorchat to po prostu usunąć to:

public client_color(id,msg[]){
new playerslist[32],playerscount//,i
get_players(playerslist,playerscount,"c")
while(replace(msg,127,"!W","^x01")){}
                while(replace(msg,127,"0x02","^x02")){}
                while(replace(msg,127,"!T","^x03")){}
                while(replace(msg,127,"!G","^x04")){}
if(id==0){
message_begin(MSG_ALL, get_user_msgid("SayText"), {0,0,0},id) 
write_byte(id)
write_string(msg)
message_end()


}
else{
message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id) 
write_byte(id)
write_string(msg)
message_end()
}
}

? Czy cośjeszcze?

I oczywiście dodać include <colorchat>


  • +
  • -
  • 0

#5 Bodziu

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
  • Imię:Paweł
  • Lokalizacja:Oleśnica
Offline

Napisano 15.12.2016 20:54

@PO wgraniu

 

Po wgraniu wersji ze zmienionym fragmentem od Ciebie Kmf wyskakują takie błędy w logach:

 

L 12/15/2016 - 20:51:22: Start of error session.
L 12/15/2016 - 20:51:22: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20161215.log")
L 12/15/2016 - 20:51:22: replace() buffer not big enough (148>=127)
L 12/15/2016 - 20:51:22: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/15/2016 - 20:51:22: [AMXX] Run time error 10: native error (native "replace")
L 12/15/2016 - 20:51:22: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/15/2016 - 20:51:22: [AMXX]    [1] statsx.sma::cmdHp (line 1012)
L 12/15/2016 - 20:51:26: replace() buffer not big enough (148>=127)
L 12/15/2016 - 20:51:26: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/15/2016 - 20:51:26: [AMXX] Run time error 10: native error (native "replace")
L 12/15/2016 - 20:51:26: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/15/2016 - 20:51:26: [AMXX]    [1] statsx.sma::cmdHp (line 1012)
L 12/15/2016 - 20:51:28: replace() buffer not big enough (148>=127)
L 12/15/2016 - 20:51:28: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/15/2016 - 20:51:28: [AMXX] Run time error 10: native error (native "replace")
L 12/15/2016 - 20:51:28: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/15/2016 - 20:51:28: [AMXX]    [1] statsx.sma::cmdHp (line 1012)
L 12/15/2016 - 20:51:31: replace() buffer not big enough (148>=127)
L 12/15/2016 - 20:51:31: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/15/2016 - 20:51:31: [AMXX] Run time error 10: native error (native "replace")
L 12/15/2016 - 20:51:31: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/15/2016 - 20:51:31: [AMXX]    [1] statsx.sma::cmdHp (line 1012)

 


  • +
  • -
  • 0

#6 Kmf!p

    Wszechwidzący

  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 15.12.2016 21:51

najlepiej nie przekraczac 127 znakow, ale jesli musisz przekroczyc to to moze byc tez problemem:

#define MAX_BUFFER_LENGTH       2047

new g_sBuffer[MAX_BUFFER_LENGTH + 1]                = ""

format_kill_ainfo(id, iKiller, g_sBuffer)
	format(msg,127,"%s", g_sBuffer)
	client_color( id, g_sBuffer)

a dokladnie liczba 2047, wydaje mi sie ze tu moze lezec problem zmien na 3071 i wklej kod co podalem post wyzej, jesli nie pomoze to nie wiem ;)


Użytkownik Kmf!p edytował ten post 15.12.2016 21:58

  • +
  • -
  • 1
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#7 Bodziu

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
  • Imię:Paweł
  • Lokalizacja:Oleśnica
Offline

Napisano 15.12.2016 21:58

@Edit. Zaraz sprawdzę i edytuje post.

 

@@Edit

L 12/15/2016 - 22:11:55: Start of error session.
L 12/15/2016 - 22:11:55: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20161215.log")
L 12/15/2016 - 22:11:55: replace() buffer not big enough (132>=127)
L 12/15/2016 - 22:11:55: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/15/2016 - 22:11:55: [AMXX] Run time error 10: native error (native "replace")
L 12/15/2016 - 22:11:55: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/15/2016 - 22:11:55: [AMXX]    [1] statsx.sma::cmdHp (line 1012)
L 12/15/2016 - 22:11:56: replace() buffer not big enough (132>=127)
L 12/15/2016 - 22:11:56: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/15/2016 - 22:11:56: [AMXX] Run time error 10: native error (native "replace")
L 12/15/2016 - 22:11:56: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/15/2016 - 22:11:56: [AMXX]    [1] statsx.sma::cmdHp (line 1012)
L 12/15/2016 - 22:11:57: replace() buffer not big enough (132>=127)
L 12/15/2016 - 22:11:57: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/15/2016 - 22:11:57: [AMXX] Run time error 10: native error (native "replace")
L 12/15/2016 - 22:11:57: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/15/2016 - 22:11:57: [AMXX]    [1] statsx.sma::cmdHp (line 1012)

Chodzi o długość znaków gdzie?

 


Użytkownik Bodziu edytował ten post 15.12.2016 22:13

  • +
  • -
  • 0

#8 Kmf!p

    Wszechwidzący

  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 15.12.2016 22:37

moze jeszcze wiekszy buffer 4095 wpisz.

bo bylo tyle w bledzie

replace() buffer not big enough (148>=127)

a jest

replace() buffer not big enough (132>=127) 

wiec malo brakuje ;)

 

no to co wyswietla sie na say po wpisaniu /hp nie moze przekraczac 127 znakow


Użytkownik Kmf!p edytował ten post 15.12.2016 22:41

  • +
  • -
  • 1
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#9 Bodziu

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
  • Imię:Paweł
  • Lokalizacja:Oleśnica
Offline

Napisano 15.12.2016 22:59

Lecimy dalej :P

 

L 12/15/2016 - 22:59:15: Start of error session.
L 12/15/2016 - 22:59:15: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20161215.log")
L 12/15/2016 - 22:59:15: replace() buffer not big enough (130>=127)
L 12/15/2016 - 22:59:15: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/15/2016 - 22:59:15: [AMXX] Run time error 10: native error (native "replace")
L 12/15/2016 - 22:59:15: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/15/2016 - 22:59:15: [AMXX]    [1] statsx.sma::cmdHp (line 1012)
L 12/15/2016 - 22:59:15: replace() buffer not big enough (130>=127)
L 12/15/2016 - 22:59:15: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/15/2016 - 22:59:15: [AMXX] Run time error 10: native error (native "replace")
L 12/15/2016 - 22:59:15: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/15/2016 - 22:59:15: [AMXX]    [1] statsx.sma::cmdHp (line 1012)
L 12/15/2016 - 22:59:16: replace() buffer not big enough (130>=127)
L 12/15/2016 - 22:59:16: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/15/2016 - 22:59:16: [AMXX] Run time error 10: native error (native "replace")
L 12/15/2016 - 22:59:16: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/15/2016 - 22:59:16: [AMXX]    [1] statsx.sma::cmdHp (line 1012)
L 12/15/2016 - 22:59:17: replace() buffer not big enough (130>=127)
L 12/15/2016 - 22:59:17: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/15/2016 - 22:59:17: [AMXX] Run time error 10: native error (native "replace")
L 12/15/2016 - 22:59:17: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/15/2016 - 22:59:17: [AMXX]    [1] statsx.sma::cmdHp (line 1012)
L 12/15/2016 - 22:59:17: replace() buffer not big enough (130>=127)
L 12/15/2016 - 22:59:17: [AMXX] Displaying debug trace (plugin "statsx.amxx")
L 12/15/2016 - 22:59:17: [AMXX] Run time error 10: native error (native "replace")
L 12/15/2016 - 22:59:17: [AMXX]    [0] statsx.sma::client_color (line 223)
L 12/15/2016 - 22:59:17: [AMXX]    [1] statsx.sma::cmdHp (line 1012)

 


  • +
  • -
  • 0

#10 Bodziu

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
  • Imię:Paweł
  • Lokalizacja:Oleśnica
Offline

Napisano 15.12.2016 23:03

Może usunąć z komunikatu /hp informacje gdzie dostało się obrażenia?


  • +
  • -
  • 0

#11 Kmf!p

    Wszechwidzący

  • Użytkownik

Reputacja: 29
Życzliwy

  • Postów:274
  • Lokalizacja:knyszyn
Offline

Napisano 15.12.2016 23:07   Najlepsza odpowiedź

czekaj juz wiem, nie spojrzalem ;)

podmien to:

public cmdHp(id)
{
	new msg[256]
	if (!SayHP)
	{
		format(msg,255, "%L", id, "DISABLED_MSG")
		client_color(id,msg)
		return PLUGIN_HANDLED
	}
	
	new iKiller = g_izKilled[id][KILLED_KILLER_ID]
	
	
	format_kill_ainfo(id, iKiller, g_sBuffer)
	format(msg,255,"%s", g_sBuffer)
	client_color( id, g_sBuffer)
	
	return PLUGIN_CONTINUE
}

i to:

public client_color(id,msg[]){
		new playerslist[32],playerscount//,i
		get_players(playerslist,playerscount,"c")
		while(replace(msg,255,"!W","^x01")){}
                while(replace(msg,255,"0x02","^x02")){}
                while(replace(msg,255,"!T","^x03")){}
                while(replace(msg,255,"!G","^x04")){}
		if(id==0){
			message_begin(MSG_ALL, get_user_msgid("SayText"), {0,0,0},id) 
			write_byte(id)
			write_string(msg)
			message_end()
				
		}
		else{
			message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id) 
			write_byte(id)
			write_string(msg)
			message_end()
		}
}

to zostaw tak:

#define MAX_BUFFER_LENGTH       2047

wydaje mi sie ze jeszcze tu trzeba bedzie zmienic:

imsg[256]

// Report stats in the chat section, if player is killed.
	if (KillerChat && iKiller && iKiller != id)
	{
		if (format_kill_ainfo(id, iKiller, g_sBuffer))
		{
			format(imsg,255,"%s",g_sBuffer)
			client_color(id, imsg)
			format_kill_vinfo(id, iKiller, g_sBuffer)
		}
		
		format(imsg,255,"%s",g_sBuffer)
		client_color(id, imsg)
	}


Użytkownik Kmf!p edytował ten post 15.12.2016 23:15

  • +
  • -
  • 1
b_350_20_FFAD41_E98100_000000_591F11.png

b_350_20_FFAD41_E98100_000000_591F11.png 

CodMod- 31.186.82.99:23510
Only Dust2- 31.186.82.99:23544

#12 Bodziu

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
  • Imię:Paweł
  • Lokalizacja:Oleśnica
Offline

Napisano 15.12.2016 23:52

Działą pięknie :)

 

Zobaczymy do jutra jak będzie 20 graczy i dam znać :)

 

Masz plusiki :)


  • +
  • -
  • 0

#13 Bodziu

    Początkujący

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:16
  • Imię:Paweł
  • Lokalizacja:Oleśnica
Offline

Napisano 16.12.2016 19:41

Plugin działa bez zarzutów. Dzięki wielkie za pomoc - do zamknięcia.


  • +
  • -
  • 0

#14 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 555
Godlike

  • Postów:11 980
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 25.12.2016 04:16

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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