Prefixy po aktualizacji
Vakos
12.07.2017
@UP
Jeżeli można - niech ktoś podmieni kod wyżej i usunie ten post.
Poprawka na przekroczenie limitu 191 znaków:
public handleSayText(msgId,msgDest,msgEnt){ new id = get_msg_arg_int(1); if(!is_user_connected(id)) return PLUGIN_CONTINUE; new szTmp[192], szTmp2[192]; get_msg_arg_string(2, szTmp, charsmax(szTmp)); new szPrefix[64] = "^x04[Test]"; if(!equal(szTmp,"#Cstrike_Chat_All")){ add(szTmp2, charsmax(szTmp2), "^x01"); add(szTmp2, charsmax(szTmp2), szPrefix); add(szTmp2, charsmax(szTmp2), " "); add(szTmp2, charsmax(szTmp2), szTmp); } else{ new szPlayerName[64]; get_user_name(id, szPlayerName, charsmax(szPlayerName)); get_msg_arg_string(4, szTmp, charsmax(szTmp)); //4. argument zawiera treść wysłanej wiadomości set_msg_arg_string(4, ""); //Musimy go wyzerować, gdyż gra wykorzysta wiadomość podwójnie co może skutkować crash'em 191+ znaków. add(szTmp2, charsmax(szTmp2), "^x01"); add(szTmp2, charsmax(szTmp2), szPrefix); add(szTmp2, charsmax(szTmp2), "^x03 "); add(szTmp2, charsmax(szTmp2), szPlayerName); add(szTmp2, charsmax(szTmp2), "^x01 : "); add(szTmp2, charsmax(szTmp2), szTmp) } set_msg_arg_string(2, szTmp2); return PLUGIN_CONTINUE; }
Sprawdzone. Jak na razie działa ![]()
Vakos
12.07.2017
public handleSayText(msgId,msgDest,msgEnt)
{
new id = get_msg_arg_int(1);
if(!is_user_connected(id) && user_gang[id])
return PLUGIN_CONTINUE;
{
new szTmp[192], szTmp2[192];
get_msg_arg_string(2, szTmp, charsmax(szTmp));
new szInt[10], szPrefix[64], szPrefix2[64];
num_to_str(user_gang[id], szInt, 9);
TrieGetString(gnGangName, szInt, szPrefix2, 11);
formatex(szPrefix,charsmax( szPrefix ),"^x01*^x03[%s]^x01*",szTmp2);
if(!equal(szTmp,"#Cstrike_Chat_All"))
{
add(szTmp2, charsmax(szTmp2), "^x01");
add(szTmp2, charsmax(szTmp2), szPrefix);
add(szTmp2, charsmax(szTmp2), " ");
add(szTmp2, charsmax(szTmp2), szTmp);
}
else
{
new szPlayerName[64];
get_user_name(id, szPlayerName, charsmax(szPlayerName));
get_msg_arg_string(4, szTmp, charsmax(szTmp)); //4. argument zawiera treść wysłanej wiadomości
set_msg_arg_string(4, ""); //Musimy go wyzerować, gdyż gra wykorzysta wiadomość podwójnie co może skutkować crash'em 191+ znaków.
add(szTmp2, charsmax(szTmp2), "^x01");
add(szTmp2, charsmax(szTmp2), szPrefix);
add(szTmp2, charsmax(szTmp2), "^x03 ");
add(szTmp2, charsmax(szTmp2), szPlayerName);
add(szTmp2, charsmax(szTmp2), "^x01 : ");
add(szTmp2, charsmax(szTmp2), szTmp)
}
set_msg_arg_string(2, szTmp2);
return PLUGIN_CONTINUE
}
}
Dodałem prefix do gangów, lecz po dodaniu jeżeli ktoś nie posiada gangu wyskakuje *[]* Nick
Może ktoś pomóc?
Użytkownik Vakos edytował ten post 12.07.2017 17:45
Informatyk.exe
12.07.2017
@UP
Jeżeli można - niech ktoś podmieni kod wyżej i usunie ten post.
Poprawka na przekroczenie limitu 191 znaków:
public handleSayText(msgId,msgDest,msgEnt){ new id = get_msg_arg_int(1); if(!is_user_connected(id)) return PLUGIN_CONTINUE; new szTmp[192], szTmp2[192]; get_msg_arg_string(2, szTmp, charsmax(szTmp)); new szPrefix[64] = "^x04[Test]"; if(!equal(szTmp,"#Cstrike_Chat_All")){ add(szTmp2, charsmax(szTmp2), "^x01"); add(szTmp2, charsmax(szTmp2), szPrefix); add(szTmp2, charsmax(szTmp2), " "); add(szTmp2, charsmax(szTmp2), szTmp); } else{ new szPlayerName[64]; get_user_name(id, szPlayerName, charsmax(szPlayerName)); get_msg_arg_string(4, szTmp, charsmax(szTmp)); //4. argument zawiera treść wysłanej wiadomości set_msg_arg_string(4, ""); //Musimy go wyzerować, gdyż gra wykorzysta wiadomość podwójnie co może skutkować crash'em 191+ znaków. add(szTmp2, charsmax(szTmp2), "^x01"); add(szTmp2, charsmax(szTmp2), szPrefix); add(szTmp2, charsmax(szTmp2), "^x03 "); add(szTmp2, charsmax(szTmp2), szPlayerName); add(szTmp2, charsmax(szTmp2), "^x01 : "); add(szTmp2, charsmax(szTmp2), szTmp) } set_msg_arg_string(2, szTmp2); return PLUGIN_CONTINUE; }
Widać wystarczyło w tak prosty sposób, działa wszystko.
Plus dla Ciebie.
Gift`akaCheater
12.07.2017
Mógłby ktoś zrobić mi ten plugin? Dodaję ten kod co wyżej lecz dalej nie działa. Zamiast nicków jest napis "s" bez treści wiadomości.
Załączone pliki
Informatyk.exe
12.07.2017
A tu kod konkretnie pod VIP'a / SVIp'a .
public handleSayText(msgId,msgDest,msgEnt){
new id = get_msg_arg_int(1);
if(is_user_connected(id) && g_Vip[id]){
new szTmp[192], szTmp2[192];
get_msg_arg_string(2, szTmp, charsmax(szTmp));
new szPrefix[64] = "^x04[VIP]";
if(!equal(szTmp,"#Cstrike_Chat_All")){
add(szTmp2, charsmax(szTmp2), "^x01");
add(szTmp2, charsmax(szTmp2), szPrefix);
add(szTmp2, charsmax(szTmp2), " ");
add(szTmp2, charsmax(szTmp2), szTmp);
}
else{
new szPlayerName[64];
get_user_name(id, szPlayerName, charsmax(szPlayerName));
get_msg_arg_string(4, szTmp, charsmax(szTmp)); //4. argument zawiera treść wysłanej wiadomości
set_msg_arg_string(4, ""); //Musimy go wyzerować, gdyż gra wykorzysta wiadomość podwójnie co może skutkować crash'em 191+ znaków.
add(szTmp2, charsmax(szTmp2), "^x01");
add(szTmp2, charsmax(szTmp2), szPrefix);
add(szTmp2, charsmax(szTmp2), "^x03 ");
add(szTmp2, charsmax(szTmp2), szPlayerName);
add(szTmp2, charsmax(szTmp2), "^x01 : ");
add(szTmp2, charsmax(szTmp2), szTmp)
}
set_msg_arg_string(2, szTmp2);
}
return PLUGIN_CONTINUE;
}
Lizka
12.07.2017
Łapcie poprawkę, liczę na Repke ![]()
Proszę usunąć jeśli może ktoś odebrać to jako spam ale tu mam trochę więcej.
http://paintballmod....tualizacji_5050
Załączone pliki
Użytkownik Lizka edytował ten post 12.07.2017 21:46
_McHappy
12.07.2017
Oficjalny raport błędu: https://github.com/V...ife/issues/1819
Użytkownik _McHappy edytował ten post 12.07.2017 23:02
Gift`akaCheater
13.07.2017
adam1924
13.07.2017
Ja żadnego pluginu nie przerabiałem tylko dodałem nowy plugin pod ; Chat / Messages
Problem na serwerze się rozwiązał. https://forums.allie...806#post2534806Tutaj macie plugin który wgrałem i działa.
vanillah
13.07.2017
Ja żadnego pluginu nie przerabiałem tylko dodałem nowy plugin pod ; Chat / Messages
Problem na serwerze się rozwiązał. https://forums.allie...806#post2534806Tutaj macie plugin który wgrałem i działa.
zacznie ci bugowac
_McHappy
13.07.2017
Ja żadnego pluginu nie przerabiałem tylko dodałem nowy plugin pod ; Chat / Messages
Problem na serwerze się rozwiązał. https://forums.allie...806#post2534806Tutaj macie plugin który wgrałem i działa.
Powiem tak, łatka z podanego forum tylko częściowo wpływa na problem pluginu, do którego link został podany przez autora tematu.
Częściowo znaczy, że wciąż istnieje problem zachowania oryginalnej koloryzacji linii z wiadomością.
Jeżeli ktoś nie używa prefixów, owa łatka jest jedynie obciążeniem dla serwera.
Testowane na czystym serwerze Windows Steam z ostatnią aktualizacją.
Lizka
14.07.2017
vanillah tylko że ja podałem ten sam plugin pod nazwa poprawka lecz czasami się buguje ![]()
Użytkownik Lizka edytował ten post 14.07.2017 06:06
adi330
16.07.2017
Przez ten kod - działa, ale pokazuje 2 razy prefix [VIP]. Co zrobić ?
_McHappy
16.07.2017
@_McHappy
Przez ten kod - działa, ale pokazuje 2 razy prefix [VIP]. Co zrobić ?
Upewnij się, czy żaden inny plugin nie ingeruje w modyfikację prefix'u.
Batonik
19.07.2017
Po wgraniu dwóch wersji łatek mam losowe crashe:
Reason: Server shutting down L 07/15/2017 - 14:26:40: Server shutdown L 07/15/2017 - 14:26:40: Log file closed L 07/15/2017 - 14:26:40: FATAL ERROR (shutting down): Host_Error: PF_MessageEnd_I: Refusing to send user message SayText of 230 bytes to client, user message size limit is 192 bytes FATAL ERROR (shutting down): Host_Error: PF_MessageEnd_I: Refusing to send user message SayText of 230 bytes to client, user message size limit is 192 bytes
Spróbowałem wyłączyć ad_manager ale bez zmian. Gdzie szukać problemu?
Użytkownik Batonik edytował ten post 19.07.2017 17:53
_McHappy
19.07.2017
Poprawka dla kodu Dark'a (1. Post)
https://amxx.pl/topi...ji/#entry741015
Musisz się upewnić, czy żaden inny plugin nie ingeruje w formatowanie linii czatu.
Jeżeli modyfikujesz 2. argument wiadomości wystawiając do niego gotową, sformatowaną linię wiadomości, pamiętaj o wyzerowaniu argumentu 4. zawierającego jej treść (domyślnie używane jako %s2, lecz podmiana 2. argumentu wyłącza opcję użycia preformatowanych zapisów klienta)
Batonik
20.07.2017
Błąd wynikający z zbyt długiej wiadomości wysyłanej na chat.
Poprawka dla kodu Dark'a (1. Post)
https://amxx.pl/topi...ji/#entry741015
Musisz się upewnić, czy żaden inny plugin nie ingeruje w formatowanie linii czatu.
Jeżeli modyfikujesz 2. argument wiadomości wystawiając do niego gotową, sformatowaną linię wiadomości, pamiętaj o wyzerowaniu argumentu 4. zawierającego jej treść (domyślnie używane jako %s2, lecz podmiana 2. argumentu wyłącza opcję użycia preformatowanych zapisów klienta)
Widzę, że nie tylko ja mam ten problem: https://forums.allie...84&postcount=80
Nie ma jakiegoś rozwiązania w postaci pluginu? Posiadam csgov3, a jak wiadomo plugin zamknięty i nic nie zrobię w tym wypadku.
_McHappy
20.07.2017
Posiadasz jakiegoś csgo moda od jakiejś osoby... a więc powinieneś się zgłosić do tej 'jakiejś' osoby...
Tak czy inaczej, jeżeli kolega <pytajnik> zrobił prefixy sposobem opisanym przez Dark'a, to masz tu łatkę niezależną - dopisz na samym dole plugins.ini
Załączone pliki
Rivit
21.07.2017
No dobrze, a co z wiadomościami typu #Game_Ra
#include <amxmodx>
new g_iMsgTextMsg
#define print_chat_colored 5
public plugin_init()
{
register_plugin("", "1.0", "asda")
g_iMsgTextMsg = get_user_msgid("TextMsg");
register_message(g_iMsgTextMsg, "MsgTextMsg");
}
public MsgTextMsg(iMesgId, iMsgType, id)
{
if(get_msg_args() != 5 || get_msg_arg_int(1) != print_chat_colored)
return PLUGIN_CONTINUE;
// 2 - id
// 3 - #Game_radio
// 4 - nick
// 5 - #Fire_in_the
static s_iMessage[192], szMessage[192];
get_msg_arg_string(3, s_iMessage, 191);
if(equal(s_iMessage, "#Game_radio"))
{
get_msg_arg_string(5, szMessage, 192)
new msg[192], name[33]
get_user_name(id, name, 32)
formatex(msg, 191, "^4%s (RADIO) : %s", name, szMessage)
set_msg_arg_string(4, "");
set_msg_arg_string(5, msg);
}
return PLUGIN_CONTINUE;
}
JAkieś wskazówki jak się za to zabrać?
dio, bo też nie działają. Spędziłem ponad godzinę nad tym, niestety nie potrafię tego zrobić ![]()






