Undefined Symbol, habe aber es definiert

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,
    Ich habe "Count" definiert aber er sagt es ist nicht definiert
    D:\Script - 2013\gamemodes\MVD-Roleplay.pwn(3714) : warning 219: local variable "count" shadows a variable at a preceding levelD:\Script - 2013\gamemodes\MVD-Roleplay.pwn(21052) : error 017: undefined symbol "count"D:\Script - 2013\gamemodes\MVD-Roleplay.pwn(21053) : error 017: undefined symbol "count"Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    2 Errors.


    Was ist falsch hier?



    ocmd:countdown(playerid,params[]) {
    if(SpielerInfo[playerid][pAdmin]>=3)
    if(sscanf(params,"d",count)) return SendClientMessage(playerid,TEAM_HIT_COLOR,"Verwendung: /countdown [Zeit]");
    Start_Countdown(count);
    new string[128],count;
    format(string,128,"Du hast den Countdown für %d Sekunden laufen lassen!",count);
    SendClientMessage(playerid,TEAM_BLUE,string);
    return 1;
    }

    Mit freundlichen Grüßen
    Exqool

  • Nun sieht es leider so aus:



    D:\Script - 2013\gamemodes\MVD-Roleplay.pwn(3714) : warning 219: local variable "count" shadows a variable at a preceding level
    D:\Script - 2013\gamemodes\MVD-Roleplay.pwn(21052) : error 003: declaration of a local variable must appear in a compound block
    D:\Script - 2013\gamemodes\MVD-Roleplay.pwn(21052) : error 017: undefined symbol "string"
    D:\Script - 2013\gamemodes\MVD-Roleplay.pwn(21052) : warning 215: expression has no effect
    D:\Script - 2013\gamemodes\MVD-Roleplay.pwn(21052) : error 001: expected token: ";", but found "]"
    D:\Script - 2013\gamemodes\MVD-Roleplay.pwn(21052) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.




    ocmd:countdown(playerid,params[]) {
    if(SpielerInfo[playerid][pAdmin]>=3)
    new string[128],count;
    if(sscanf(params,"d",count)) return SendClientMessage(playerid,TEAM_HIT_COLOR,"Verwendung: /countdown [Zeit]");
    Start_Countdown(count);
    format(string,128,"Du hast den Countdown für %d Sekunden laufen lassen!",count);
    SendClientMessage(playerid,TEAM_BLUE,string);
    return 1;
    }

    Mit freundlichen Grüßen
    Exqool


  • ocmd:countdown(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdmin]>=3)
    {
    if(sscanf(params,"d",count)) return SendClientMessage(playerid,TEAM_HIT_COLOR,"Verwendung: /countdown [Zeit]");
    {
    Start_Countdown(count);
    new string[128],count;
    format(string,128,"Du hast den Countdown für %d Sekunden laufen lassen!",count);
    SendClientMessage(playerid,TEAM_BLUE,string);
    return 1;
    }
    }
    }

  • Jetzt so


    D:\Script - 2013\gamemodes\MVD-Roleplay.pwn(3714) : warning 219: local variable "count" shadows a variable at a preceding level
    D:\Script - 2013\gamemodes\MVD-Roleplay.pwn(21054) : error 017: undefined symbol "count"
    D:\Script - 2013\gamemodes\MVD-Roleplay.pwn(21056) : error 017: undefined symbol "count"
    D:\Script - 2013\gamemodes\MVD-Roleplay.pwn(21063) : warning 209: function "ocmd_countdown" should return a value
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.
    :(

    Mit freundlichen Grüßen
    Exqool

  • ocmd:countdown(playerid,params[])
    {
    new count;
    if(SpielerInfo[playerid][pAdmin]>=3)
    {
    if(sscanf(params,"d",count)) return SendClientMessage(playerid,TEAM_HIT_COLOR,"Verwendung: /countdown [Zeit]");
    {
    Start_Countdown(count);
    new string[128];
    format(string,128,"Du hast den Countdown für %d Sekunden laufen lassen!",count);
    SendClientMessage(playerid,TEAM_BLUE,string);
    }
    }
    return 1;
    }

    Und so?


    Gruß,
    Neo. :)

  • Sieh mal her:


    ocmd:countdown(playerid, params[])
    {
    new time, str[128]; // Deklaration deiner Variable und deines Strings

    if(SpielerInfo[playerid][pAdmin] < 3)return SendClientMessage(playerid, TEAM_HIT_COLOR, "Fehler! Keine Rechte erkannt!"); // Abfrage ob der Spieler genügend Rechte hat
    if(sscanf(params, "d", time)return SendClientMessage(playerid, TEAM_HIT_COLOR, "Verwendung: /countdown [Zeit]"); // Abfrage ob der Befehl korrekt eingegeben wurde
    if(time < 0)return SendClientMessage(playerid, TEAM_HIT_COLOR, "Falsche Angabe!"); // Abfrage ob die Eingabe sinnvoll ist

    Start_Countdown(time); // Dein Countdown-Callback

    format(str, 128, "Du hast einen Countdown gestartet! (Laufzeit: %d Sekunden)", time); // Formatieren deines Textes
    SendClientMessage(playerid, TEAM_BLUE, str); // Aussenden des formatierten Strings
    return 1;
    }