Hilfe habe probleme mit /produkte

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
  • Wenn ich die variable new aktion[*]; * auf 258 Setze kommt:


    Spoiler anzeigen
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    Header size: 14604 bytes
    Code size: 3071708 bytes
    Data size: 18859368 bytes
    Stack/heap size: 32768 bytes; estimated max. usage: unknown, due to recursion
    Total requirements:21978448 bytes


    und wenn ich sie unter 258 setzte kommt das:


    Spoiler anzeigen
    C:\Users\Fabian\Desktop\EMZ\gamemodes\RStest.pwn(42916) : error 047: array sizes do not match, or destination array is too small
    C:\Users\Fabian\Desktop\EMZ\gamemodes\RStest.pwn(42962) : error 047: array sizes do not match, or destination array is too small
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    2 Errors.


    Hir der befehl:


    Spoiler anzeigen
    if(strcmp(cmd, "/produkte", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pMember] >= 0 || PlayerInfo[playerid][pLeader] >= 0)
    {
    new aktion[258];// das meine ich ^^
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GOLD, "____________________________|Prdoukthilfe|____________________________");
    SendClientMessage(playerid, COLOR_WHITE, "Benutzung: /produkte [Aktion]");
    SendClientMessage(playerid, COLOR_WHITE, "Verfügbare Funktionen: kaufen, verkaufen, anzeigen");
    return 1;
    }
    if(strcmp(tmp, "kaufen", true) == 0)
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 456)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dieses Fahrzeug kann keine Produkte ausliefern!");
    return 1;
    }
    if(!IsPlayerInRangeOfPoint(playerid, 50, 1957.5536,-2183.4856,13.5469))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am Eingang vom Los Santos Airport!");
    return 1;
    }
    aktion = strtok(cmdtext, idx);
    if(!strlen(aktion))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /produkte kaufen [Anzahl]");
    SendClientMessage(playerid, COLOR_GRAD1, "*Preis pro Produkt: 50$, Maximale Produkte: 100");
    return 1;
    }
    new menge;
    menge = strval(aktion);
    new preis = menge*50;
    if(menge > LSAWaren)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Derzeit haben wir nicht soviele Produkte auf Lager!");
    return 1;
    }
    if(menge < 1 || menge > 100)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst mindestens 1 Produkt und höchstens 100 Produkte kaufen!");
    return 1;
    }
    if(menge + ProdsDabei[playerid] > 100)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "So viele Produkte passen nicht mehr rein!");
    format(string, sizeof(string), "Produkte dabei: %d/100",ProdsDabei[playerid]);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    return 1;
    }
    if(preis > GetPlayerMoney(playerid))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast nicht genug Geld!");
    return 1;
    }
    ProdsDabei[playerid] = menge;
    LSAWaren -= menge;
    GivePlayerMoney(playerid, -preis);
    format(string, sizeof(string), "*Du hast %d Produkte für %d$ gekauft.", menge, preis);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du kannst sie nun an Geschäfte verkaufen.");
    new string2[200];
    format(string2, sizeof(string2), "[Produktverkauf]\nPreis pro Produkt: 50$\nProdukte auf Lager: %d\nKaufen mit /produkt\nEinkauf nur mit Prodlaster", LSAWaren);
    Update3DTextLabelText(LSWText, 0xFFFFFFFF, string2);
    SaveStuff();
    return 1;
    }
    else if(strcmp(tmp, "verkaufen", true) == 0)
    {
    aktion = strtok(cmdtext, idx);
    if(!strlen(aktion))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /produkte verkaufen [Anzahl]");
    return 1;
    }
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 456)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dieses Fahrzeug kann keine Produkte ausliefern!");
    return 1;
    }
    for(new i = 0; i < sizeof(BizzInfo); i++)
    {
    new menge = strval(aktion);
    new preis = menge*BizzInfo[i][bPriceProd];
    if (IsPlayerInRangeOfPoint(playerid,10.0,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]) && BizzInfo[i][bOwned] == 1)
    {
    if(BizzInfo[i][bProducts] + menge > BizzInfo[i][bMaxProducts])
    {
    GameTextForPlayer(playerid, "~r~Wir benoetigen nicht soviele Produkte!", 5000, 1);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    return 1;
    }
    if(preis > BizzInfo[i][bTill])
    {
    GameTextForPlayer(playerid, "~r~Wir haben zu wenig Geld!", 5000, 1);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    return 1;
    }
    ProdsDabei[playerid] -= menge;
    GivePlayerMoney(playerid, preis);
    BizzInfo[i][bProducts] += menge;
    BizzInfo[i][bTill] -= preis;
    new string3[200];
    format(string3, sizeof(string3), "[%s]\nInhaber: %s\nTeilhaber: %s\nEintrittspreis: %d$\nLevel: %d\nProdukte: %d/%d\nPreis pro Produkt: %d", BizzInfo[i][bMessage],BizzInfo[i][bOwner],BizzInfo[i][bExtortion],BizzInfo[i][bEntranceCost],BizzInfo[i][bLevelNeeded],BizzInfo[i][bProducts],BizzInfo[i][bMaxProducts],BizzInfo[i][bPriceProd]);
    Update3DTextLabelText(BizzInfo[i][bText],COLOR_BUYED,string3);
    format(string, sizeof(string), "%d Produkte für %d$ verkauft, Produkte: %d/100.", menge,preis,ProdsDabei[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    ConsumingMoney[playerid] = 1;
    OnPropUpdate();
    return 1;
    }
    }
    for(new s = 0; s < sizeof(SBizzInfo); s++)
    {
    new menge = strval(aktion);
    new preis = menge*SBizzInfo[s][sbPriceProd];
    if (IsPlayerInRangeOfPoint(playerid,10.0,SBizzInfo[s][sbEntranceX], SBizzInfo[s][sbEntranceY], SBizzInfo[s][sbEntranceZ]) && SBizzInfo[s][sbOwned] == 1)
    {
    if(SBizzInfo[s][sbProducts] + menge > SBizzInfo[s][sbMaxProducts])
    {
    GameTextForPlayer(playerid, "~r~Wir benoetigen nicht soviele Produkte!", 5000, 1);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    return 1;
    }
    if(menge > ProdsDabei[playerid])
    {
    format(string, sizeof(string), "Du hast nur %d Produkte dabei!", ProdsDabei[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
    }
    if(preis > SBizzInfo[s][sbTill])
    {
    GameTextForPlayer(playerid, "~r~Wir haben zu wenig Geld!", 5000, 1);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    return 1;
    }
    ProdsDabei[playerid] -= menge;
    format(string, sizeof(string), "%d Produkte für %d$ verkauft, Produkte: %d/100.", menge,preis,ProdsDabei[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, preis);
    SBizzInfo[s][sbProducts] += menge;
    SBizzInfo[s][sbTill] -= preis;
    new string4[200];
    format(string4, sizeof(string4), "[%s]\nInhaber: %s\nTeilhaber: %s\nEintrittspreis: %d$\nLevel: %d\nProdukte: %d/%d\nPreis pro Produkt: %d", SBizzInfo[s][sbMessage],SBizzInfo[s][sbOwner],SBizzInfo[s][sbExtortion],SBizzInfo[s][sbEntranceCost],SBizzInfo[s][sbLevelNeeded],SBizzInfo[s][sbProducts],SBizzInfo[s][sbMaxProducts], SBizzInfo[s][sbPriceProd]);
    Update3DTextLabelText(SBizzInfo[s][sbText],COLOR_BUYED,string4);
    ConsumingMoney[playerid] = 1;
    OnPropUpdate();
    return 1;
    }
    }
    GameTextForPlayer(playerid, "~r~Kein Business in der Naehe", 5000, 1);
    return 1;
    }
    else if(strcmp(tmp, "anzeigen", true) == 0)
    {

    Spoiler anzeigen
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 456)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist in keinem Yankee");
    return 1;
    }
    new prods = ProdsDabei[playerid];
    format(string, sizeof(string), "*Produkte dabei: %d/100", prods);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "ERROR!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Logg dich erst ein!");
    }
    return 1;
    }


    mfg. Fabi.StaR :thumbup:

    Mit freundlichen Grüßen,


    Fabi.StaR :love::saint: