[INC] Fix a %s de Client Print Center
#1
Buenas a todxs!
Hace rato no comparto algo, ahora les dejo de "forma oficial" mi pequeño fix a este problema. Porque lo han pasado anteriormente por acá, yo también lo dejé en nuesetro Discord fijado en los mensajes.

Esto es una solución al problema que aparece %s a lxs usuarixs de No-Steam o cualquier otra versión no actualizada del juego luego de la actualización del 2019. Este problema ocurrió por fixes del mismo juego en Steam, y para complementar se fixeo tambien AMX Mod X pero se rompio la compatibilidad con versiones no-steam. Breve resumen.
Lo que hace este stock, aprovechando las oportunidades de ReHLDS con ReApi es filtrar a usuarios Steam y enviar el mensaje desde la native oficial y al resto, usar el método de "message_begin". Puede ser utilizado en CS, CS:CZ, HL, Ricochet, Half Life, DoD, TFC.

Lo único que necesitan es incluir este archivo luego del #include <amxmodx> y no necesitarán reemplazar nada de su plugin, ya estará aplicado el "fix".

Requerimientos para utilizar este stock:
Recuerden siempre, que con la última versión publicada de cada ítem de esta lista no habrá problemas.
Descarga:
.inc   client_print_fx.inc (Tamaño: 1.43 KB / Descargas: 193)

Código PHP:
#if defined _client_print_fx_included
    #endinput
#endif
#define _client_print_fx_included

#include <reapi>

#define client_print client_print_fx
stock client_print_fxid, const type, const message[], any:... )
{
    if( 
id && !is_user_connectedid ) )
    {
        return;
    }

    static 
iTextMsg;
    if( 
iTextMsg || ( iTextMsg get_user_msgid("TextMsg") ) )
    {
        new 
sPlayers[MAX_PLAYERS];
        new 
iPlayersCount;
        new 
iUser;

        new 
sMessage[187];
        new 
sRealMessage[187];
        new 
iLen;

        new 
sModName[21];
        
get_modname(sModNamecharsmax(sModName));

        new 
bool:bCStrike equal(sModName"cstrike") ? true false;

        ( 
numargs() < ) ?
            ( 
iLen copysRealMessagecharsmaxsRealMessage ), message ) ) :
            ( 
iLen vformatsRealMessagecharsmaxsRealMessage ), message) );

        
iLen copysMessagecharsmaxsMessage ), sRealMessage );
        
sMessage[iLen++] = '^n';
        
sMessage[iLen] = 0;

        if( 
id )
        {
            
iPlayersCount 1;
            
sPlayers[0] = id;
        }
        else
        {
            
get_players_exsPlayersiPlayersCountGetPlayers_ExcludeBots GetPlayers_ExcludeHLTV );
        }

        for( 
id 0id iPlayersCount; ++id )
        {
            
iUser sPlayers[id];

            if( 
bCStrike && REU_GetProtocoliUser ) != 47 )
            {
                
client_printiUsertypesRealMessage );
            }
            else
            {
                
message_beginMSG_ONEiTextMsg_iUser );
                
write_bytetype );
                
write_stringsMessage );
                
message_end( );
            }
        }
    }


Un saludo!
Believe, be yourself and don't hold on to just one dream ❤

https://github.com/FEDERICOMB96
Responder
#2
(12/08/2020, 03:23 AM)Federicomb escribió: los usuarixs

los usuarios*

buena info
(15/12/2020, 07:06 PM)Mario AR. escribió: Cuando tu acatante conozca de tu nuevo puerto, te volverá a atacar
Responder
#3
Grande fede Proud
Ingeniero agrónomo y desarrollador de Software.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

Merci Alliedmodders pour m'introduire dans la programmation.
Responder
#4
Pasa imágenes de como se vería en no-steam porque no entiendo una mierda Oh god why
Responder
#5
(12/08/2020, 02:37 PM)OsweRRR escribió: Pasa imágenes de como se vería en no-steam porque no entiendo una mierda  Oh god why

En la update del CS del año pasado, para arreglar cierto problema, rompieron otra cosa, la cual afecta netamente a los No-steam y provoca que al usar print_center, en vez de que ellos vean el mensaje formateado bien, veran un %s que es el WRITE_STRING sin formato, este fix usa un message_begin directo para que no ocurra que se muestre un %s.
Responder
#6
(12/08/2020, 11:56 AM)roccoxx escribió: Grande fede Proud

Dios me lo bendiga!
[Imagen: 76561198350936449.png]

