Modyfikacja jest całkiem zacna i można fajnie pograć.
a..
Również mam problem z s1 s2
Jeśli dodamy te dane z poprawki kolegi, otrzymamy poprawne wyświetlanie chatu ale bez rangi, obok naszej ksywki.
Brakuje " , gRankName[gPlayer[id][RANK]]) " .. problem w tym jest że próbowałem 20 razy na rożne sposoby napisać i nie mam pojęcia jak to ma wyglądać żeby działać poprawnie
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[Nasz Prefix]"; 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; }
public chat_prefix(msgId, msgDest, msgEnt) { new id = get_msg_arg_int(1); if (!is_user_connected(id)) return PLUGIN_CONTINUE; new sTemp[256], sMessage[256], sPrefix[64]; get_msg_arg_string(2, sTemp, charsmax(sTemp)); formatex(sPrefix, charsmax(sPrefix), "^x04[%s]", gRankName[gPlayer[id][RANK]]); if (!equal(sTemp, "#Cstrike_Chat_All")) { add(sMessage, charsmax(sMessage), sPrefix); add(sMessage, charsmax(sMessage), " "); add(sMessage, charsmax(sMessage), sTemp); } else { add(sMessage, charsmax(sMessage), sPrefix); add(sMessage, charsmax(sMessage), " ^x03%s1 ^x01: %s2"); } set_msg_arg_string(2, sMessage); return PLUGIN_CONTINUE; }