/frakhelp Selfmade - Compiler exe

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 soeben ein /frakhelp Befehl erstellt.
    Doch wenn ich compilen mag, dann stürzt der Compiler ab (EXE).
    Code:
    if(strcmp("/frakhelp",cmdtext) == 0)
    {
    if(Player[playerid][Team] >= 1 && carid <= 14)
    {
    new pID[64];
    GetPlayerName(playerid, pID, sizeof(pID));
    if(Player[playerid][Team] == 1||Player[playerid][Team] == 3)
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Polizei/LSPD sowie FBI",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"-> Tore: /pd1 [GaragenTor] /pd2 [Einlieferungstor] /tür1 [Im LSPD] /tür2 [Im LSPD]");
    SendClientMessage(playerid, COLOR_WHITE,"/einsperren [SpielerID einsperren] /duty [Nur am LSPD Empfang] /su [Wanteds vergeben] /sn [Staatsnachricht]");
    SendClientMessage(playerid, COLOR_WHITE,"/d [Departmentchat, für alle Staatsfraktion sehbar] /r [Radiochat, für alle Spieler deiner Fraktion sichtbar!");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    if(Player[playerid][Team] == 2)
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Medic/Sanitäter/Arzt",Player[playerid][Rank], pID);
    SendClientMessage(playerid, COLOR_WHITE,"/heal [SpielerID heilen] /duty [Nur im Mannschaftsraum] /sn [Staatsnachricht] /r [Radiochat, nur für Sani's sichtbar]");
    SendClientMessage(playerid, COLOR_WHITE,"/d [Departmentchat, für alle Staatsfraktionen sehbar]");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    if(Player[playerid][Team] == 4)
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Security GMBH",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"Befehle werden folgen!");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    if(Player[playerid][Team] == 5)
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Präsident",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"/sn [Staatsnachricht] /r [Radiochat, für Mitglieder des Präsidenten sichtbar]");
    SendClientMessage(playerid, COLOR_WHITE,"/d [Departmentchat, für alle Staatsfraktionen sehbar]");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    if(Player[playerid][Team] == 13)
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Ordnungsamt",Player[playerid][Rank], pID);
    SendClientMessage(playerid, COLOR_WHITE,"-> Tore: /oator1 [Öffnet das Eingangstor] /oator2 [Öffnet das Abschlepptor]");
    SendClientMessage(playerid, COLOR_WHITE,"/oaticket [SpielerID Ticket geben] /duty [Nur im Mannschaftsraum] /sn [Staatsnachricht] /r [Radiochat, nur für Oamtler sichtbar]");
    SendClientMessage(playerid, COLOR_WHITE,"/d [Departmentchat, für alle Staatsfraktionen sehbar]");
    SendClientMessage(playerid, COLOR_RED,"-> Tipp: Mit STRG schleppst du Autos ab, du musst dich aber nahe genug an ihnen befinden!");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    if(Player[playerid][Team] == 14)
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Fahrschule",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"/lizenz [SpielerID Waffen-/Auto-/Motorrad-/Fluglizenz geben]");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    if(Player[playerid][Team] == 15)
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: MultiDrive-Firma",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"/taxi [In den Dienst gehen, nur im Mannschaftsraum möglich!");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist in keiner Fraktion die Sonerbefehle besitzt!");
    }
    return 1;
    }


    Bitte hilfe, danke!


    EDIT: Mit den:
    if(Player[playerid][Team] == ?)
    {// <-
    Geht es auch nicht, immernoch exe.

    Einmal editiert, zuletzt von TutNichts ()

  • Sieht so aus als wäre das eine Klammer zu viel.
    Probier mal so:
    if(strcmp("/frakhelp",cmdtext) == 0)
    {
    if(Player[playerid][Team] >= 1 && carid <= 14)
    {
    new pID[64];
    GetPlayerName(playerid, pID, sizeof(pID));
    if(Player[playerid][Team] == 1||Player[playerid][Team] == 3)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Polizei/LSPD sowie FBI",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"-> Tore: /pd1 [GaragenTor] /pd2 [Einlieferungstor] /tür1 [Im LSPD] /tür2 [Im LSPD]");
    SendClientMessage(playerid, COLOR_WHITE,"/einsperren [SpielerID einsperren] /duty [Nur am LSPD Empfang] /su [Wanteds vergeben] /sn [Staatsnachricht]");
    SendClientMessage(playerid, COLOR_WHITE,"/d [Departmentchat, für alle Staatsfraktion sehbar] /r [Radiochat, für alle Spieler deiner Fraktion sichtbar!");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    if(Player[playerid][Team] == 2)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Medic/Sanitäter/Arzt",Player[playerid][Rank], pID);
    SendClientMessage(playerid, COLOR_WHITE,"/heal [SpielerID heilen] /duty [Nur im Mannschaftsraum] /sn [Staatsnachricht] /r [Radiochat, nur für Sani's sichtbar]");
    SendClientMessage(playerid, COLOR_WHITE,"/d [Departmentchat, für alle Staatsfraktionen sehbar]");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    if(Player[playerid][Team] == 4)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Security GMBH",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"Befehle werden folgen!");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    if(Player[playerid][Team] == 5)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Präsident",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"/sn [Staatsnachricht] /r [Radiochat, für Mitglieder des Präsidenten sichtbar]");
    SendClientMessage(playerid, COLOR_WHITE,"/d [Departmentchat, für alle Staatsfraktionen sehbar]");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    if(Player[playerid][Team] == 13)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Ordnungsamt",Player[playerid][Rank], pID);
    SendClientMessage(playerid, COLOR_WHITE,"-> Tore: /oator1 [Öffnet das Eingangstor] /oator2 [Öffnet das Abschlepptor]");
    SendClientMessage(playerid, COLOR_WHITE,"/oaticket [SpielerID Ticket geben] /duty [Nur im Mannschaftsraum] /sn [Staatsnachricht] /r [Radiochat, nur für Oamtler sichtbar]");
    SendClientMessage(playerid, COLOR_WHITE,"/d [Departmentchat, für alle Staatsfraktionen sehbar]");
    SendClientMessage(playerid, COLOR_RED,"-> Tipp: Mit STRG schleppst du Autos ab, du musst dich aber nahe genug an ihnen befinden!");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    if(Player[playerid][Team] == 14)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Fahrschule",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"/lizenz [SpielerID Waffen-/Auto-/Motorrad-/Fluglizenz geben]");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    if(Player[playerid][Team] == 15)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: MultiDrive-Firma",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"/taxi [In den Dienst gehen, nur im Mannschaftsraum möglich!");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist in keiner Fraktion die Sonerbefehle besitzt!");
    }
    return 1;
    }


    So müssts gehen. Nur eben noch schön einrücken :P

  • C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1648) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1654) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1654) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1662) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1662) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1669) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1669) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1675) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1675) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1682) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1682) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1691) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1691) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1697) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1697) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Vinni\Desktop\SAMP-Server\Server\gamemodes\pipapo123.pwn(1702) : error 029: invalid expression, assumed zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    2 Errors, wuhu!


    if(strcmp("/frakhelp",cmdtext) == 0)
    {
    if(Player[playerid][Team] >= 1 && Player[playerid][Team] <= 14))//Zeile 1648
    {
    new pID[64];
    GetPlayerName(playerid, pID, sizeof(pID));
    if(Player[playerid][Team] == 1||Player[playerid][Team] == 3)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Polizei/LSPD sowie FBI",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"-> Tore: /pd1 [GaragenTor] /pd2 [Einlieferungstor] /tür1 [Im LSPD] /tür2 [Im LSPD]");
    SendClientMessage(playerid, COLOR_WHITE,"/einsperren [SpielerID einsperren] /duty [Nur am LSPD Empfang] /su [Wanteds vergeben] /sn [Staatsnachricht]");
    SendClientMessage(playerid, COLOR_WHITE,"/d [Departmentchat, für alle Staatsfraktion sehbar] /r [Radiochat, für alle Spieler deiner Fraktion sichtbar!");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    if(Player[playerid][Team] == 2)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Medic/Sanitäter/Arzt",Player[playerid][Rank], pID);
    SendClientMessage(playerid, COLOR_WHITE,"/heal [SpielerID heilen] /duty [Nur im Mannschaftsraum] /sn [Staatsnachricht] /r [Radiochat, nur für Sani's sichtbar]");
    SendClientMessage(playerid, COLOR_WHITE,"/d [Departmentchat, für alle Staatsfraktionen sehbar]");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    if(Player[playerid][Team] == 4)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Security GMBH",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"Befehle werden folgen!");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    if(Player[playerid][Team] == 5)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Präsident",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"/sn [Staatsnachricht] /r [Radiochat, für Mitglieder des Präsidenten sichtbar]");
    SendClientMessage(playerid, COLOR_WHITE,"/d [Departmentchat, für alle Staatsfraktionen sehbar]");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    if(Player[playerid][Team] == 13)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Ordnungsamt",Player[playerid][Rank], pID);
    SendClientMessage(playerid, COLOR_WHITE,"-> Tore: /oator1 [Öffnet das Eingangstor] /oator2 [Öffnet das Abschlepptor]");
    SendClientMessage(playerid, COLOR_WHITE,"/oaticket [SpielerID Ticket geben] /duty [Nur im Mannschaftsraum] /sn [Staatsnachricht] /r [Radiochat, nur für Oamtler sichtbar]");
    SendClientMessage(playerid, COLOR_WHITE,"/d [Departmentchat, für alle Staatsfraktionen sehbar]");
    SendClientMessage(playerid, COLOR_RED,"-> Tipp: Mit STRG schleppst du Autos ab, du musst dich aber nahe genug an ihnen befinden!");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    if(Player[playerid][Team] == 14)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: Fahrschule",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"/lizenz [SpielerID Waffen-/Auto-/Motorrad-/Fluglizenz geben]");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    if(Player[playerid][Team] == 15)
    {
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Fraktionsbefehle für %s %s, Fraktion: MultiDrive-Firma",Player[playerid][Rank],pID);
    SendClientMessage(playerid, COLOR_WHITE,"/taxi [In den Dienst gehen, nur im Mannschaftsraum möglich!");
    SendClientMessage(playerid, COLOR_YELLOW,"Weitere Vorschläge für neue Befehle bitte im Forum posten!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist in keiner Fraktion die Sonerbefehle besitzt!");
    }
    return 1;
    }


    Und bei jeder SendClientMessage 'n Number off Arguments ...

  • Anstatt SCM über einen String arbeiten;)


    Beispiel:


    new string[128];
    format(string, sizeof(string), "Fraktionsbefehle für %s %s, Fraktion: Medic/Sanitäter/Arzt",Player[playerid][Rank], pID);
    SendClientMessage(playerid, COLOR_BELIEBIG, string);



    und das überall , wo du einen Platzhalter verwendest, der nachträglich erklärt wird;)