GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Hyperactive. - 2011. március 27. - 11:37:55

Cím: Rossz parancs kiírása.
Írta: Hyperactive. - 2011. március 27. - 11:37:55

Hallee*
Lenne egy olyan bajom, hogy mikor beírsz egy rosz parancsot pl.: /valami akkor ugye alapból azt írja hogy SERVER: Unknown Command
Ezt sikerült is átírni de mikor szinezem a színkódokkal [ {F81414} ] és a játékban beírok valami hülyeséget egybõl kifagy a szerver.
Itt a példa:
 
SendClientMessage(playerid, -1, \"{FFFFFF}Ez a parancs {F81414}\'%s\' {FFFFFF}Nem létezik! Kérlek használd a {6EF83C}/help {FFFFFF}parancsot.\");[/quote]
Ez miért van?  :-\\
Vélaszotokat elõre is köszönöm  :P
Cím: Rossz parancs kiírása.
Írta: nyE - 2011. március 27. - 11:41:13
A \"-1\" nem kell, csak akkor ha elõre definiált szinekkel dolgozol.
 

SendClientMessage(playerid, \"{FFFFFF}Ez a parancs {F81414}\'%s\' {FFFFFF}Nem létezik! Kérlek használd a {6EF83C}/help {FFFFFF}parancsot.\");
Cím: Rossz parancs kiírása.
Írta: Hyperactive. - 2011. március 27. - 11:49:43
error 035: argument type mismatch (argument 2)[/quote]
mostmeg error.
de am a(z)  \'%s\' -el van baja, mert azt akarnám hogy írja azt a parancsot amit beírtál
valahogy így
 
Ez a parancs \'/valami\' nem létezik! Kérlek használd a /help parancsot.[/quote]
Valami ötlet??
Cím: Rossz parancs kiírása.
Írta: SoAP - 2011. március 27. - 11:57:02
Mivel a SendClientMessage nem formázza az üzenetet...
 
stock SendClientMessagef( iPlayer, iColor, szFormat[ ], { Float, _ }:... )
{
    new
             iArgCount = ( numargs( ) - 3 ) * 4
    ;
    if ( !iArgCount )
        SendClientMessage( iPlayer, iColor, szFormat );
    else
    {
        new
            iArgStart,
            iArgEnd,
            szString[ 128 ]
        ;
        #emit CONST.alt     szFormat
        #emit LCTRL         5
        #emit ADD
        #emit STOR.S.pri    iArgStart
        #emit LOAD.S.alt    iArgCount
        #emit ADD
        #emit STOR.S.pri    iArgEnd
        do
        {
            #emit LOAD.I
            #emit PUSH.pri
            iArgEnd -= 4;
            #emit LOAD.S.pri    iArgEnd
        }
        while ( iArgEnd > iArgStart );
        #emit PUSH.S    szFormat
        #emit PUSH.C    128
        #emit PUSH.ADR  szString
        iArgCount += 12;
        #emit PUSH.S    iArgCount
        #emit SYSREQ.C  format
        iArgCount += 4;
        #emit LCTRL         4
        #emit LOAD.S.alt    iArgCount
        #emit ADD
        #emit SCTRL         4
        SendClientMessage( iPlayer, iColor, szString );
    }
return 1;
}

 
Tedd bele a módodba és:
 
SendClientMessagef(playerid, -1, \"{FFFFFF}Ez a parancs {F81414}\'%s\' {FFFFFF}Nem létezik! Kérlek használd a {6EF83C}/help {FFFFFF}parancsot.\");
Cím: Rossz parancs kiírása.
Írta: Hyperactive. - 2011. március 27. - 12:01:36
Ugyan úgy kifagy..  :(
Cím: Rossz parancs kiírása.
Írta: nyE - 2011. március 27. - 12:05:10
SendClientMessagef(playerid, \"{FFFFFF}Ez a parancs {F81414}\'%s\' {FFFFFF}Nem létezik! Kérlek használd a {6EF83C}/help {FFFFFF}parancsot.\", cmdtext);
Cím: Rossz parancs kiírása.
Írta: SoAP - 2011. március 27. - 12:07:47
Antonyo, a color részt ha üresen hagyod errort kapsz.
Cím: Rossz parancs kiírása.
Írta: Hyperactive. - 2011. március 27. - 14:12:59
akkor nem tudtok segíteni  ??? :(
Cím: Rossz parancs kiírása.
Írta: Stray - 2011. március 27. - 14:19:32
És azt honnan tudja a szerver hogy melyik stringet szeretnéd kiíratni? Elõször format-al hozd létre, majd aztán írasd ki.
Cím: Rossz parancs kiírása.
Írta: Hyperactive. - 2011. március 27. - 14:30:22
Ez nekem kínai   :P xD
Cím: Rossz parancs kiírása.
Írta: Csabesz - 2011. március 27. - 14:31:44
Tessék,
 
new string [ 128 ], format ( string, 128, \"{FFFFFF}Ez a parancs {F81414}\'%s\' {FFFFFF}Nem létezik! Kérlek használd a {6EF83C}/help {FFFFFF}parancsot.\", cmdtext ),  SendClientMessage ( playerid, -1, string );
Cím: Rossz parancs kiírása.
Írta: Hyperactive. - 2011. március 27. - 15:43:01
Köszönöm  :D :P