Guten Tag Breadfishler,
Ich hab ein kleines Problem bei meinem Zollsystem und zwar übernimmt er nicht die weiteren tore, was ich damit genau meine ist
mein erstes definiertes Tor in meinem enum funktioniert ohne Probleme es schließt auch ohne Probleme nun kommt er fehler er springt nicht weiter bei den anderen toren. Was ich vllt vermute ist das er nicht bei der For schleife alle definierten tore durch geht.
Wäre sehr nett wenn eine mir helfen könnte , da ich nun mit meinem Alphabet zu ende bin.
enum :
enum zollsystem{
z_id, z_torid, Float: zollx, Float: zolly, Float: zollz, Float: zollax, Float: zollay, Float: zollaz,
Float: azollx, Float: azolly, Float: azollz, Float: azollax, Float: azollay, Float: azollaz, bool: zollvar, bool: zolllock
};
#define MAX_ZOLLE 20
new ZollInfo[MAX_ZOLLE][zollsystem] = {
{0,978,53.61148071,-1525.98864746,4.87745094,0.00000000,0.00000000,83.37002563,53.61148071,-1525.98864746,-6.87745094,0.00000000,0.00000000,83.37002563,false,false},
{1,978,55.77261353,-1539.03112793,4.95321989,0.00000000,0.50000000,79.91503906,55.77261353,-1539.03112793,-6.95321989,0.00000000,0.50000000,79.91503906,false,false},
{2,978,-981.43225098,-381.12454224,36.21669388,0.00000000,0.00000000,350.00000000,-981.43225098,-381.12454224,26.21669388,0.00000000,0.00000000,350.00000000,false,false}
nur eine Auschnitt
der command:
ocmd:zoll(playerid,params[])
{
#pragma unused params
for(new i;i<sizeof(ZollInfo);i++){
if(ZollInfo[i][zolllock] == true) return SendClientMessage(playerid,COLOR_WHITE,"Der Zoll wurde gesperrt!");
if(IsPlayerInRangeOfPoint(playerid, 4.0, ZollInfo[i][zollx], ZollInfo[i][zolly], ZollInfo[i][zollz])){
if(ZollInfo[i][zollvar] == false){
GivePlayerMoney(playerid, -100);
SendClientMessage(playerid, COLOR_GREEN, "Zollgebühr in Höhe von 100$ bezahlt | Gute Weiterfahrt!");
MoveObject(ZollInfo[i][z_id],ZollInfo[i][azollx],ZollInfo[i][azolly],ZollInfo[i][azollz], 3.5, ZollInfo[i][azollax],ZollInfo[i][azollay],ZollInfo[i][azollaz]);
ZollInfo[i][zollvar] = true;
SetTimer("closegate", 3000, 0);
}
}else{ return SendClientMessage(playerid,COLOR_WHITE,"Du bist an keinem Zoll!");}
}
return 1;
}
auch die tore werden erstellt ohne probleme
for(new i=0;i<MAX_ZOLLE;i++){
ZollInfo[i][z_id] = CreateObject(ZollInfo[i][z_torid],ZollInfo[i][zollx],ZollInfo[i][zolly],ZollInfo[i][zollz],ZollInfo[i][zollax],ZollInfo[i][zollay],ZollInfo[i][zollaz]);
}
Ich hoffe eine rkann mir helfen.
ich hab es auch bei dem command auch anderes probiert
mit
for(new i=0;i<MAX_ZOLLE;i++)
aber dort ist es das selbe und es macht auch keinen großen unterschied zu for(new i;i<sizeof(ZollInfo);i++)
/Edit
Ich habe noch etwas rum getestet und kam zu dem ergebnis das die Werte in der for schleife nicht durchgegangen werden. Sprich ich kann in
i bei der for schleife den wert 1 geben und ich kann nur das Tor mit der id 1 aufmachen
vllt bringt es was in der Problemlösung , ich selbst hab den fehler immer noch nicht gefunden.