SScanf Parameter ermitteln

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
  • Hey liebed Forum,
    Ich würde gerne einen String formatieren, nur weis ich nicht wie ich einen Parameter der bei einem Command angegeben wurde einfüge.


    Code:

    Spoiler anzeigen

    ocmd:ticket(playerid, params[])
    {
    if(!isPlayerInFrakt(playerid, 1) || !isPlayerInFrakt(playerid, 14)) return SendClientMessage(playerid, rot, "Du bist nicht berechtigt ein Ticket auszustellen.");
    new pID, reason[30], preis;
    if(sscanf(params, "usi", pID, reason)) return SendClientMessage(playerid, gelb, "INFO: /ticket [playerid] [Grund] [Preis]");
    new string[128];
    format(string,sizeof(string), "%s hat dir ein Ticket über $%i ausgestellt. Grund: %s", getPlayerName(playerid), parameterPreis, parameterGrund);

    return 1;
    }


    Erklärung:
    Ich weis nicht was ich bei den PseudoParametern (parameterPreis und parameterGrund) eintragen soll bzw. wie ich die sachen einfüge die bei dem Command eingegeben wurden.


    Vielen Dank im Vorraus
    mfg. Chris

  • Hey,
    du speicherst in den jeweiligen Parametern automatisch das was du eingibst.
    Sprich wenn du
    "/Ticket 0 Test 1000"
    pID = 0
    reason = Test
    Preis = 1000


    ocmd:ticket(playerid, params[])
    {
    new pID, reason[30], preis, string[128]; // Der Ordnung halber
    if(!isPlayerInFrakt(playerid, 1) || !isPlayerInFrakt(playerid, 14)) return SendClientMessage(playerid, rot, "Du bist nicht berechtigt ein Ticket auszustellen.");
    if(sscanf(params, "us[30]i", pID,reason,preis)) return SendClientMessage(playerid, gelb, "INFO: /ticket [playerid] [Grund] [Preis]");
    format(string,sizeof(string),"%s hat dir ein Ticket über $%i ausgestellt. Grund: %s", getPlayerName(playerid), reis, reasone);
    SendClientMessage(pID,-1,string); //Sendet der angegebenen ID den String
    return 1;
    }