Cita:Los precios en la moneda venezolana se fijarán a partir de la reconversión monetaria y valdrá mucho menos de lo que cuesta una Cachapa con queso.
Responder
#7
Les adjunté los links oficiales a GitHub para que también estén a mano. No adjunto la librería ReApi acá porque cae de maduro que es innecesario, además de que por cada actualización no me pondré a actualizar el tema Oh god why
Believe, be yourself and don't hold on to just one dream ❤

https://github.com/FEDERICOMB96
Responder
#8
Que tal Fede? Como estas?

Es bueno saber de tal fix. Hace tiempo tenia ganas de aplicarlo y llegó el dia!
El problema es el siguiente: Apenas agrego el include, me tira cierto errores como punto y coma ( ; ), corchete ( ] ) y hasta me tira que una variable ya está usada.

Código:
AMX Mod X Compiler 1.10.0.5406
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Team

Error: Symbol already defined: "ArmorType" on line 262
Error: Invalid subscript (not an array or too many subscripts): "ArmorType" on line 2294
Warning: Expression has no effect on line 2294
Error: Expected token: ";", but found "]" on line 2294
Error: Invalid expression, assumed zero on line 2294
Error: Too many error messages on one line on line 2294

Compilation aborted.
5 Errors.
Could not locate output file C:\Users\******\Desktop\pug***.amx (compile failed).
(12/03/2014, 08:11 PM)roccoxx escribió: jajajajajajajajajajajajajajajaajajajajajaajajajajajajajajajajajajajajajajajajajajajajajajajjajajjajajajajaja

todo eso elevado a la quinta potencia.
Responder
#9
La librería ya trae incluido reapi, pueda que lo estés repitiendo otra ves
[Imagen: zcsztw-4.png] [Imagen: 6u5fj2-4.png]
[Imagen: linkedin_thumb_image.png][Imagen: 76561198283253977.png][Imagen: linkedin_thumb_image.png]
Responder
#10
Buenas tardes

no entiendo esto

Lo único que necesitan es incluir este archivo luego del #include <amxmodx> y no necesitarán reemplazar nada de su plugin, ya estará aplicado el "fix".

yo baje el archivo y lo puse en include. haciendo eso no funciona. alguien me podria decir que es lo que falta y como hacerlo. gracias
Responder
#11
Hola !, acabo de testear en un cs 1.6 no steam versión mas actual y tira muchos logs en consola también ni sale el mensaje y en una versión de cs 1.6 no steam mas antigua no tira ningún log y se muestra adecuadamente el mensaje.

Versión de cs 1.6 que no sale ningún logs y funciona bien.
Cita:Exe version 1.1.2.5 (cstrike)
Exe build: 10:56:59 Oct 3 2005 (3266)

Versión de cs 1.6 que salen los logs y no muestra el mensaje.
Cita:Exe version 1.1.2.6/2.0.0.0 (cstrike)
Exe build: 16:05:41 Jun 15 2009 (4554)

Los logs que salen:
Cita:L 04/06/2021 - 14:24:24: [AMXX] Displaying debug trace (plugin "kzmod.amxx", version "1.7")
L 04/06/2021 - 14:24:24: [AMXX] Run time error 3: stack error
L 04/06/2021 - 14:24:24: [AMXX] [0] clientfx.inc::client_print_fx (line 23)
L 04/06/2021 - 14:24:24: [AMXX] [1] clientfx.inc::client_print_fx (line 56)
L 04/06/2021 - 14:24:24: [AMXX] [2] clientfx.inc::client_print_fx (line 56)
L 04/06/2021 - 14:24:24: [AMXX] [3] clientfx.inc::client_print_fx (line 56)
L 04/06/2021 - 14:24:24: [AMXX] [4] clientfx.inc::client_print_fx (line 56)
L 04/06/2021 - 14:24:24: [AMXX] [5] clientfx.inc::client_print_fx (line 56)
L 04/06/2021 - 14:24:24: [AMXX] [6] clientfx.inc::client_print_fx (line 56)
L 04/06/2021 - 14:24:24: [AMXX] [7] clientfx.inc::client_print_fx (line 56)
L 04/06/2021 - 14:24:24: [AMXX] [8] clientfx.inc::client_print_fx (line 56)
L 04/06/2021 - 14:24:24: [AMXX] [9] clientfx.inc::client_print_fx (line 56)
L 04/06/2021 - 14:24:24: [AMXX] [10] kzmod.sma::tiempo_task (line 1392)
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)