Command "Überladen"

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
  • Hi.
    Es geht hier um nen netten /get Befehl, der natürlich ne variable Anzahl an Parametern hat.


    Es ist jetzt nicht unbedingt richtig überladen, es ist eher ein Problem mit sscanf.
    Es gibt zwar keine Fehler-Meldung vom Server, aber die Format- sowie ClientMessage bei der Auswahl Dynamit wird nicht angezeigt.
    Ich hab auch schon bisschen mit verschiedenen Möglichkeiten bei sscanf gespielt aber ohne Erfolg.
    Vielleicht hat ja jemand ne Lösung.

  • Mach doch einfach so...

    C
    COMMAND:get(playerid, params[]) {
        new lAuswahl[24], lAnzahl;
        if(sscanf(params,"s[24]", lAuswahl)) return SendStrukturMessage(playerid, MSG_BENUTZUNG, "Befehl: /get ") &&S endStrukturMessage(playerid, MSG_BENUTZUNG, " • {00D7FF}Dynamit (Anzahl) {ffffff}| Funktion: Hol dir Dynamit aus dem Lager der Bundeswehr.");
    	if(strcmp(lAuswahl, "dynamit", true) == 0) {
    		if(sscanf(params,"s[24]i", lAuswahl, lAnzahl)) return SendStrukturMessage(playerid, MSG_BENUTZUNG, "Befehl: /get Dynamit (Anzahl)");
    		SendFormatMessage(playerid, COLOR_GRAU, "Get debug auswahl %i", lAnzahl);
    		SendClientMessage(playerid, COLOR_GRAU, "Test");
    	}
    	return true;
    }


    Mehr transparents zu der Community!
    Aber bitte künftig: Transparenz und nicht Transparents

  • Das weglassen der Klammern änder ja nix, die sind auch nur für die Übersicht gedacht.
    //EDIT:
    Ich hab ganz vergessen, dass sscanf die Möglichkeit zum überladen hat.
    Hier der Code für Leute mit ähnlichem Problem.


    Optinale Integer Werte werden mit großem i gekennzeichnet.
    Trotzdem danke.

    Einmal editiert, zuletzt von Stone[413] ()