[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Beachte, dass du dann die sscanf Funktion aus deinem Code entfernen musst.

    ja das habe ich gemacht.
    Eine Frage, habe jetzt sscanf gedownloadet eingefügt und compilet bekomme aber einen Warning...
    Warningmeldung: include\sscanf2.inc(73) : warning 235: public function lacks forward declaration (symbol "OnNPCModeInit")
    Muss ich NPC modes auch downloaden und in die Ordner einfügen?

  • Code
    C:\Users\Test\Desktop\Ordner\pawno\include\sscanf2.inc(69) : warning 235: public function lacks forward declaration (symbol "OnNPCModeInit")
    C:\Users\Test\Desktop\Ordner\pawno\include\sscanf2.inc(78) : error 004: function "SSCANF_OnNPCModeInit" is not implemented

    Ähm nach dem folgenden Code bekomme ich nun folgende Meldung...

  • Dann entferne das obige wieder.
    Versuche die sscanf Include an erste Stelle der ganzen Includes zu setzen, es scheint als tritt ein Konflikt mit einer anderen Include auf.


    Falls das auch nicht geht, nutze die Version mit dem split anstatt sscanf, oder finde heraus, in welcher Include ebenfalls ein Hook auf OnNPCModeInit angewendet wird und entferne diese. Eventuell kann der Hook auch bearbeitet werden, sodass er mit sscanf kompatibel ist. Poste den eventuell, falls du ihn findest (Suche nach OnNPCModeInit, etwas mit ein paar #define's)

  • Ich bekomme den Fehler


    Code
    C:\Users\Marcel\Desktop\City-of-Roleplay\Server\gamemodes\CoR.pwn(431) : error 035: argument type mismatch (argument 3)



    in der Zeile:
    PlayerInfo[playerid][pEmail] = cache_get_field_content(0, "email", 45, handle);


    Bitte um Hilfe ^^

  • Wie Frage ich ab ob das Feld leer ist oder eine 0 drin steht?


    hab das jetzt so:
    if(PlayerInfo[playerid][pEMail] == 0) return SendClientClear(playerid), SendClientMessage(playerid, COLOR_ROT, "Server: Bitte vervollständige deine Regestration!"), ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, ""SERVER_COLORHTML"["SERVER_NAME"] - Regestration [4/4]", ""HTML_WEIS"Bitte gebe hier eine gültige EMail-Adresse im Format "HTML_GELB"support@"SERVER_DOMAIN""HTML_WEIS" ein:", "Weiter", "Abbruch"), else continue;

  • if(PlayerInfo[playerid][pEMail][0] == '0')
    {
    SendClientClear(playerid), SendClientMessage(playerid, COLOR_ROT, "Server: Bitte vervollständige deine Regestration!");
    ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, ""SERVER_COLORHTML"["SERVER_NAME"] - Regestration [4/4]", ""HTML_WEIS"Bitte gebe hier eine gültige EMail-Adresse im Format "HTML_GELB"support@"SERVER_DOMAIN""HTML_WEIS" ein:", "Weiter", "Abbruch");
    return 1;
    }

  • Ich bekomm diese Error's



  • Mein Register Stock ist jetzt so:



    Ich will aber, dass wenn ich das Geschlecht noch nicht angegeben habe, dass wieder kommt und wenn ich das Geschlecht schon habe, soll das Alter kommen, ...

  • Ich nehme an so:
    stock CheckRegister(playerid)
    {
    if(PlayerInfo[playerid][pSex] == 0)
    {
    SendClientMessage(playerid, COLOR_WEIS, "");
    SendClientMessage(playerid, COLOR_ROT, "~--------------------------------------------------------------------------------------~");
    SendClientMessage(playerid, COLOR_WEIS, "");
    SendClientMessage(playerid, COLOR_WEIS, "");
    SendClientMessage(playerid, COLOR_ROT, "Server: Bitte vervollständige deine Regestration!");
    ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_LIST, ""SERVER_COLORHTML"["SERVER_TAG"] - Regestration [2/4]", ""HTML_WEIS"- Bitte wähle dein Geschlecht - \n"HTML_HELLBLAU"Männlich \n"HTML_PINK"Weiblich", "Weiter", "Abbruch");
    }
    else if(PlayerInfo[playerid][pAge] == 0)
    {
    SendClientMessage(playerid, COLOR_WEIS, "");
    SendClientMessage(playerid, COLOR_ROT, "~--------------------------------------------------------------------------------------~");
    SendClientMessage(playerid, COLOR_WEIS, "");
    SendClientMessage(playerid, COLOR_WEIS, "");
    SendClientMessage(playerid, COLOR_ROT, "Server: Bitte vervollständige deine Regestration!");
    ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, ""SERVER_COLORHTML"["SERVER_TAG"] - Regestration [3/4]", ""HTML_WEIS"Bitte gebe hier dein "HTML_ROT"Geburtsdatum "HTML_WEIS"im Format "HTML_GELB"TT.MM.JJJJ"HTML_WEIS" an:", "Weiter", "Abbruch");
    }
    else if(PlayerInfo[playerid][pEmail] == 0)
    {
    SendClientMessage(playerid, COLOR_WEIS, "");
    SendClientMessage(playerid, COLOR_ROT, "~--------------------------------------------------------------------------------------~");
    SendClientMessage(playerid, COLOR_WEIS, "");
    SendClientMessage(playerid, COLOR_WEIS, "");
    SendClientMessage(playerid, COLOR_ROT, "Server: Bitte vervollständige deine Regestration!");
    ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, ""SERVER_COLORHTML"["SERVER_NAME"] - Regestration [4/4]", ""HTML_WEIS"Bitte gebe hier eine gültige EMail-Adresse im Format "HTML_GELB"besipiel@"SERVER_DOMAIN""HTML_WEIS" ein:", "Weiter", "Abbruch");
    }
    return 1;
    }

  • Dann entferne das obige wieder.
    Versuche die sscanf Include an erste Stelle der ganzen Includes zu setzen, es scheint als tritt ein Konflikt mit einer anderen Include auf.


    Falls das auch nicht geht, nutze die Version mit dem split anstatt sscanf, oder finde heraus, in welcher Include ebenfalls ein Hook auf OnNPCModeInit angewendet wird und entferne diese. Eventuell kann der Hook auch bearbeitet werden, sodass er mit sscanf kompatibel ist. Poste den eventuell, falls du ihn findest (Suche nach OnNPCModeInit, etwas mit ein paar #define's)

    Habe alle Includes geprüft ist aber nichts mit OnNPCModeInit gefunden...
    Sobald ich forward OnNPCModeInit(); setze und den Server starte steht "Run time error 19: "File or function is not found".


    Ich habe auch nochmal alles erneut enpackt, bekomme aber immer diese Fehlermeldung....
    Geht das nicht mit der älteren sscanf version?

  • Geht das nicht mit der älteren sscanf version?

    Scheint nicht so.


    Nutze die Variante mit dem Split, das ist ohnehin besser, da man nicht für jede Kleinigkeit ein Plugin bzw. eine komplexe Include nutzen sollte.
    Sscanf alleine für den Split der IP zu nutzen wäre wie mit einem Panzer auf eine Bananenfliege zu schießen.