SendMes(....);
#1

Приветствую.
Ребята, взял за основу паблик мод, и теперь проблема, обнаружил SendMes( а это типо упрощение, без использования string в чат.

PHP код:
stock SendMes(playeridcolorfstringg[], {Float_}:...)
{
    static const
    
STATIC_ARGS 3;
    new
    
= (numargs() - STATIC_ARGS) * BYTES_PER_CELL;
    if(
n)
    {
        new
        
message[128],
        
arg_start,
        
arg_end;
        
#emit CONST.alt        fstringg
        #emit LCTRL          5
        #emit ADD
        #emit STOR.S.pri        arg_start
        #emit LOAD.S.alt        n
        #emit ADD
        #emit STOR.S.pri        arg_end
        
do
        {
            
#emit LOAD.I
            #emit PUSH.pri
            
arg_end -= BYTES_PER_CELL;
            
#emit LOAD.S.pri      arg_end
        
}
        while (
arg_end arg_start);
        
#emit PUSH.S          fstringg
        #emit PUSH.C          128
        #emit PUSH.ADR         message
        
+= BYTES_PER_CELL 3;
        
#emit PUSH.S          n
        #emit SYSREQ.C         format
        
+= BYTES_PER_CELL;
        
#emit LCTRL          4
        #emit LOAD.S.alt        n
        #emit ADD
        #emit SCTRL          4
        
return SendClientMessage(playeridcolormessage);
    }
    else return 
SendClientMessage(playeridcolorfstringg);



Пример использования:
PHP код:
SendMes(playerid, -1"Рабочий день завершен. Вами заработано: %i долларов"GetPVarInt(playerid,  "JobMoney")); 


Весь мод в этом SendMes, без использования по стандарту "format(, SendClientMessage(".
Нужен правильный макрос, что бы не переписывать весь мод по новой а именно функции SendMes.
Написал макрос, но ошибки, сам макрос:
PHP код:
#define SendMes(%0,%1,%2,%3)             format(stringer, sizeof(stringer),%2,%3) && SendClientMessage(%0, %1, stringer) 


Необходимо убрать stock SendMes, и использовать по стандарту но через макрос, так как заменять всё по новой - очень долгая процедура.
Reply
#2

Мой тебе совет - забудь про него. Он вроде как крашит сервер как говорили
Reply
#3

Вопрос - а зачем убирать SendMes?
Reply
#4

Quote:
Originally Posted by DartfoL
Посмотреть сообщение
Вопрос - а зачем убирать SendMes?
Мне не требуется SendMes так как крашит сервер, нужен макрос что бы использовать как стандарт и не переводить. Пример макроса я оставил.
Reply
#5

http://forum.sa-mp.com/showpost.php?...12813&langid=4
Reply
#6

Quote:
Originally Posted by SoNikMells
Посмотреть сообщение
Вот только что решил вопрос таким же макросом, вроде-бы крашей нет.
PHP код:
#define SendMes(%0,%1,%2,%3) format(stringer, sizeof(stringer),%2,%3), SendClientMessage(%0, %1, stringer) 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)