Zamiana formatex na colorchat
QuahodronN
29.09.2012
Siema, mam pytanko ponieważ nie bardzo wiem jak zamienić formatex na colorchat
Ale czy to będzie działać? Chyba mi się wydaje że nie
Wolę zapytać i otrzymać jakąś pomoc jeśli jest źle
Z góry dzięki.
formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gWlascicielPrefix);Chciałbym aby to wyglądało to jakoś tak
ColorChat(id, GREEN, "[%s]", gWlascicielPrefix);
Ale czy to będzie działać? Chyba mi się wydaje że nie
Wolę zapytać i otrzymać jakąś pomoc jeśli jest źle
Z góry dzięki.
sNH.
30.09.2012
Będzie działać, ale jak dobrze pamiętam przy formatex jest coś z line itd. Trzeba wyrzucić parę "linijek"
QuahodronN
30.09.2012
#include <amxmodx> new const gNazwaPluginu[] = "Chat Tags"; new const gWersjaPluginu[] = "1.1"; new const gAutorPluginu[] = "MisieQ"; new gWlascicielFlaga[32], gHeadAdminFlaga[32], gAdminFlaga[32], gVipFlaga[32], gGraczFlaga[32]; new gWlascicielPrefix[32], gHeadAdminPrefix[32], gAdminPrefix[32], gVipPrefix[32], gGraczPrefix[32]; public plugin_init() { register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu); register_message(get_user_msgid("SayText"), "Prefix"); /* Cvary */ register_cvar("wlasciciel_flaga", "abcdefghijklmnopqrstuwvx"); register_cvar("headadmin_flaga", "abcdefghijklmnopqstu"); register_cvar("admin_flaga", "bcdefijtmu"); register_cvar("vip_flaga", "bt"); register_cvar("gracz_flaga", "z"); get_cvar_string("wlasciciel_flaga", gWlascicielFlaga, sizeof gWlascicielFlaga -1) get_cvar_string("headadmin_flaga", gHeadAdminFlaga, sizeof gHeadAdminFlaga -1) get_cvar_string("admin_flaga", gAdminFlaga, sizeof gAdminFlaga -1) get_cvar_string("vip_flaga", gVipFlaga, sizeof gVipFlaga -1) get_cvar_string("gracz_flaga", gGraczFlaga, sizeof gGraczFlaga -1) /* Prefixy */ register_cvar("wlasciciel_prefix", "Wlasciciel"); register_cvar("headadmin_prefix", "HeadAdmin"); register_cvar("admin_prefix", "Admin"); register_cvar("vip_prefix", "VIP"); register_cvar("gracz_prefix", "Gracz"); get_cvar_string("wlasciciel_prefix", gWlascicielPrefix , sizeof gWlascicielPrefix -1) get_cvar_string("headadmin_prefix", gHeadAdminPrefix , sizeof gHeadAdminPrefix -1) get_cvar_string("admin_prefix", gAdminPrefix , sizeof gAdminPrefix -1) get_cvar_string("vip_prefix", gVipPrefix , sizeof gVipPrefix -1) get_cvar_string("gracz_prefix", gGraczPrefix, sizeof gGraczPrefix -1) } public has_flags(id,string[]) { new ret=1 new byte new len = strlen(string) new p_flag = get_user_flags(id) for(new i=0;i<=len;i++) { if(string[i]>='a' && string[i]<='z') byte = (1<<(string[i]-'a')) else if(string[i]>='A' && string[i]<='Z') byte = (1<<(string[i]-'A')) else if(string[i]==',' && ret==1) return 1 else if(string[i]==',') ret=1 if(byte!=0 && !(p_flag & byte)) ret=0 byte=0 } return ret } public Prefix(msgId,msgDest,msgEnt) { new id = get_msg_arg_int(1); if(!is_user_connected(id)) return PLUGIN_CONTINUE; new szTmp[256],szTmp2[256]; get_msg_arg_string(2,szTmp, charsmax( szTmp ) ) new szPrefix[64]; if(has_flags(id, gWlascicielFlaga)) { formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gWlascicielPrefix); } else if(has_flags(id, gHeadAdminFlaga)) { formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gHeadAdminPrefix); } else if(has_flags(id, gAdminFlaga)) { formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gAdminPrefix); } else if(has_flags(id, gVipFlaga)) { formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gVipPrefix); } else if(has_flags(id, gGraczFlaga)) { formatex(szPrefix,charsmax( szPrefix ),"^x04%s",gGraczPrefix); } else { formatex(szPrefix,charsmax( szPrefix ),"^x04%s",gGraczPrefix); } if(!equal(szTmp,"#Cstrike_Chat_All")) { add(szTmp2,charsmax(szTmp2),szPrefix); add(szTmp2,charsmax(szTmp2)," "); add(szTmp2,charsmax(szTmp2),szTmp); } else { add(szTmp2,charsmax(szTmp2),szPrefix); add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2"); } set_msg_arg_string(2,szTmp2); return PLUGIN_CONTINUE; }
Oto cały kod
a konkretnie chodzi o to
if(has_flags(id, gWlascicielFlaga)) { formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gWlascicielPrefix); } else if(has_flags(id, gHeadAdminFlaga)) { formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gHeadAdminPrefix); } else if(has_flags(id, gAdminFlaga)) { formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gAdminPrefix); } else if(has_flags(id, gVipFlaga)) { formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",gVipPrefix); } else if(has_flags(id, gGraczFlaga)) { formatex(szPrefix,charsmax( szPrefix ),"^x04%s",gGraczPrefix); } else { formatex(szPrefix,charsmax( szPrefix ),"^x04%s",gGraczPrefix); }
K!113r
30.09.2012
Colorchat drukuje tekst (+ obsługuje kolory), ale tylko drukuje, a formatex formatuje stringa i zapisuje do tablicy.
W tym kodzie łapiesz wiadomość z say, zmieniasz i puszczasz dalej (dodajesz np. prefiks), czyli nie możesz użyć colorchatu.
W tym kodzie łapiesz wiadomość z say, zmieniasz i puszczasz dalej (dodajesz np. prefiks), czyli nie możesz użyć colorchatu.
K!113r
30.09.2012
Raczej można uzyskać kolor teama (to na pewno), ale co do stałego czerwonego nigdy nie próbowałem
QuahodronN
30.09.2012
Wiem że teraz się da uzyskać kolor teamu zmieniając x04 na x03 ale własnie chodzi mi aby był cały czas czerwony stąd moje pytanie czy da radę to zamienić na ColorChat.
K!113r
30.09.2012
Dać to się da, lecz jeżeli chcesz mieć prefix na czerwono (stały) to nick też bd miał stale czerwony, nawet w ct.
sebul
30.09.2012
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
Ten temat został zamknięty przez moderatora.
Powód: Temat zamknięty na prośbę użytkownika.
Z pozdrowieniami,
Zespół AMXX.PL