Hilfe in meinem Script (Error)

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 liebe Community ,
    Nach dem ich 10 Errors rausgemacht habe bekomm ich das 1 Error nicht raus



    C:\Dokumente und Einstellungen\alex\Desktop\Server Management\Server\gamemodes\Selfmade.pwn(285) : error 001: expected token: ")", but found "{"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.




    Script:


    #include
    #include
    #include
    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1


    //Farben


    #define Blau 0x0005FFFF
    #define Rot 0xFF1400FF
    #define Weis 0xFAFAFAFF
    #define Gelb 0xFFFA00FF
    #define Grau 0x8C8C8CFF


    //Dialoge


    #define DIALOG_REGISTER 1
    #define DIALOG_LOGIN 2


    //Variablen


    new Variabele = 1,Variabeleleer;
    new Pickupm;
    new ammunationenter;
    new ammunationexit;


    main()
    {
    print("\n----------------------------------");
    print(" Test/Anfänger Script Server");
    print("----------------------------------\n");
    }


    public OnGameModeInit()
    {
    DisableInteriorEnterExits();
    //Pickups
    Pickupm = CreatePickup(1239,1,1089.8258,-1788.5428,13.6543,-1);
    ammunationenter = CreatePickup(1239,1,1368.0730,-1279.7357,13.5469,-1);
    ammunationexit = CreatePickup(1239,1,285.3749,-40.9756,1001.5156,-1);
    //skins


    SetGameModeText("Test Gamemode");
    AddPlayerClass(0,1398.0420,-918.7873,47.1435,303.6881,0,0,0,0,0,0); // skinchange
    AddPlayerClass(1,1398.0420,-918.7873,47.1435,303.6881,0,0,0,0,0,0); // skinchange
    AddPlayerClass(2,1398.0420,-918.7873,47.1435,303.6881,0,0,0,0,0,0); // skinchange
    AddPlayerClass(3,1398.0420,-918.7873,47.1435,303.6881,0,0,0,0,0,0); // skinchange


    //3D Texte
    Create3DTextLabel("Wilkommen am Spawnpunkt",Blau,1108.1499,-1796.5588,16.5938,25.0,0);


    //Autos
    AddStaticVehicle(411,1062.5868,-1775.6394,12.8493,271.3270,112,1); // Infernus


    printf("%d",Variabele);
    }


    public OnGameModeExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein.","Register","Abbrechen");
    SetPlayerVirtualWorld(playerid,1+playerid);
    SetPlayerPos(playerid, 1398.0420,-918.7873,47.1435);
    SetPlayerCameraPos(playerid, 1398.0420,-918.7873,47.1435);
    SetPlayerCameraLookAt(playerid, 1399.6635,-917.1542,47.1435);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {


    new string[100];
    Variabeleleer = 100;
    SendClientMessage(playerid,Blau,"Wilkommen auf meinen Test/Anfänger Server");
    format(string,sizeof(string),"Hier kommt die Zahl %d",Variabeleleer);
    SendClientMessage(playerid,Blau,string);
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {


    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerPos(playerid,1108.1499,-1796.5588,16.5938);//Spawn
    SetPlayerFacingAngle(playerid,87.9678);
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    return 1;
    }


    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }


    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }


    public OnPlayerText(playerid, text[])
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(kick,4,cmdtext);
    if (strcmp("/help", cmdtext, true, 10) == 0)
    {
    SendClientMessage(playerid,Weis,"-|Hilfe Commands|-");
    SendClientMessage(playerid,Gelb,"____________________________________________________");
    SendClientMessage(playerid,Gelb,"____________________________________________________");
    return 1;
    }
    return 0;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }


    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }


    public OnRconCommand(cmd[])
    {
    return 1;
    }


    public OnPlayerRequestSpawn(playerid)
    {
    return 1;
    }


    public OnObjectMoved(objectid)
    {
    return 1;
    }


    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == Pickupm)
    {
    SendClientMessage(playerid,Weis,"-|Hilfe für neue User|-");
    SendClientMessage(playerid,Gelb,"____________________________________________________");
    SendClientMessage(playerid,Gelb,"____________________________________________________");
    }
    if(pickupid == ammunationenter)
    {
    SetPlayerPos(playerid,287.0065,-39.5749,1001.5156);
    SetPlayerFacingAngle(playerid,296.3441);
    SetPlayerInterior(playerid,1);
    }
    if(pickupid == ammunationexit)
    {
    SetPlayerPos(playerid,1365.8484,-1279.7980,13.5469);
    SetPlayerFacingAngle(playerid,87.5324);
    SetPlayerInterior(playerid,0);
    }
    return 1;
    }


    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    return 1;
    }


    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    return 1;
    }


    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    return 1;
    }


    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }


    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }


    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    return 1;
    }


    public OnRconLoginAttempt(ip[], password[], success)
    {
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    return 1;
    }


    public OnPlayerStreamIn(playerid, forplayerid)
    {
    return 1;
    }


    public OnPlayerStreamOut(playerid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_REGISTER)
    {
    if(response==0)
    {
    Kick(playerid);
    SendClientMessage(playerid,Rot,"Du hast den Vorgang abgebrochen.");
    }
    if(response==1)
    {
    if(!strlen(inputtext)
    {
    SendClientMessage(playerid,Rot,"Das Passwort war nicht lang genung");
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein.","Register","Abbrechen");
    return 1;
    }
    else
    {
    Register(playerid,inputtext);
    return 1;
    }
    }
    }
    return 1;
    }


    //DCMD Befehle


    dcmd_kick(playerid,params[])
    {
    new pid, str[64];
    if(sscanf(params,"us")) return SendClientMessage(playerid,Grau,"/kick [ID] [Grund]");
    if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,Rot,"Der Spieler konnte nicht gefunden werden !");
    if(IsPlayerAdmin(playerid))
    {
    new Spieler[MAX_PLAYER_NAME], str2[128];
    GetPlayerName(pid,Spieler,sizeof(Spieler));
    format(str2,sizeof(str2),"%s wurden vom Server gekickt! Grund: %s",Spieler,str);
    SendClientMessageToAll(Rot,str2);
    Kick(pid);
    }
    else return SendClientMessage(playerid,Weis,"Du bist kein Administrator!");
    return 1;
    }


    //DCMD Befehle Ende !


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


    new changestr[16], changepos = 0, strpos = stringPos;
    while(changepos < 16 && string[strpos] && string[strpos] != delim)
    {
    changestr[changepos++] = string[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(string, format[formatPos], false, stringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    stringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = stringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = string[++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
    string[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - stringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, string[stringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    string[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    stringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = string[stringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = string[stringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    stringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
    {
    stringPos++;
    }
    while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
    {
    stringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }


    //stocks Register/Login System
    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name [MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt");
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    SendClientMessage(playerid,Blau,"Erfolgreich Registriert");
    return 1;
    }


    //stocks Ende

  • Nein geht leider nicht,
    trotzdem Danke für deine Hilfe


    - Ab$olut

  • geh in Zeile 294


    und füg eine ")" hinter if(!strlen(inputtext)



    Du musst lernen den Error zu lesen:
    Selfmade.pwn(285) : error 001: expected token: ")", but found "{"


    In Zeile 285, Fehler, das zeichen ) wird erwartet, aber gefunden wurde {. Einfach nur lesen...Das bringt dich sehr viel weiter! :)

  • So jetzt gehts
    Der Code musste so hin ^^


    if(!strlen(inputtext))




    Danke an alle die mir geholfen haben !


    - Ab$olut

  • oman.... du sollst eine ")" hinter dem Code einfügen... und nicht einfach Copy pasten -.-


    if(!strlen(inputtext))


    So hast du es gemacht:

    (offen (offen )zu



    So solls sein:

    ( offen (offen )zu )zu


    Kannst du scripten oder copy pastest du einfach was die Leute hier schreiben? Wenn du das 2. machst, dann lern scripten ohne witz....



    EDIT: Gut dass du deinen Vorherigen Beitrag gelöscht hast, wäre sonst eine kleine blamage :x