HIlfe bei /buyprods | sellprods... (Klappt nicht wirklich!)

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
  • Moin Leute ich arbeite zurzeit an einem LoH script das ich schon sehr stark verändert habe , es gefällt mir auch gut das man dort die buisness auffüllen muss jedoch geht es nicht wirklich gut!


    Also ich poste hier einfach mal meinen Code! Jedes mal wenn ich /buyprods oder /sellprods mache steht im CHat server: Unknown Command! Ich weiß leider nich woran es liet ich hoffe ihr könnt mir helfen!



    if(strcmp(cmd, "/load", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    if(!IsATruck(tmpcar))
    {
    GameTextForPlayer(playerid, "~r~Du bist in keinem Lieferwagen!", 5000, 1);
    return 1;
    }
    format(string, sizeof(string), "Produkte: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    }
    return 1;
    }
    if(strcmp(cmd, "/buyprods", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    new compcost = 2;
    if(!IsATruck(tmpcar))
    {
    GameTextForPlayer(playerid, "~r~Du bist in keinem Lieferwagen", 5000, 1);
    return 1;
    }
    //if(IsPlayerInRangeOfPoint(playerid,22.0, 805.80,-626.06,16.34))
    if(PlayerToPoint(22.0, playerid, 805.80,-626.06,16.34))
    {
    if(IsATruck(tmpcar))
    {
    if(PlayerHaul[tmpcar][pLoad] < PlayerHaul[tmpcar][pCapasity])
    {
    new amount;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "BENUTZE: /buyprods [Anzahl]");
    return 1;
    }
    amount = strval(tmp);
    if(amount < 1 || amount > 500) { SendClientMessage(playerid, COLOR_GREY, " Die Menge muss zwischen 1 und 200(Rumpo) | 250(Bedson) | 300(Yankee) sein !"); return 1; }
    new check1= PlayerHaul[tmpcar][pLoad] + amount;
    if(check1 > PlayerHaul[tmpcar][pCapasity])
    {
    format(string, sizeof(string), " Du hast die Tragekapazität von %d überschritten. Momentan sind %d aufgeladen.",PlayerHaul[tmpcar][pCapasity],PlayerHaul[tmpcar][pLoad]);
    SendClientMessage(playerid, COLOR_GREY, string);
    return 1;
    }
    new cost = amount*compcost;
    if(GetPlayerMoney(playerid) >= cost)
    {
    PlayerHaul[tmpcar][pLoad] += amount;
    format(string, sizeof(string), "Produkte: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    format(string, sizeof(string), "Du hast %d Produkte für $%d gekauft.", amount,cost);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    //GivePlayerMoney(playerid,-cost);
    GivePlayerMoney(playerid, -cost);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    return 1;
    }
    else
    {
    format(string, sizeof(string), "Du kannst dir %d Produkte im Wert von $%d nicht leisten !", amount,cost);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    return 1;
    }
    }
    else
    {
    format(string, sizeof(string), "Produkte: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, TEAM_GROVE_COLOR, "Dieses Fahrzeug kann keine Produkte liefern.");
    return 1;
    }
    }
    }
    return 1;
    }
    if(strcmp(cmd, "/sellprods", true) == 0)
    {
    new cashmade;
    new tmpcar;
    if(IsPlayerConnected(playerid))
    {
    tmpcar = GetPlayerVehicleID(playerid);
    if(!IsATruck(tmpcar))
    {
    GameTextForPlayer(playerid, "~r~Du bist in keinem Lieferwagen", 5000, 1);
    return 1;
    }
    if(PlayerHaul[tmpcar][pLoad] == 0)
    {
    GameTextForPlayer(playerid, "~r~Der Lastwagen ist leer. Begib dich zurueck zum Lagerhaus", 5000, 1);
    format(string, sizeof(string), "Produkte: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    return 1;
    }
    for(new i = 0; i < sizeof(BizzInfo); i++)
    {
    if (PlayerToPoint(10, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]))
    {
    //printf("Found House :%d",i);
    for(new l = PlayerHaul[tmpcar][pLoad]; l > 0; l--)
    {
    if(BizzInfo[i][bProducts] == BizzInfo[i][bMaxProducts])
    {
    GameTextForPlayer(playerid, "~r~Unsere Lager sind voll", 5000, 1);
    format(string, sizeof(string), "$%d verdient.", cashmade);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    format(string, sizeof(string), "Produkte: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    return 1;
    }
    if(BizzInfo[i][bPriceProd] > BizzInfo[i][bTill])
    {
    GameTextForPlayer(playerid, "~r~Wir koennen uns das nicht leisten", 5000, 1);
    format(string, sizeof(string), "Cash Earned $%d.", cashmade);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    format(string, sizeof(string), "Produkte: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    return 1;
    }
    PlayerHaul[tmpcar][pLoad]--;
    BizzInfo[i][bProducts]++;
    cashmade = cashmade+BizzInfo[i][bPriceProd];
    ConsumingMoney[playerid] = 1;
    //GivePlayerMoney(playerid,BizzInfo[i][bPriceProd]);
    GivePlayerMoney(playerid, BizzInfo[i][bPriceProd]);
    //PlayerMoney[playerid] = PlayerMoney[playerid]-500;
    BizzInfo[i][bTill] -= BizzInfo[i][bPriceProd];
    if(PlayerHaul[tmpcar][pLoad] == 0)
    {
    GameTextForPlayer(playerid, "~r~Der Lastwagen ist leer. Begib dich zurueck zum Lagerhaus", 5000, 1);
    format(string, sizeof(string), "$%d verdient.", cashmade);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    format(string, sizeof(string), "Produkte: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    return 1;
    }
    }
    OnPropUpdate();
    return 1;
    }
    }
    }
    for(new i = 0; i < sizeof(SBizzInfo); i++)
    {
    if (PlayerToPoint(10, playerid,SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ]))
    {
    //printf("Found House :%d",i);
    for(new l = PlayerHaul[tmpcar][pLoad]; l > 0; l--)
    {
    if(SBizzInfo[i][sbProducts] == SBizzInfo[i][sbMaxProducts])
    {
    GameTextForPlayer(playerid, "~r~Unsere Lager sind voll", 5000, 1);
    format(string, sizeof(string), "C$%d verdient.", cashmade);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    format(string, sizeof(string), "Produkte: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    return 1;
    }
    if(SBizzInfo[i][sbPriceProd] > SBizzInfo[i][sbTill])
    {
    GameTextForPlayer(playerid, "~r~Wir koennen uns das nicht leisten", 5000, 1);
    format(string, sizeof(string), "$%d verdient.", cashmade);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    format(string, sizeof(string), "Produkte: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    return 1;
    }
    PlayerHaul[tmpcar][pLoad]--;
    SBizzInfo[i][sbProducts]++;
    cashmade = cashmade+SBizzInfo[i][sbPriceProd];
    ConsumingMoney[playerid] = 1;
    //GivePlayerMoney(playerid,SBizzInfo[i][sbPriceProd]); <== ich glaub das sollte so nich gehen :D ich machs ma so:
    GivePlayerMoney(playerid, SBizzInfo[i][sbPriceProd]); //öhm...ja so sollte es gehen :P
    SBizzInfo[i][sbTill] -= SBizzInfo[i][sbPriceProd];
    if(PlayerHaul[tmpcar][pLoad] == 0)
    {
    GameTextForPlayer(playerid, "~r~Der Lastwagen ist leer. Begib dich zurueck zum Lagerhaus", 5000, 1);
    format(string, sizeof(string), "$%d verdient.", cashmade);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    format(string, sizeof(string), "Produkte: %d/%d.", PlayerHaul[tmpcar][pLoad],PlayerHaul[tmpcar][pCapasity]);
    SendClientMessage(playerid, TEAM_GROVE_COLOR, string);
    return 1;
    }
    }
    OnPropUpdate();
    return 1;
    }
    }
    GameTextForPlayer(playerid, "~r~Zu weit von einem Unternehmen entfernt", 5000, 1);
    return 1;
    }


    public IsATruck(carid)
    {
    for(new i = 0; i < sizeof(PTruck); i++)
    {
    if(carid == PTruck[i])
    {
    return 1;
    }
    }
    return 1;
    }
    //// Ladekapazität ////
    PlayerHaul[PTruck[0]][pCapasity] = 300;
    PlayerHaul[PTruck[1]][pCapasity] = 200;
    PlayerHaul[PTruck[2]][pCapasity] = 200;
    PlayerHaul[PTruck[3]][pCapasity] = 300;
    PlayerHaul[PTruck[4]][pCapasity] = 200;
    PlayerHaul[PTruck[5]][pCapasity] = 250;



    PTruck[0] =AddStaticVehicleEx(456,789.85437011719,-606.58734130859,16.5859375,0.0,-1,-1,60);//Produktwagen Yankee 1
    PTruck[1] =AddStaticVehicleEx(440,803.28997802734 ,-609.78674316406 ,16.555934906006 ,0.0,-1,-1,60);//Produktwagen Rumpo 1
    PTruck[2] =AddStaticVehicleEx(440,829.92736816406 ,-609.12542724609 ,16.555934906006 ,0.0,-1,-1,60);//Produktwagen Rumpo 2
    PTruck[3] =AddStaticVehicleEx(456,797.49884033203 ,-615.07879638672 ,16.555934906006 ,0.0,-1,-1,60);//Produktwagen Yankee 2
    PTruck[4] =AddStaticVehicleEx(440,811.55792236328 ,-610.68444824219 ,16.555934906006 ,0.0,-1,-1,60);//Produktwagen Rumpo 3
    PTruck[5] =AddStaticVehicleEx(499,819.87261962891 ,-609.59490966797 ,16.555934906006 ,0.0,-1,-1,60);//Produktwagen Benson 1



    Das ist so ziemlich alles die kleinen Sachen die nicht von bedeutung sind hab ich rausgelassen wie die definition der Arrays... Ich hoffe ihr könnt in diesen Ausschnitten meinen Fehler finden!


    Thx im Vorraus euer Eric!


    //EDIT pwn /pwn weggemacht wegen falschem Einrücken!


    Einmal editiert, zuletzt von Erich96 ()

  • Steht ganz unten am OnPlayerCommandText ein return 0; ?

  • dcmd_kofferraum (playerid,params[])
    {
    new status[4];
    if(sscanf(params,"s",status))return SendClientMessage(playerid,COLOR_GREEN,"Benutzung: /Kofferraum [auf/zu]");
    new engine,lights,alarm,doors,bonnet,boot,objective;
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid,COLOR_RED,"Du fährst gerade kein Fahrzeug!");
    {
    new vid = GetPlayerVehicleID(playerid);
    if(strcmp(status,"auf",true) == 0)
    {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_ON,objective);
    kofferraum[vid] = true;
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Kofferraum ~g~auf!", 2000, 3);
    }
    else if(strcmp(status,"zu",true) == 0)
    {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,VEHICLE_PARAMS_OFF,objective);
    kofferraum[vid] = false;
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Kofferraum ~r~zu!", 2000, 3);
    }
    }
    return 1;
    }


    das ist das Ende meines Scripts also auch von OnPlayerCommandText, da einfach ein


    return 0;


    drunter?


    Sry war bisschen zu weit unten OnPlayerCommantText ist das schon vorbei gewesen! Ich suche jetzt nochmal das richtige Ende!

  • Nein, weil es dann gar nicht funktioniert. Also du gibts den Befehl ein und dann? Steht: Unknown Command

  • Doch also alle anderen cmds gehen und wenn ich /buyprods eingebe und in garkeinem auto bin dann kann ich mir
    250 Produkte kaufen :D voll komisch also da ist irgendwas durcheinander gekommen oder so, wenn ich in einem


    pTruck sitze dann kommt Server: Unknown Command


    total verwirrent!

  • ja klar das kommt aber erst nach der fehlenden abfrage wie ich sehe fehlt die komplett
    ein guter vorteil ist es auch das wenn du mit dieser abfrage arbeitest eine Error-Message schreiben kannst.
    z.B. das der Player in gar keinem Vehicle ist und dann hast du zumindest eines deiner Probleme gelöst ;]


    Gruss: Sonic

    I didn't hit you. I high fived your face.

  • Kay ich setz mich gleich mal dran und ich mach einfach beides :D wenn er in keinem Fahrzeug ist (Du bist in keinem Fahrzeug und wenn er in einem Fahrzeug ist das kein Lieferwagen ist (Du bist in keinem Lieferwagen) ;D