Hey bei mir geht er nur bis zu Null da er die Firma 1 schon garnicht mehr findet ihren wie da sagt er mir Bist nicht an der Firma bei Firma 0 geht alles(Fast)
ocmd:produktepreis(playerid,params[])
{
new pPreis,preisinfo[128];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof name);
for(new firmen=0;firmen<MAX_BIZZES;firmen ++)
{
if(!IsPlayerInRangeOfPoint(playerid,5,BSystem[firmen][BizX],BSystem[firmen][BizY],BSystem[firmen][BizZ]))return SendClientMessage(playerid,ROT,"Du befindest dich nicht an deine Firma");
if(sscanf(params,"d",pPreis))return SendClientMessage(playerid,ROT,"/produktepreis [Produkte Preis]");
if(pPreis<100 && pPreis<600)return SendClientMessage(playerid,ROT,"100-600 Einstellbar");
if(strcmp(BSystem[firmen][Biz_Besitzer],name)==0)
{
BSystem[firmen][Biz_ProduktePreis] += pPreis;
format(preisinfo, sizeof(preisinfo), "Du hast den Produkte Preis bei der Firma %s auf %d gesetzt",BSystem[firmen][Biz_Name],pPreis);
SendClientMessage(playerid,HELLGRÜN,preisinfo);
BizesSpeichern(firmen);
killBizzes(firmen);
bizzesladen();
}
else
{
SendClientMessage(playerid,ROT,"Du bist nicht der Inhaber der Firma.");
}
break;
}
return 1;
}
kann mir wehr helfen?
lg kifkat
schleife macht nur ID 0
- Kevin B.
- Geschlossen
- Erledigt
-
-
wie hast du
MAX_BIZZES
definiert??
und dasbreak;
entfernen -
so #define MAX_BIZZES 20
-
haste das break; auch rausgemacht weil dadurch bricht die schleife ab ....
-
Ehm...
if(pPreis<100 && pPreis<600)return SendClientMessage(playerid,ROT,"100-600 Einstellbar");Ist es nicht logisch, falls pPreis = 5 ist und somit < 100, dann auch < 600 sein muss?
Wohl eher so:
if(pPreis<100 || pPreis>600)return SendClientMessage(playerid,ROT,"100-600 Einstellbar"); -
Klappt leider nicht den bekomme ich bei id 0 SendClientMessage(playerid,ROT,"Du befindest dich nicht an deine Firma");
format(preisinfo, sizeof(preisinfo), "Du hast den Produkte Preis bei der Firma %s auf %d gesetzt",BSystem[firmen][Biz_Name],pPreis);und bei id 1SendClientMessage(playerid,ROT,"Du befindest dich nicht an deine Firma");
@RealGamer
das ist nicht Mein Problem und ich weis das -
Wollts nur ma erwähnen
Was mir noch auffällt:
BSystem[firmen][Biz_ProduktePreis] += pPreis;
format(preisinfo, sizeof(preisinfo), "Du hast den Produkte Preis bei der Firma %s auf %d gesetzt",BSystem[firmen][Biz_Name],pPreis);
SendClientMessage(playerid,HELLGRÜN,preisinfo);
BizesSpeichern(firmen);
killBizzes(firmen);
bizzesladen();->
BizesSpeichern(firmen);
killBizzes(firmen);
bizzesladen();In jedem Durchlauf alle Bizes entfernen und wieder laden? Welchen Sinn hat das denn...
Vllt stirbt dir der Code ja in einem dieser Publics ab.Du könntest ja ma n paar Debugmeldungen reinmachen, um zu sehen, bis wo der Code kommt.
/edit : Und das
BSystem[firmen][Biz_ProduktePreis] += pPreis;
Sicher, dass das so sein soll? Nich eher:
BSystem[firmen][Biz_ProduktePreis] = pPreis;/edit²
Bin ich blind?
if(!IsPlayerInRangeOfPoint(playerid,5,BSystem[firmen][BizX],BSystem[firmen][BizY],BSystem[firmen][BizZ]))return SendClientMessage(playerid,ROT,"Du befindest dich nicht an deine Firma");Sobald du nichtmehr an Biz 0 stehst, bricht dir der Code ja durch das "return" ab
-> Du wirst so niemals weiterkommen, außer du packts alle Bizzes an eine Pos
Mach lieber
if(!IsPlayerInRangeOfPoint(playerid,5,BSystem[firmen][BizX],BSystem[firmen][BizY],BSystem[firmen][BizZ]))continue; -
Die BizesSpeichern(firmen);
killBizzes(firmen);
bizzesladen();
hab ich beim beliefern auch Dirne und da klappt es ebenfalls
ich Debug das mal
//editja da dachte ich das das so geht aba ging auch net da hab ich das vergessen zurück zu machen
//edit
hab das jetzt so genommen if(!IsPlayerInRangeOfPoint(playerid,5,BSystem[firmen][BizX],BSystem[firmen][BizY],BSystem[firmen][BizZ]))continue;und es geht nur Ändert er den preis net -
Ich hab oben noch was reineditiert, es liegt an:
if(!IsPlayerInRangeOfPoint(playerid,5,BSystem[firmen][BizX],BSystem[firmen][BizY],BSystem[firmen][BizZ]))return SendClientMessage(playerid,ROT,"Du befindest dich nicht an deine Firma"); -
hab über dir edit
-
/edit : Und das
BSystem[firmen][Biz_ProduktePreis] += pPreis;
Sicher, dass das so sein soll? Nich eher:
BSystem[firmen][Biz_ProduktePreis] = pPreis;Ansonsten würd ich ma nachsehen, ob du vllt ein veraltetes sscanf benutzt
-
bei den Klappt das ja auch so sInfo[pID][sSpieler_fraktion] = frak;nur halt bei den nicht BSystem[firmen][Biz_ProduktePreis] = pPreis;//edit habs danke dir für die Hilfe
-
breadfish.de
Hat das Thema geschlossen.