/configtanke Problem -> Need Help

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 Brotfische,


    ich habe ein Problem. Ich arbeite derzeit an einen Dynamischen Tankstellensystem und dazu gehört auch das jeder Administrator die Tankstellen bearbeiten kann.


    Das ist der aktuelle PAWN-Source Code was ich geschrieben habe:
    [pwn=38500]
    if(strcmp(cmdtext, "/configtanke", true) == 0)
    {
    if(SpielerInfo[playerid][pAdmin] >= 4)
    {
    new exist = 0;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Verwende: {0041FF}/configtanke [TankstellenID] [Syntax] [Wert]");
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Syntax: {0041FF}owner beschreibung price level exp kasse products maxproducts benzinpreis");
    return 1;
    }
    new tankid = tmp;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Verwende: {0041FF}/configtanke [TankstellenID] [Syntax] [Wert]");
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Syntax: {0041FF}owner beschreibung price level exp kasse products maxproducts benzinpreis");
    return 1;
    }
    new syntax = tmp;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Verwende: {0041FF}/configtanke [TankstellenID] [Syntax] [Wert]");
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Syntax: {0041FF}owner beschreibung price level exp kasse products maxproducts benzinpreis");
    return 1;
    }
    new wert = tmp;


    for(new idx = 0; idx<sizeof(TankInfo); idx++)
    {
    if(TankInfo[idx][tid] == tankid)
    {
    if(strcmp(syntax,"owner",true) == 0)
    {
    new besitzer = ReturnUser(TankInfo[idx][towner]);
    if(strcmp(wert,"0",true) == 0 || strcmp(wert,"Niemand",true) == 0)
    {
    if(IsPlayerConnected(besitzer)
    {
    SpielerInfo[besitzer][pTankkey] = 999;
    }
    TankInfo[idx][towner] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"beschreibung",true) == 0)
    {
    TankInfo[idx][tbeschreibung] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"price",true) == 0)
    {
    TankInfo[idx][tbuyprice] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"level",true) == 0)
    {
    TankInfo[idx][tlevel] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"exp",true) == 0)
    {
    TankInfo[idx][texp] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"kasse",true) == 0)
    {
    TankInfo[idx][tkasse] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"products",true) == 0)
    {
    TankInfo[idx][tproducts] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"maxproducts",true) == 0)
    {
    TankInfo[idx][tmaxproducts] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"benzinpreis",true) == 0)
    {
    TankInfo[idx][tfillprice] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);


    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Syntaxt ungültig");
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Syntax: {0041FF}owner beschreibung price level exp kasse products maxproducts benzinpreis");
    }
    exist++;
    }
    }


    /*if(exist==0)
    {
    SendClientMessage(playerid, COLOR_RED, "Die Tankstelle existiert nicht");
    }*/
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du hast nicht die nötigen Rechte!");
    }



    return 1;
    }
    [/pwn]


    Und plötzlich erkennt PAWN komischerweise bestehende functions nicht mehr.


    Fehler:

    C:\Users\MD\Desktop\sv\pawno\include\M-Zones.inc(113) : error 004: function "M_OnPlayerEnterZone" is not implemented
    C:\Users\MD\Desktop\sv\pawno\include\M-Zones.inc(122) : error 004: function "M_OnPlayerLeaveZone" is not implemented
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(4795) : error 004: function "FractionLockDoors" is not implemented
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(4796) : error 004: function "UpdateZones" is not implemented
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(5105) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(5229) : error 017: undefined symbol "GetPlayerGun"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(6567) : error 017: undefined symbol "CreatePlayerTextDraws"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(7527) : error 004: function "OnPlayerCarLogin" is not implemented
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(7573) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(7585) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(7966) : error 017: undefined symbol "GetPlayerWeapons"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(8153) : error 004: function "RemoveRoadblock" is not implemented
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(8157) : error 017: undefined symbol "SaveMysqlPlayer"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(8158) : error 004: function "OnPlayerCarUpdate_SQL" is not implemented
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(8168) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(8542) : error 004: function "Waff_Reset" is not implemented
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(8576) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(9990) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(10004) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(10021) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(10030) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(10039) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(10048) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(10057) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(10066) : error 017: undefined symbol "ShowUserDialog"
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(10076) : error 017: undefined symbol "ShowUserDialog"


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



    26 Errors.



    Wenn /configtanke Script weg ist, geht alles. Ich persöhnlich versteh es nicht und finde keinen Ansatz diesen Fehler erfolgreich zu beheben.
    Könntet ihr mir helfen?


    Liebe Grüße
    palwal

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.

  • Hast du es aus einem GF kopiert?


    wenn ja schreib es einfach neu und nix KOPIEREN !

    Ich habe das dynamische Tanksystem 100% selbst geschrieben :p


    Es fehlt eine Klammer am Ende :)

    Hier die Klammer :
    if(SpielerInfo[playerid][pAdmin] >= 4)
    {
    wird nirgends geschlossen

    Vielen Dank probiere ich gleich mal aus


    So jetzt geht es, war wirklich ein Klammerfehler.
    Aber ich habe immer noch Fehlermeldungen.


    [pwn=38500]
    if(strcmp(cmdtext, "/configtanke", true) == 0)
    {
    if(SpielerInfo[playerid][pAdmin] >= 4)
    {
    new exist = 0;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Verwende: {0041FF}/configtanke [TankstellenID] [Syntax] [Wert]");
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Syntax: {0041FF}owner beschreibung price level exp kasse products maxproducts benzinpreis");
    return 1;
    }
    new tankid = strlen(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Verwende: {0041FF}/configtanke [TankstellenID] [Syntax] [Wert]");
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Syntax: {0041FF}owner beschreibung price level exp kasse products maxproducts benzinpreis");
    return 1;
    }

    new syntax = strlen(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Verwende: {0041FF}/configtanke [TankstellenID] [Syntax] [Wert]");
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Syntax: {0041FF}owner beschreibung price level exp kasse products maxproducts benzinpreis");
    return 1;
    }
    new wert = strlen(tmp);

    for(new idx = 0; idx<sizeof(TankInfo); idx++)
    {
    if(TankInfo[idx][tid] == tankid)
    {
    if(strcmp(syntax,"owner",true) == 0)
    {
    new besitzer = ReturnUser(TankInfo[idx][towner]);
    if(strcmp(wert,"0",true) == 0 || strcmp(wert,"Niemand",true) == 0)
    {
    if(IsPlayerConnected(besitzer))
    {
    SpielerInfo[besitzer][pTankkey] = 999;
    }
    }

    TankInfo[idx][towner] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);

    }
    else if(strcmp(syntax,"beschreibung",true) == 0)
    {
    TankInfo[idx][tbeschreibung] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"price",true) == 0)
    {
    TankInfo[idx][tbuyprice] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"level",true) == 0)
    {
    TankInfo[idx][tlevel] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"exp",true) == 0)
    {
    TankInfo[idx][texp] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"kasse",true) == 0)
    {
    TankInfo[idx][tkasse] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"products",true) == 0)
    {
    TankInfo[idx][tproducts] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"maxproducts",true) == 0)
    {
    TankInfo[idx][tmaxproducts] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else if(strcmp(syntax,"benzinpreis",true) == 0)
    {
    TankInfo[idx][tfillprice] = wert;
    SaveTanken();
    for(new idx2 = 0; idx2<sizeof(TankInfo); idx2++)
    {
    DestroyPickup(TankInfo[idx][tpickup]);
    Delete3DTextLabel(TankInfo[idx][tlabel]);
    }
    SetTimer("LoadTanken", 500, 0);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Syntaxt ungültig");
    SendClientMessage(playerid, COLOR_WHITE, "{19FF00}Syntax: {0041FF}owner beschreibung price level exp kasse products maxproducts benzinpreis");
    }
    exist++;
    }
    }

    if(exist==0)
    {
    SendClientMessage(playerid, COLOR_RED, "Die Tankstelle existiert nicht");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du hast nicht die nötigen Rechte!");
    }
    return 1;
    }
    [/pwn]


    Fehler:

    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(38535) : error 035: argument type mismatch (argument 1)
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(38538) : error 035: argument type mismatch (argument 1)
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(38556) : error 035: argument type mismatch (argument 1)
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(38567) : error 035: argument type mismatch (argument 1)
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(38578) : error 035: argument type mismatch (argument 1)
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(38589) : error 035: argument type mismatch (argument 1)
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(38600) : error 035: argument type mismatch (argument 1)
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(38611) : error 035: argument type mismatch (argument 1)
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(38622) : error 035: argument type mismatch (argument 1)
    C:\Users\MD\Desktop\NGL Projekt\SV 0.3z\gamemodes\nglrole.pwn(38633) : error 035: argument type mismatch (argument 1)


    wie löse ich das?

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.

    Einmal editiert, zuletzt von palwal ()


  • Es fehlt ein Parameter bzw es wurde ein falscher angeeben