Die Zeilen "aktion = strtok(cmdtext, idx);"
Der ganze Befehl: (die Fehler sind rot makiert)
if(strcmp(cmd, "/produkte", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] >= 0 || PlayerInfo[playerid][pLeader] >= 0)
{
tmp = strtok(cmdtext, idx);
new aktion[200];
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~Keine Firma in der Naehe", 5000, 1);
return 1;
}
else if(strcmp(tmp, "anzeigen", true) == 0)
{
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;
}