26 Erros

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 .. Ich habe 26 Erros im Script .. warscheinlich ein Klammerfehler .. aber ich finde ihn einfach nicht ...


    Erros:




    C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(837) : error 017: undefined symbol "SpielerSpeichern"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(934) : error 017: undefined symbol "isPlayerAnAdmin"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(935) : error 017: undefined symbol "sscanf"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(942) : error 017: undefined symbol "SpielerName"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(943) : error 017: undefined symbol "SpielerName"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(952) : error 017: undefined symbol "sscanf"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(956) : error 017: undefined symbol "isPlayerAnAdmin"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1000) : error 017: undefined symbol "isPlayerAnAdmin"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1003) : error 017: undefined symbol "sscanf"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1007) : error 017: undefined symbol "SpielerName"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1009) : error 017: undefined symbol "SpielerName"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1013) : error 017: undefined symbol "SpielerSpeichern"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1017) : error 017: undefined symbol "SpielerName"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1019) : error 017: undefined symbol "SpielerName"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1023) : error 017: undefined symbol "SpielerSpeichern"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1027) : error 017: undefined symbol "SpielerName"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1029) : error 017: undefined symbol "SpielerName"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1033) : error 017: undefined symbol "SpielerSpeichern"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1037) : error 017: undefined symbol "SpielerName"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1039) : error 017: undefined symbol "SpielerName"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1043) : error 017: undefined symbol "SpielerSpeichern"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1068) : error 017: undefined symbol "SpielerName"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1076) : error 017: undefined symbol "isPlayerAnAdmin"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1078) : error 017: undefined symbol "sscanf"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1087) : error 017: undefined symbol "isPlayerAnAdmin"C:\Users\Luca\Desktop\Selfmade\Coffe2Go.pwn(1091) : error 017: undefined symbol "sscanf"
    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    26 Errors.



    Code:


    if(GetPVarInt(playerid,"loggedin")==1) { SpielerSpeichern(playerid); } return 1;}


    public OnPlayerSpawn(playerid)
    { ShowPlayerDialog(playerid,DIALOG_REGELN,DIALOG_STYLE_MSGBOX,"REGELN VON GERMAN MODERN ROLEPLAY","Das nutzen von ModS0beit oder anderen CheatProgrammen ist verboten.\nDas Entführen von Spielern unter Level 3 ist strengstens Untersagt.\nDer Administrator / Moderator mit dem höchsten Rank der Online ist, hat das Wort!\nBugusing ist auf unserem Server Verboten.\nMultiAccounts werden mit IP Ban bestraft.\nDein Modern Roleplay Team!\nAkzeptierst du die Regeln (PFLICHT)?","Ja","Nein"); TextDrawShowForPlayer(playerid,RealClock); switch(GetPVarInt(playerid,"Fraktion")) { case 0:{} case 1:{SetPlayerSkin(playerid,266);SetPlayerPos(playerid,sapdspawn);SetPlayerColor(playerid,SAPD);GivePlayerWeapon(playerid,29,800);GivePlayerWeapon(playerid,24,200);SetPlayerHealth(playerid,150);SetPlayerArmour(playerid,150);}//SAPD case 2:{SetPlayerSkin(playerid,228);SetPlayerPos(playerid,medicspawn);SetPlayerColor(playerid,MEDIC);GivePlayerWeapon(playerid,2,15);}//RETTUNGSDIENST case 3:{SetPlayerSkin(playerid,165);SetPlayerPos(playerid,fbispawn);SetPlayerColor(playerid,FBI);GivePlayerWeapon(playerid,29,800);GivePlayerWeapon(playerid,24,200);SetPlayerHealth(playerid,150);SetPlayerArmour(playerid,150);}//FBI case 4:{SetPlayerSkin(playerid,71);SetPlayerPos(playerid,medicspawn);SetPlayerColor(playerid,OA);GivePlayerWeapon(playerid,24,100);}//ORDNUNGSAMT case 5:{SetPlayerSkin(playerid,287);SetPlayerPos(playerid,medicspawn);SetPlayerColor(playerid,ARMY);GivePlayerWeapon(playerid,29,800);GivePlayerWeapon(playerid,24,200);GivePlayerWeapon(playerid,31,800);SetPlayerHealth(playerid,150);SetPlayerArmour(playerid,150);}//ARMY case 6:{SetPlayerSkin(playerid,113);SetPlayerPos(playerid,lcnspawn);SetPlayerColor(playerid,LCN);GivePlayerWeapon(playerid,24,200);SetPlayerHealth(playerid,100);}//LCN case 7:{SetPlayerSkin(playerid,120);SetPlayerPos(playerid,yakspawn);SetPlayerColor(playerid,YAK);GivePlayerWeapon(playerid,24,200);SetPlayerHealth(playerid,100);}//YAKUZA case 8:{SetPlayerSkin(playerid,283);SetPlayerPos(playerid,medicspawn);SetPlayerColor(playerid,ARMY);GivePlayerWeapon(playerid,24,200);GivePlayerWeapon(playerid,29,500);SetPlayerHealth(playerid,150);}//BUNDESPOLIZEI case 9:{SetPlayerSkin(playerid,270);SetPlayerPos(playerid,gsspawn);SetPlayerColor(playerid,GS);GivePlayerWeapon(playerid,24,200);SetPlayerHealth(playerid,100);}//GS case 10:{SetPlayerSkin(playerid,104);SetPlayerPos(playerid,ballasspawn);SetPlayerColor(playerid,BALLAS);GivePlayerWeapon(playerid,24,200);SetPlayerHealth(playerid,100);}//BALLAS case 11:{SetPlayerPos(playerid,hitmanspawn);SetPlayerColor(playerid,ZIVI);GivePlayerWeapon(playerid,23,200);GivePlayerWeapon(playerid,34,150);GivePlayerWeapon(playerid,4,200);SetPlayerHealth(playerid,150);SetPlayerArmour(playerid,120);}//HITMAN } return 0; }


    public OnPlayerDeath(playerid, killerid, reason){ return 1;}
    public OnVehicleSpawn(vehicleid){ return 1;}
    public OnVehicleDeath(vehicleid, killerid){ return 1;}
    public OnPlayerText(playerid, text[]){ return 1;}ocmd:buylevel(playerid,params[]){ if(GetPVarInt(playerid,"Respektpunkte") >= GetPVarInt(playerid, "Respekt"))//wen dieser Player genauso oder mehr Respektpunkte hat.(Überprüft ob die "Respektpunkte"Variable größer ist, als die "Respekt" Variable). { if(GetPlayerMoney(playerid) >= GetPVarInt(playerid, "LevelMoney"))//Wenn der Player soviel geld bei sich hat wie das level kostet(Die kosten werden aus der "LevelMoney"Variable ausgelesen!) { SetPlayerScore(playerid, GetPlayerScore(playerid)+1);//Das Level des Player wird um eins erhöt. SetPVarInt(playerid, "Respekt", GetPVarInt(playerid, "Respekt")+3);//Die Anzahl der Respektpunkte die er braucht, wird um 3 vergrösert. SetPVarInt(playerid, "Respektpunkte", 0);//Die Respektpunkte des Player werden auf 0gesetzt GivePlayerMoney(playerid, -GetPVarInt(playerid, "LevelMoney"));//Dem player wird das Geld abgezogen das das Level kostet. SetPVarInt(playerid, "LevelMoney", GetPVarInt(playerid, "LevelMoney")+4000);//Das geld, das für das Levelup benötigt wird, wird um $4000 erhöt. SendClientMessage(playerid, HELLBLAU, "Du hast dir ein Level gekauft!"); //ShowPlayerDialog(playerid,DIALOG_LEVELKAUFEN,DIALOG_STYLE_MSGBOX,"{FF0000}Levelkaufen","Du hast dir ein Level gekauft", "OK",""); return 1; } else//Wenn der Player zuwenig geld bei sich hat... { SendClientMessage(playerid, ROT, "* Du hast nicht genügen Geld bei dir! *");//...bekommt er die Meldung das er zuwenig geld bei sich hat. //ShowPlayerDialog(playerid,DIALOG_LEVELKAUFEN,DIALOG_STYLE_MSGBOX,"{FF0000}Levelkaufen","Du hast nicht genügend Geld bei dir!","OK",""); return 1; } } else//Und wenn er noch zuwenig Respektpunkte hat bekommt er diese Meldunk. { SendClientMessage(playerid, ROT, "* Du hast noch zuwenig Respektpunkte! *"); //ShowPlayerDialog(playerid,DIALOG_LEVELKAUFEN,DIALOG_STYLE_MSGBOX,"{FF0000}Levelkaufen","Du hast zuwenig Respektpunkte","OK",""); return 1; }}ocmd:zeit(playerid,params[]){ new string[128]; format(string,sizeof(string),"Zeit seit Payday:%d (min) auf den Server (60 benötigt)\n Spielzeit insgesamt: %d",GetPVarInt(playerid,"ZeitSeitPD"),GetPVarInt(playerid,"Spielzeit")); SendClientMessage(playerid,GRÜN,string); //ShowPlayerDialog(playerid,DIALOG_ZEIT,DIALOG_STYLE_MSGBOX,"{FF0000}Zeit",string,"OK",""); return 1;}ocmd:respektpunkte(playerid,params[]){ new string[216]; format(string, sizeof(string), "Respektpunkte: [%d/%d]\n Levelup: [$%d]", GetPVarInt(playerid, "Respektpunkte"), GetPVarInt(playerid, "Respekt"), GetPVarInt(playerid, "LevelMoney")); SendClientMessage(playerid,GRÜN,string); //ShowPlayerDialog(playerid,DIALOG_RESPEKTPUNKTE,DIALOG_STYLE_MSGBOX,"{FF0000}Respektpunkte",string, "OK",""); return 1;}ocmd:gethere(playerid,params[]){ new pID; if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin!"); if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"Info: /gethere [SpielerID]"); if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_GREY,"*:: Du kannst diesen Spieler nicht zu dir teleportieren. ::*"); new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); SetPlayerPos(pID,x,y,z); new string[128]; new string1[128]; format(string, sizeof(string), "[AdmCmd:] Du hast dich zu %s geportet.",SpielerName(pID)); format(string1,sizeof(string1)," Admin %s hat sich zu die geportet",SpielerName(playerid)); SendClientMessage(playerid,ROT,string); SendClientMessage(playerid,ROT,string1); return 1; }
    ocmd:goto(playerid,params[]){ new id; if (sscanf(params, "u",id)) SendClientMessage(playerid, ROT, "Info: /goto [SpielerID]"); else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_GREY, "*:: Du kannst dich nicht zu diesen Spieler teleportieren. ::*"); else { if(isPlayerAnAdmin(playerid,1)) { new pname[MAX_PLAYER_NAME], aname[MAX_PLAYER_NAME], string[256]; new Float:aX, Float:aY, Float:aZ; GetPlayerName(id, aname, sizeof(aname)); GetPlayerName(playerid, pname, sizeof(pname)); if(IsPlayerInAnyVehicle(playerid)) { new VehicleID; VehicleID = GetPlayerVehicleID(playerid); new intr = GetPlayerInterior(id); GetPlayerPos(id, aX, aY, aZ); SetPlayerInterior(playerid, intr); SetPlayerPos(playerid, aX + 3, aY + 3, aZ); SetVehiclePos(VehicleID, aX + 3, aY + 3, aZ); format(string, sizeof(string), "[AdmCmd:] Du hast dich zum Spieler %s teleportiert.",aname); SendClientMessage(playerid, ROT, string); format(string, sizeof(string), "[AdmCmd:] Der Admin %s hat sich zu dir teleportiert.",pname); SendClientMessage(id, ROT, string); } else { new intr = GetPlayerInterior(id); SetPlayerInterior(playerid, intr); GetPlayerPos(id, aX, aY, aZ); SetPlayerPos(playerid, aX, aY+3, aZ+3); format(string, sizeof(string), "[AdmCmd:] Du hast dich zum Spieler %s teleportiert.",aname); SendClientMessage(playerid, ROT, string); format(string, sizeof(string), "[AdmCmd:] Der Admin %s hat sich zu dir teleportiert.",pname); SendClientMessage(id, ROT, string); } return 1; } else { SendClientMessage(playerid, ROT, "Du bist kein Admin"); } } return 1;}


    ocmd:gschein(playerid,params[])//der Befehl{ if(!isPlayerAnAdmin(playerid,5)) return SendClientMessage(playerid,ROT,"Du bist kein Admin/Dein Rank reicht nicht aus"); { new pID, string[128], license[16]; if(sscanf(params,"us",pID,license))return SendClientMessage(playerid,COLOR_GREY,"Benutze: /gschein [ID] [Autoschein/Motorradschein/Bootsschein/Flugschein]"); //hier kommt der text wenn man /givelicense eingibt oder /givelicense ID { if(strcmp(license,"Autoschein",true) == 0)//wenn man /givelicense ID autoschein eingibt dann wird dieser kleine befehl "ausgeführt" { format(string,sizeof string,"Fahrlehrer: %s hat dir einen Autoschein gegeben!",SpielerName(pID));//hier der text der der Spieler den man den Führerschein gibt bekommen soll. SendClientMessage(pID,HELLBLAU,string); format(string, sizeof string,"Du hast %s einen Autoschein gegeben!",SpielerName(playerid));//hier der text wo der Fahrlehrer bekommt SendClientMessage(playerid,HELLBLAU,string); Fuehrerschein[pID] = 1; //hier wird die variabel auf 1 gesetzt das heißt das der Spieler einen führerschein bekommt SetPVarInt(pID,"Autoschein",1);//die 1 heißt das er den Führerschein hat. SpielerSpeichern(pID);//hier wird der Führerschein abgespeichert } if(strcmp(license,"Motorradschein",true) == 0)//wenn man /givelicense ID autoschein eingibt dann wird dieser kleine befehl "ausgeführt" { format(string,sizeof string,"Fahrlehrer: %s hat dir einen Motorradschein gegeben!",SpielerName(pID));//hier der text der der Spieler den man den Führerschein gibt bekommen soll. SendClientMessage(pID,HELLBLAU,string); format(string, sizeof string,"Du hast %s einen Motorradschein gegeben!",SpielerName(playerid));//hier der text wo der Fahrlehrer bekommt SendClientMessage(playerid,HELLBLAU,string); Fuehrerschein[pID] = 1; //hier wird die variabel auf 1 gesetzt das heißt das der Spieler einen führerschein bekommt SetPVarInt(pID,"Motorradschein",1);//die 1 heißt das er den Führerschein hat. SpielerSpeichern(pID);//hier wird der Führerschein abgespeichert } if(strcmp(license,"Bootschein",true) == 0)//wenn man /givelicense ID autoschein eingibt dann wird dieser kleine befehl "ausgeführt" { format(string,sizeof string,"Fahrlehrer: %s hat dir einen Bootsschein gegeben!",SpielerName(pID));//hier der text der der Spieler den man den Führerschein gibt bekommen soll. SendClientMessage(pID,HELLBLAU,string); format(string, sizeof string,"Du hast %s einen Bootsschein gegeben!",SpielerName(playerid));//hier der text wo der Fahrlehrer bekommt SendClientMessage(playerid,HELLBLAU,string); Fuehrerschein[pID] = 1; //hier wird die variabel auf 1 gesetzt das heißt das der Spieler einen führerschein bekommt SetPVarInt(pID,"Autoschein",1);//die 1 heißt das er den Führerschein hat. SpielerSpeichern(pID);//hier wird der Führerschein abgespeichert } if(strcmp(license,"Flugschein",true) == 0)//wenn man /givelicense ID autoschein eingibt dann wird dieser kleine befehl "ausgeführt" { format(string,sizeof string,"Fahrlehrer: %s hat dir einen Flugschein gegeben!",SpielerName(pID));//hier der text der der Spieler den man den Führerschein gibt bekommen soll. SendClientMessage(pID,HELLBLAU,string); format(string, sizeof string,"Du hast %s einen Flugschein gegeben!",SpielerName(playerid));//hier der text wo der Fahrlehrer bekommt SendClientMessage(playerid,HELLBLAU,string); Fuehrerschein[pID] = 1; //hier wird die variabel auf 1 gesetzt das heißt das der Spieler einen führerschein bekommt SetPVarInt(pID,"Autoschein",1);//die 1 heißt das er den Führerschein hat. SpielerSpeichern(pID);//hier wird der Führerschein abgespeichert } } } return 1;}ocmd:stats(playerid,params[]){ new string[600]; new fraktname[64]; switch(GetPVarInt(playerid,"Fraktion")) { case 0:(fraktname="Obdachloser"); case 1:(fraktname=fraktname1); case 2:(fraktname=fraktname2); case 3:(fraktname=fraktname3); case 4:(fraktname=fraktname4); case 5:(fraktname=fraktname5); case 6:(fraktname=fraktname6); case 7:(fraktname=fraktname7); case 8:(fraktname=fraktname8); case 9:(fraktname=fraktname9); case 10:(fraktname=fraktname10); case 11:(fraktname=fraktname11); } format(string,sizeof(string),"[Name:%s]\n[Level: %i]\n[Adminlevel: %i]\n[Fraktion: %s]\n[Bargeld: %i]\n [Bank : %i]\n[WantedLevel: %i]\n[Skin : %i]\nKills: [%d]\nTode: [%d]\n[Respektpunkte: %i]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid, "Adminlevel"),fraktname,GetPlayerMoney(playerid),GetPVarInt(playerid, "Bankkonto"),GetPVarInt(playerid,"WantedLevel"),GetPlayerSkin(playerid),GetPVarInt(playerid, "Kills"),GetPVarInt(playerid, "Tode"),GetPVarInt(playerid, "Respektpunkte")); //SendClientMessage(playerid,COLOR_BLAU,string); ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"{FF0000}Meine Stats",string, "Weiter",""); return 1;}
    ocmd:setarmor(playerid,params[]){ if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"* Du bist kein Admin."); new pID,AA; if(sscanf(params,"dd",pID,AA))return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /sethp [ID/Name] [HP]"); SetPlayerArmour(pID,AA); return 1;}



    ocmd:sethp(playerid,params[]){ if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"* Du bist kein Admin."); new pID,HP; new string[256]; new string1[256]; if(sscanf(params,"dd",pID,HP))return SendClientMessage(playerid,COLOR_GREY,"Benutzung: /sethp [ID/Name] [HP]");


    Bitte helft mir.

  • Mach das an dein Script Ende :


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,COLOR_ROT,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    }
    return 1;
    }


    stock isPlayerInFrakt(playerid,fraktid)
    {
    if(GetPVarInt(playerid,"Fraktion")==fraktid)return 1;
    return 0;
    }
    stock isPlayerAnAdmin(playerid,rang)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
    return 0;
    }


    stock sscanf(sstring[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(sstring))
    #else
    if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    sstringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
    {
    sstringPos++;
    }
    while (paramPos < paramCount && sstring[sstringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = sstring[sstringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = sstring[++sstringPos];
    }
    do
    {
    sstringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = sstring[sstringPos];
    do
    {
    sstringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, sstring[sstringPos++]);
    }
    case 'f':
    {


    new changestr[16], changepos = 0, strpos = sstringPos;
    while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
    {
    changestr[changepos++] = sstring[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    sstringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = sstringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = sstring[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    sstring[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - sstringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, sstring[sstringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    sstring[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    sstringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = sstring[sstringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = sstring[sstringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    sstringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
    {
    sstringPos++;
    }
    while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
    {
    sstringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }


    PS : Falls damit Probelem kommen sollten sagen habe es from me kopiert