Befehl wird nicht ausgeführt

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Abend liebe Community,
    ich habe ein Problem:


    Und zwar wenn ich die Variabel HatAuto auf 0 habe, bekomme ich die Message, dass ich kein Auto habe usw...
    Wenn ich jedoch die Variabel auf 1 oder höher Setze, bekomm ich die Meldung dass der Befehl nicht existiert und es
    geschieht nichts.....


    Printf Anfanung und Mitte werden gesendet



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new string[128];
    format(string, sizeof string, "System: Der Befehl '%s' existiert nicht. Benutze: '/help'", cmdtext);
    return SendClientMessage(playerid, ARED, string);
    }


    ocmd:mycar(playerid,params[])
    {
    if(sscanf(params,""))return SendClientMessage(playerid, GRAU,"Benutze: '/mycar'");
    printf("Anfang /mycar");
    if(SpielerInfo[playerid][HatAuto] == 0)return SendClientMessage(playerid, RED, "Du besitzt kein eigenes Auto!");
    printf("Mitte /mycar");
    new string[256];
    if(SpielerInfo[playerid][Spawntaste] == 0)
    {
    ....
    }
    if(SpielerInfo[playerid][Spawntaste] == 1)
    {
    ......
    }
    ShowPlayerDialog(playerid,DG_Auto,DG_LIST,""Desing"Mein Auto:",string,"Auswählen", "Abbrechen");
    printf("Ende /mycar");
    return 1;
    }



    Andere Befehle funktionieren einwand frei!


    mfG

  • Das Problem hier wird dem Anschein nach gewesen sein, dass zu viele lokale Variablen verwendet werden.
    Im Compiler dürfte dann eine Meldung ähnlich dieser vorhanden gewesen sein:

    Code
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    Header size:          11376 bytes
    Code size:           796056 bytes
    Data size:          2207024 bytes
    Stack/heap size:      16384 bytes; estimated max. usage=290 cells (1160 bytes)
    Total requirements: 3030840 bytes


    Diese Meldung darf nicht im Compiler stehen, da es zu Problemen kommen kann, während dem Spielbetrieb. Zum Beispiel, dass Befehle nicht mehr funktionieren.


    Um die Meldung zu entfernen (also mehr Speicher zu erlauben) muss unter den Includes
    #pragma dynamic 10000
    eingefügt werden.


    Sollte die Meldung nicht weg gehen, dann die Zahl etwas erhöhen, bis die Meldung weg geht (20000, 30000, ...).



    EDIT:
    Die Meldung kann auch dadurch auftauchen, dass im Ordner /pawno/ eine Datei "pawn.cfg" existiert. Dann bekommt man die Meldung nur weg, wenn man die "pawn.cfg" löscht.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • Sers, füge :



    [list=1][*]new string[128];
    [*]format(string, sizeof string, "System: Der Befehl '%s' existiert nicht. Benutze: '/help'", cmdtext);
    [*]return SendClientMessage(playerid, ARED, string);
    [/list]



    In der letzen zeile mal wo return 0; steht.

    Sa-mp Spieler since 2006
    Sa-mp Scripter since 2008