Prefixy w say Cod Stary

Nad plugin_init dodajemy

new pCvarPrefixy;

np.

new bool:freezetime = true;
new pCvarPrefixy;

w plugin_init dodajemy

register_message(get_user_msgid("SayText"),"handleSayText");
	
pCvarPrefixy	=	register_cvar("cod_prefix","1");

na końcu pluginu dodajemy

public handleSayText(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]
	
	switch(get_pcvar_num(pCvarPrefixy)){
		case 1:{
			formatex(szPrefix,charsmax( szPrefix ),"^x04[%s]",nazwy_klas[klasa_gracza[id]]);
		}
		case 2:{
			formatex(szPrefix,charsmax( szPrefix ),"^x04[%d]",poziom_gracza[id]);
		}
		case 3:{
			formatex(szPrefix,charsmax( szPrefix ),"^x04[%s - %d]",nazwy_klas[klasa_gracza[id]],poziom_gracza[id]);
		}
	}
	
	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;
}

Wygląd ustawiamy za pomocą cvara cod_prefix (standardowo na 1)

Wygląd

7 komentarzy o “Prefixy w say Cod Stary

  1. Witam, wszystko działa. Długo się głowiłem czemu mi po zainstalowaniu tego czasem pada serwer:
    FATAL ERROR (shutting down): Host_Error: PF_MessageEnd_I: Refusing to send user message SayText of 194 bytes to client, user message size limit is 192 bytes

    Gdy ktoś ma za długi nick + długa nazwa klasy i duży lvl to jest za sługa linijka. Możliwe jest, że to to buguje serwer? Jeżeli tak to dało by się dodać do tego jakąś łatkę, która w takich przypadkach po prostu opuści tą funkcję?

  2. Witam. Możesz powiedzieć co jest tutaj źle ? Na czacie pojawia się:
    [Wsparcie ogniowe – 1] s1: s2

    Kod:
    [code]// prefixy
    public handleSayText(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]
    formatex(szPrefix, charsmax(szPrefix), „^x04[%s – %d]”, nazwy_klas[klasa_gracza[id]], poziom_gracza[id])

    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
    }[/code]

Dodaj komentarz