Od toldiego nie działa, dwa prefixy są. Od fakena jest ok
Działać działa tyle że na szybkiego sprawdzałem i zrozumiałem że gracz z imunitetem i vipem ma mieć 2 prefixy. Niżej bardziej optymalna kod od tego wyżej.
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], szPrefix[64];
get_msg_arg_string(2, szTmp, charsmax(szTmp));
formatex(szPrefix, charsmax(szPrefix), "^x04%s", (get_user_flags(id) & ADMIN_IMMUNITY) ? "[ADMIN] ": "[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;
}


Dodatki SourceMod




Moja zawartość
Mężczyzna

