Guten Abend!
Ich bin zwar einer, der nicht schnell Aufgibt, aber nun verzweifle ich langsam! Aus meinem GF habe ich das Biz System in ein Tank System umgewandelt! Doch nun tritt ein unerwartetes Problem auf!
Oben habe ich ein folgendes enum reingemacht:
ZitatAlles anzeigen
enum tInfo
{
Float:tstellex,
Float:tstelley,
Float:tstellez,
tMessage[128],
tBesitzer[128],
tBenzin,
tDiesel,
tAutogas,
tBenzinPrice,
tDieselPrice,
tAutogasPrice
};
Dann ein forward Namens "LoadTanken"
Der public LoadTanken:
ZitatAlles anzeigen
public LoadTanken()
{
new file[64];
for(new idx = 0; idx < sizeof(TankInfo) ; idx++)
{
format(file, sizeof(file),"LARP/Tanken/%d.ini", idx);
TankInfo[idx][tstellex] = dini_Float(file,"Stelle_X");
TankInfo[idx][tstelley] = dini_Float(file,"Stelle_Y");
TankInfo[idx][tstellez] = dini_Float(file,"Stelle_Z");
strmid(TankInfo[idx][tMessage], dini_Get(file,"Message"), 0, strlen(dini_Get(file,"Message")), 255);
strmid(TankInfo[idx][tBesitzer], dini_Get(file,"Besitzer"), 0, strlen(dini_Get(file,"Besitzer")), 255);
TankInfo[idx][tBenzin] = dini_Int(file,"Benzin");
TankInfo[idx][tDiesel] = dini_Int(file,"Diesel");
TankInfo[idx][tAutogas] = dini_Int(file,"Autogas");
TankInfo[idx][tBenzinPrice] = dini_Int(file,"BenzinPrice");
TankInfo[idx][tDieselPrice] = dini_Int(file,"DieselPrice");
TankInfo[idx][tAutogasPrice] = dini_Int(file,"AutogasPrice");
}
print("[SCRIPT]: Loaded Tanken");
return 1;
}
(Bitte auf Richtigkeit überprüfen!!!)
Und bei OnGameModeInit auch LoadTanken eingefügt!
Unter OnPropUpdate:
ZitatAlles anzeigen
else if(update == 2)
{
format(file, sizeof(file),"LARP/Tanken/%d.ini",idx);
if(!dini_Exists(file))
{
dini_Create(file);
}
dini_FloatSet(file,"Stelle_X",TankInfo[idx][tstellex]);
dini_FloatSet(file,"Stelle_Y",TankInfo[idx][tstelley]);
dini_FloatSet(file,"Stelle_Z",TankInfo[idx][tstellez]);
dini_Set(file,"Message",TankInfo[idx][tMessage]);
dini_Set(file,"Besitzer",TankInfo[idx][tBesitzer]);
dini_IntSet(file,"Benzin",TankInfo[idx][tBenzin]);
dini_IntSet(file,"Diesel",TankInfo[idx][tDiesel]);
dini_IntSet(file,"Autogas",TankInfo[idx][tAutogas]);
dini_IntSet(file,"BenzinPrice",TankInfo[idx][tBenzinPrice]);
dini_IntSet(file,"DieselPrice",TankInfo[idx][tDieselPrice]);
dini_IntSet(file,"AutogasPrice",TankInfo[idx][tAutogasPrice]);
}
Und nun der Problem Befehl:
ZitatAlles anzeigen
if(strcmp(cmd, "/setdieselpreis", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 22 PlayerInfo[playerid][pLeader] == 22)
{
if(PlayerInfo[playerid][pRank] >= 2)
{
for(new i = 0; i < sizeof(TankInfo); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 5, TankInfo[tstellex], TankInfo[tstelley], TankInfo[tstellez]))
{
tmp = strtok2(cmdtext, idx);
new dieselpreis = strval(tmp);
if(dieselpreis >= 8 dieselpreis <= 1) { SendClientMessage(playerid, COLOR_GRAD1, "Der Dieselpreis kann nur zwischen 1 und 8 liegen!"); return 1; }
TankInfo[tDieselPrice] = dieselpreis;
OnPropUpdate(2, i)
OnPropTextdrawUpdate(2, i)
format(string, sizeof(string), "Der Dieselpreis von Tankstelle %s wurde auf $%d pro Liter gesetzt!",TankInfo[i][tMessage], TankInfo[i][tDieselPrice]);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
}
else
{
SendClientMessage(playerid,COLOR_GRAD1, "Du bist an keine Tankstelle!");
return 1;
}
}
}
else
{
SendClientMessage(playerid,COLOR_GRAD1, "Du kannst die Preise erst mit Rang 2 verändern!");
return 1;
}
}
else
{
SendClientMessage(playerid,COLOR_GRAD1, "Du bist kein Transportunternehmen Mitarbeiter!");
return 1;
}
}
return 1;
} [/i][/i]
[i]
Er sagt, "außer bei Tankstellen ID 0! immer, ich seie an keiner Tankstelle! Wie kommt das?
Das Kuriose ist, das er die 3D Texte alle an der richtigen Position lädt! Siehe hier:
Zitat
for(new h = 0; h < sizeof(TankInfo); h++)
{
format(PropertyString,sizeof(PropertyString),"{FFFFFF}Tankstelle {FF0000}%s\n{FFFFFF}Besitzer: {0040FF}%s\n{FFFFFF}Benzin: {01DF01}%d {FFFFFF}| Preis: {FFBF00}%d\n{FFFFFF}Diesel: {01DF01}%d{FFFFFF}| Preis: {FFBF00}%d\n{FFFFFF}Autogas: {01DF01}%d{FFFFFF}| Preis: {FFBF00}%d",TankInfo[h][tMessage],TankInfo[h][tBesitzer],TankInfo[h][tBenzin],TankInfo[h][tBenzinPrice], TankInfo[h][tDiesel],TankInfo[h][tDieselPrice], TankInfo[h][tAutogas],TankInfo[h][tAutogasPrice]);
TankLabel[h] = Create3DTextLabel(PropertyString ,0x00FF00AA,TankInfo[h][tstellex], TankInfo[h][tstelley], TankInfo[h][tstellez],30, 0, 1);
}
Das funzt alles![/i]
Schkudigung die PWN funkion funzt nicht so richtig
Wenn ihr mehr Infos braucht bitte posten!
Woran liegt das, ich hoffe, ihr könnt mir helfen!
MFG,
[i]Razor!
[/i]