lenght undefiniert

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 hab ein Problem und zwar ich kann irgendwie nicht lenght definieren weiss nicht wie...


    Hab ein Banksystem geschrieben dazu brauche ich:


    stock IsNumeric(const string[])
    {
    new lenght = strlen(string);
    for (new i=0; i<length; i++)
    {
    if (!((string[i] <= '9' && string[i] >= '0') || (i==0 && (string[i]=='-' || string[i]=='+'))))
    {
    return false;
    }
    }
    return 0;
    }


    C:\Users\Moritz\Desktop\Selfmade\gamemodes\BeginnerScript.pwn(896) : error 017: undefined symbol "length"
    C:\Users\Moritz\Desktop\Selfmade\gamemodes\BeginnerScript.pwn(895) : warning 204: symbol is assigned a value that is never used: "lenght"


    Zeilen:


    for (new i=0; i<length; i++)
    {


    hoffe es kann einer helfen


    LG


    Moritz

  • Schreibe den oberen Teil so ohne das new:


    stock IsNumeric(const string[])
    {
    for (new i=0; i<strlen(string); i++)
    {


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Danke ;)


    Nach dem Scriptstart kommt das:


    SA-MP Dedicated Server
    ----------------------
    v0.3e-R2, (C)2005-2012 SA-MP Team


    [21:39:18] filterscripts = "" (string)
    [21:39:18]
    [21:39:18] Server Plugins
    [21:39:18] --------------
    [21:39:18] Loaded 0 plugins.


    [21:39:18]
    [21:39:18] Filterscripts
    [21:39:18] ---------------
    [21:39:18] Loaded 0 filterscripts.


    [21:39:18] Script[gamemodes/BeginnerScript.amx]: Run time error 19: "File or function is not found"
    [21:39:18] Number of vehicle models: 0

    Einmal editiert, zuletzt von SenTiZz ()

  • Hab ich nun gemacht aber dann kommt das:


    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3e-R2, (C)2005-2012 SA-MP Team


    [21:42:44] filterscripts = "" (string)
    [21:42:44]
    [21:42:44] Server Plugins
    [21:42:44] --------------
    [21:42:44] Loading plugin: streamer
    [21:42:48] Failed.
    [21:42:48] Loaded 0 plugins.


    [21:42:48]
    [21:42:48] Filterscripts
    [21:42:48] ---------------
    [21:42:48] Loaded 0 filterscripts.


    [21:42:48] Script[gamemodes/BeginnerScript.amx]: Run time error 19: "File or function is not found"
    [21:42:48] Number of vehicle models: 0

  • Geht danke,


    nun hab ich ein bank problem undzwar ich kann nix auf mein kontoeinzahlen :(


    Code:


    dcmd_bank(playerid,params[])
    {
    #pragma unused params
    if(AtATM(playerid))
    {
    new string[128];
    format(string, sizeof(string), "Kontostand\nEinzahlen\nAbheben/Uberweisen");
    ShowPlayerDialog(playerid, BANK, DIALOG_STYLE_LIST, "LS-Bank", string, "Auswählen", "Abbrechen");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist an keinem Bankautomat!");
    }
    return 1;
    }
    if(dialogid == Einzahlen)
    {
    if(response)
    {
    if(IsNumeric(inputtext))
    {
    new val = strval(inputtext);
    if(SInfo[playerid][pBargeld] == 0)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültig!");
    return 1;
    }
    if(val > GetPlayerMoney(playerid))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "So viel Geld hast du nicht!");
    return 1;
    }
    if(val == 999999999999999)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " ATM - BUG ist Verboten!");
    Kick(playerid);
    return 1;
    }
    new s[128];
    SInfo[playerid][pBargeld] -= val;
    SInfo[playerid][pBankAccount]+= val;
    format(s, sizeof(s), "Du hast %d$ in dein Konto eingezahlt. Neuer Kontostand: %d$", val, SInfo[playerid][pBankAccount]);
    SendClientMessage(playerid, Gelb, s);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Ungültige Eingabe");
    }
    }
    else
    {
    ShowPlayerDialog(playerid, BANK, DIALOG_STYLE_LIST, "Menü", "Kontostand\nEinzahlen\nAbheben\nÜberweisen", "Auswählen", "Beenden");
    }
    }



    Da steht immer ungegültig :(


    pBargeld ist weil ich ein anderes system hab.... hab ein neues gemacht


    stock


    stock IsNumeric(const string[])
    {
    new length = strlen(string);
    for (new i=0; i<length; i++)
    {
    if (!((string[i] <= '9' && string[i] >= '0') || (i==0 && (string[i]=='-' || string[i]=='+'))))
    {
    return false;
    }
    }
    return 0;
    }

    Einmal editiert, zuletzt von SenTiZz ()

  • Schau doch mal genau hin, bei deiner stock IsNumeric Funktion returnst du immer wieder 0 :huh:


    Es kann also nichts vernünftiges dabei rauskommen :D


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Hab mal wieder nen fehler
    wenn ich "Kaufen" drücke dann stürtzt der Server ab wieso?


    Mein kaufdialog:
    new string[256], sts[128], name[MAX_PLAYER_NAME];
    if(dialogid == Dialog0)
    {
    if(response == 1)
    {
    if(PlayerInfo[playerid][pKey] > 0)
    {
    SendClientMessage(playerid, COLOR_RED,"Du besitzt schon ein Auto !");
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, 1);
    return 1;
    }
    new prus;
    if(SInfo[playerid][pBargeld] >= prus)
    {
    GivePlayerMoney(playerid, -preis[playerid]);
    PlayerInfo[playerid][pPreis] = preis[playerid];
    format(string, sizeof(string),"769.4449, -1327.1703, 13.3326, 268.7346, 0, 0, %d, %d",GetVehicleModel(GetPlayerVehicleID(playerid)),preis[playerid]);
    SaveVehicles(string, playerid);
    PlayerInfo[playerid][pKey] = CreateVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)), 769.4449,-1327.1703,13.3326,268.7346,0,0,-1);
    GetPlayerName(playerid, name, sizeof(name));
    format(sts, sizeof(sts),"%s",name);
    SetVehicleNumberPlate(PlayerInfo[playerid][pKey], sts);
    SetVehicleToRespawn(PlayerInfo[playerid][pKey]);
    SetPlayerPos(playerid, 769.7058,-1324.5464,13.3906);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, 1);
    format(str, sizeof(str),"Auto erfolgreich für %d$ gekauft !",preis[playerid]);
    SendClientMessage(playerid, Blau, str);
    return 1;
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, 1);
    SendClientMessage(playerid, COLOR_RED,"Du besitzt zu wenig Geld für dieses Auto !");
    return 1;
    }
    }
    if(response == 0)
    {
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, 1);
    return 1;
    }
    }


    Kann nicht GetPlayerMoney benutzen da ich ein iegenes Geldsystem habe

    2 Mal editiert, zuletzt von SenTiZz ()