Hey,
ich habe ein CMD geschrieben bei dem die Enum einen wert bekommen soll,
if(strcmp(cmd, "/ctanke", true) == 0)
{
new tmp[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_RED, "BENUTZUNG: /Tanke [Max. Liter(100-1000)]");
return 1;
}
new tankeid, Float:x, Float:y, Float:z, pname[MAX_PLAYER_NAME];
GetPlayerPos(playerid, x,y,z);
tankeid = strval(tmp);
if(GueltigeLiter(tankeid))
{
Tankeerstellt ++;
new id = Tankeerstellt;
GetPlayerName(playerid,pname,sizeof(pname));
tanke[id][tInt] = 0;
tanke[id][tID] = id;
tanke[id][tLiter] = tankeid;
tanke[id][tX] = x;
tanke[id][tY] = y;
tanke[id][tZ] = z;
tanke[id][tPX] = 0.000;
tanke[id][tPY] = 0.000;
tanke[id][tPZ] = 0.000;
strmid(tanke[id][tBesitzer], pname,0, sizeof(pname)-1, MAX_PLAYER_NAME);
SpeicherTanke(id);
new szString[55];
new szString2[55];
new szString3[60];
format(szString,sizeof szString,"Tankstelle erstellt ID(%d)", tanke[id][tID]);
format(szString2,sizeof szString2,"Tankstelle X: %f, Y: %f, Z: %f", x,y,z);
format(szString3,sizeof szString3,"Es wurde X: %f, Y: %f, Z: %f gespeichert", tanke[id][tX],tanke[id][tY],tanke[id][tZ]);
SendClientMessage(playerid, COLOR_RED, szString);
SendClientMessage(playerid, COLOR_RED, szString2);
SendClientMessage(playerid, COLOR_RED, szString3);
ErlaubeTankPickup[playerid] = id;
SendClientMessage(playerid, COLOR_RED,"Erstelle nun ein Tankstellen Pickup. [/ctankepickup]");
}
else
{
SendClientMessage(playerid, COLOR_RED, "Mind. 100 L - Max. 1000 L");
}
return 1;
}
das Problem ist X,Y,Z werden richtig ausgeben, bei tanke[id][tX-Z] wird aber nur 0.0000 angezeigt aber ich habe doch vorher den Wert zugewiesen :O und in der Enum sind sie auch als Float
Deklariert...