Sscanf -> Spieler auswählen funktioniert nicht

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
  • Hallo!
    Ich habe seid längerer Zeit das Problem, dass ich keine Spieler mit ocmd + Sscanf auswählen kann. Egal welchen Wert man bei dem Befehl eingibt.. Es wird nie das richtige angezeigt.


    Ich habe auch schon ocmd und sscanf geupdatet, aber dies hatte keine Wirkung.
    Nun habe ich 2 Befehle erstellt. Der String Befehl, der einen beliebigen String ausgibt, funktioniert! Aber, der einen Spieler ausgeben soll leider nicht.


    HIer die 2 Befehle:


    ocmd:teststring(playerid,params[])
    {
    new string[512];
    if(sscanf(params,"s", string))return SendClientMessage(playerid, COLOR_RED,"Benutze: /Teststring [Text]");
    new strings[512];
    format(strings, sizeof(strings), "Du hast %s eingegeben!", string);
    SendClientMessage(playerid, COLOR_GREEN, strings);
    return 1;
    }


    ocmd:testuser(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u", pID))return SendClientMessage(playerid, COLOR_RED,"Benutze: /Testuser [SpielerName / ID]");
    new string[512];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(pID, name, sizeof(name));
    format(string, sizeof(string), "Du hast %s ausgewählt!", name);
    SendClientMessage(playerid, COLOR_GREEN, string);
    return 1;
    }



    Ich hoffe jemand kann mir helfen.


    LG lolcooper

  • Nein.. Alles wird normal geladen.


    LG lolcooper


    Serverlog:


    ----------
    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3z, (C)2005-2014 SA-MP Team


    [12:57:46]
    [12:57:46] Server Plugins
    [12:57:46] --------------
    [12:57:46] Loading plugin: mysql
    [12:57:46]


    > MySQL plugin R6-2 successfully loaded.


    [12:57:46] Loaded.
    [12:57:46] Loading plugin: sscanf
    [12:57:46]


    [12:57:46] ===============================


    [12:57:46] sscanf plugin loaded.


    [12:57:46] (c) 2009 Alex "Y_Less" Cole


    [12:57:46] 0.3d-R2 500 Players "dnee"


    [12:57:46] ===============================


    [12:57:46] Loaded.
    [12:57:46] Loaded 2 plugins.


    [12:57:46]
    [12:57:46] Filterscripts
    [12:57:46] ---------------
    [12:57:46] Loading filterscript 'gl_actions.amx'...
    [12:57:46] Loading filterscript 'gl_realtime.amx'...
    [12:57:46] Loading filterscript 'gl_property.amx'...
    [12:57:46]
    -----------------------------------
    [12:57:46] Grand Larceny Property Filterscript
    [12:57:46] -----------------------------------


    [12:57:46] Loading filterscript 'gl_mapicon.amx'...
    [12:57:46] Loading filterscript 'ls_mall.amx'...
    [12:57:46] Loading filterscript 'ls_elevator.amx'...
    [12:57:46] Loading filterscript 'attachments.amx'...
    [12:57:46] Loading filterscript 'skinchanger.amx'...
    [12:57:46]
    --Admin Player Skin Changer Loaded


    [12:57:46] Loading filterscript 'vspawner.amx'...
    [12:57:46]
    --Admin Vehicle Spawner Loaded


    [12:57:46] Loading filterscript 'objekt.amx'...
    [12:57:47]
    --------------------------------------
    [12:57:47] Objekte geladen
    [12:57:47] --------------------------------------


    [12:57:47] Loading filterscript 'text.amx'...
    [12:57:47]
    --------------------------------------
    [12:57:47] Text Draw Editor 1.0RC2 by Zamaroht for SA-MP 0.3 Loaded.
    [12:57:47] --------------------------------------


    [12:57:47] Loaded 11 filterscripts.


    [12:57:47]
    [12:57:47]
    [12:57:47]
    [12:57:47] =======================================
    [12:57:47] | |
    [12:57:47] | YSI version 3.09.0684 |
    [12:57:47] | By Alex "Y_Less" Cole |
    [12:57:47] | |
    [12:57:47] =======================================
    [12:57:47]
    [12:57:47]
    [12:57:47]
    [12:57:58] Häuser geladen!
    [12:57:58] Haus 0 geladen!
    [12:57:58] Haus 1 geladen!
    [12:57:58] Haus 2 geladen!
    [12:57:58] Haus 3 geladen!
    [12:57:58] Haus 4 geladen!
    [12:57:58] Haus 5 geladen!
    [12:57:58] Haus 6 geladen!
    [12:57:58] Haus 7 geladen!
    [12:57:58] Haus 8 geladen!
    [12:57:58] Haus 9 geladen!
    [12:57:58] Haus 10 geladen!
    [12:57:58] Haus 11 geladen!
    [12:57:58] Haus 12 geladen!
    [12:57:58] Haus 13 geladen!
    [12:57:58] Haus 14 geladen!
    [12:57:58] Haus 15 geladen!
    [12:57:58] Haus 16 geladen!
    [12:57:58] Haus 17 geladen!
    [12:57:58] Haus 18 geladen!
    [12:57:58] Haus 19 geladen!
    [12:57:58] Haus 20 geladen!
    [12:57:58] Haus 22 geladen!
    [12:57:58] Haus 23 geladen!
    [12:57:58] Haus 25 geladen!
    [12:57:58] Haus 26 geladen!
    [12:57:58] Haus 27 geladen!
    [12:57:58] Haus 28 geladen!
    [12:57:58] Haus 31 geladen!
    [12:57:58] Haus 32 geladen!
    [12:57:58] Haus 33 geladen!
    [12:57:58] Haus 34 geladen!
    [12:57:58] Haus 35 geladen!
    [12:57:58] Haus 36 geladen!
    [12:57:58] Haus 37 geladen!
    [12:57:58] Haus 38 geladen!
    [12:57:58] Haus 39 geladen!
    [12:57:58] Haus 40 geladen!
    [12:57:58] Haus 41 geladen!
    [12:57:58] Haus 42 geladen!
    [12:57:58] Haus 43 geladen!
    [12:57:58] Haus 44 geladen!
    [12:57:58] Haus 45 geladen!
    [12:57:58] Haus 46 geladen!
    [12:57:58] Haus 47 geladen!
    [12:57:58] Haus 48 geladen!
    [12:57:58] Haus 49 geladen!
    [12:57:58] Haus 50 geladen!
    [12:57:58] Haus 51 geladen!
    [12:57:58] Haus 52 geladen!
    [12:57:58] Haus 53 geladen!
    [12:57:58] Haus 54 geladen!
    [12:57:58] Haus 55 geladen!
    [12:57:58] Haus 56 geladen!
    [12:57:58] Haus 57 geladen!
    [12:57:58] Haus 58 geladen!
    [12:57:58] Haus 59 geladen!
    [12:57:58] Haus 60 geladen!
    [12:57:58] Haus 61 geladen!
    [12:57:58] Haus 62 geladen!
    [12:57:58] Haus 63 geladen!
    [12:57:58] Objekte geladen!
    [12:57:58] Server Fahrzeuge geladen!
    [12:58:00]
    [12:58:00] [Tanke] :
    [12:58:00] Die Tanken wurden erfolgreich geladen!
    [12:58:00]
    [12:58:00] Die Servereinstellungen wurden geladen!
    [12:58:00] Reading File: blank
    [12:58:00] Reading File: properties/houses.txt
    [12:58:00] Reading File: properties/businesses.txt
    [12:58:00] Reading File: properties/banks.txt
    [12:58:00] Reading File: properties/police.txt
    [12:58:00]


    [12:58:00] Number of vehicle models: 23
    [12:58:52] Incoming connection: 127.0.0.1:60155

  • In diesem Fall, kannst du es doch auch einfach so machen:


    ocmd:teststring(playerid,params[])
    {
    if(!params[0]) return SendClientMessage(playerid, COLOR_RED,"Benutze: /Teststring [Text]");
    new strings[145];
    format(strings, sizeof(strings), "Du hast %s eingegeben!", params);
    return SendClientMessage(playerid, COLOR_GREEN, strings);
    }


    ocmd:testuser(playerid,params[])
    {
    if(!params[0]) return SendClientMessage(playerid, COLOR_RED,"Benutze: /Testuser [SpielerName / ID]");
    new string[145],name[MAX_PLAYER_NAME],pID = strval(params);
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, COLOR_RED,"Dieser Spieler ist nicht online.");
    GetPlayerName(pID, name, sizeof(name));
    format(string, sizeof(string), "Du hast %s ausgewählt!", name);
    return SendClientMessage(playerid, COLOR_GREEN, string);
    }


    Wenn es aber auch bei anderen Befehlen nicht klappen sollte, einfach mal Debuggen ;)


    PS: Nicht so große Strings nehmen! Das Limit bei der Chat Ausgabe liegt bei 144 + Null Char...nicht bei 512 :rolleyes:


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Wie kann man es debuggen?


    Zum Beispiel so:


    ocmd:debug(playerid,params[]) {
    print(params); //<< hier weißt du was übergeben wird
    new pID;
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,-1,"Verwendung: /debug [spielerid]");
    printf("%d",pID); //Hier was sscanf macht
    return SendClientMessage(pID,-1,"Hallo Spieler pID!");
    }


    Dann kannst du ja in den Logs schauen, was da ausgegeben wird und wo der Fehler liegt ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Weshalb nimmst du eigentlich für einen Integer den Wert U bei


    aus: if(sscanf(params,"u",pID))
    mach: if(sscanf(params,"d",pID))


    und bei Strings musst du den Größenwert angeben:


    aus: if(sscanf(params,"s", string))
    mach: if(sscanf(params,"s[512]", string))


    PS.:
    Hoffe, der Größenwert wird mit [ ] abgegrenzt. Schaut einfach mal im SAMP Forum unter SSCANF nach. Bin grad net zuhause...

  • Jetzt hast du ja hier nochmal einen Thread auf gemacht wegen sscanf.
    Schau doch mal in die includes, ob da in einer "sscanf" als Funktion deklariert ist. Früher war sscanf nich als Plugin gemacht, sondern als ganz normaler Code-Schnipsel. Das könnte der Grund sein, warum immer alles falsch ausgegeben wird, da die zwei sich nicht vertragen.


    Wenn das auch nicht der Fall ist kann ich dir nur dazu raten sscanf in die Tonne zu treten, kann man eigentlich jedem nur raten.