need urgent help
#1

its not saving the rotation on an object and but saving the position of object please help me
[/CODE]public OnPlayerEditDynamicObject(playerid, objectid, response, Float, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
{
new string[128], idx = gEditID[playerid];
idx = lEditID[playerid];
if(response == EDIT_RESPONSE_UPDATE)
{
SetDynamicObjectPos(objectid, x, y, z);
SetDynamicObjectRot(objectid, rx, ry, rz);
}
else if(response == EDIT_RESPONSE_CANCEL)
{
SetDynamicObjectPos(objectid, gPos[playerid][0], gPos[playerid][1], gPos[playerid][2]);
SetDynamicObjectRot(objectid, gRot[playerid][0], gRot[playerid][1], gRot[playerid][2]);
gPos[playerid][0] = 0; gPos[playerid][1] = 0; gPos[playerid][2] = 0;
gRot[playerid][0] = 0; gRot[playerid][1] = 0; gRot[playerid][2] = 0;
format(string, sizeof(string), " You have canceled editing gate ID %d.", idx);
SendClientMessage(playerid, COLOR_WHITE, string);
}
else if(response == EDIT_RESPONSE_FINAL)
{
SetDynamicObjectPos(objectid, x, y, z);
SetDynamicObjectRot(objectid, rx, ry, rz);
if(gEdit[playerid] == 1)
{
GateInfo[idx][gCX] = x;
GateInfo[idx][gCY] = y;
GateInfo[idx][gCZ] = z;
GateInfo[idx][gCRX] = rx;
GateInfo[idx][gCRY] = ry;
GateInfo[idx][gCRZ] = rz;
// if(IsValidDynamic3DTextLabel(GateInfo[idx][gText])) DestroyDynamic3DTextLabel(GateInfo[idx][gText]);
format(string, sizeof(string), "Gate ID: %d", idx);
// GateInfo[idx][gText] = CreateDynamic3DTextLabel(string, COLOR_WHITE, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], 10);
gEdit[playerid] = 0;
gEditID[playerid] = 0;
format(string, sizeof(string), " You have finished editing gate ID %d's closing position.", idx);
SendClientMessage(playerid, COLOR_WHITE, string);
GateInfo[idx][gStatus] = 0;
}
else if(gEdit[playerid] == 2)
{
GateInfo[idx][gOX] = x;
GateInfo[idx][gOY] = y;
GateInfo[idx][gOZ] = z;
GateInfo[idx][gORX] = rx;
GateInfo[idx][gORY] = ry;
GateInfo[idx][gORZ] = rz;
gEdit[playerid] = 0;
gEditID[playerid] = 0;
format(string, sizeof(string), " You have finished editing gate ID %d's opening position.", idx);
SendClientMessage(playerid, COLOR_WHITE, string);
GateInfo[idx][gStatus] = 1;
}
}
return 1;
}
stock LoadGates()
{
new dinfo[17][128];
new string[256];
new File:file = fopen("gates.cfg", io_read);
if(file)
{
new idx = 1;
while(idx < MAX_GATES)
{
fread(file, string);
splits(string, dinfo, '|');
GateInfo[idx][gModel] = strval(dinfo[0]);
GateInfo[idx][gCX] = floatstr(dinfo[1]);
GateInfo[idx][gCY] = floatstr(dinfo[2]);
GateInfo[idx][gCZ] = floatstr(dinfo[3]);
GateInfo[idx][gCRX] = floatstr(dinfo[4]);
GateInfo[idx][gCRY] = floatstr(dinfo[5]);
GateInfo[idx][gCRZ] = floatstr(dinfo[6]);
GateInfo[idx][gOX] = floatstr(dinfo[7]);
GateInfo[idx][gOY] = floatstr(dinfo[8]);
GateInfo[idx][gOZ] = floatstr(dinfo[9]);
GateInfo[idx][gORX] = floatstr(dinfo[10]);
GateInfo[idx][gORY] = floatstr(dinfo[11]);
GateInfo[idx][gORZ] = floatstr(dinfo[12]);
format(GateInfo[idx][gPassword], 256, "%s", dinfo[13]);
GateInfo[idx][gSpeed] = floatstr(dinfo[14]);
GateInfo[idx][gHID] = strval(dinfo[15]);
GateInfo[idx][gRange] = strval(dinfo[16]);
if(GateInfo[idx][gModel]) // If gate exists
{
format(string, sizeof(string), "Gate ID: %d", idx);
GateInfo[idx][gGate] = CreateDynamicObject(GateInfo[idx][gModel], GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], GateInfo[idx][gCRX], GateInfo[idx][gCRY], GateInfo[idx][gCRZ]);
// GateInfo[idx][gText] = CreateDynamic3DTextLabel(string, COLOR_WHITE, GateInfo[idx][gCX], GateInfo[idx][gCY], GateInfo[idx][gCZ], 10);
GateInfo[idx][gStatus] = 0;
}
idx++;
}
}
return 1;
}

stock SaveGates()
{
new idx = 1, File:file;
new string[256];
while(idx < MAX_GATES)
{
format(string, sizeof(string), "%d|%f|%f|%f|%f|%f|%f|%f|%f|%f|%f|%f|%f|%s|%f|%d|% d\r\n",
GateInfo[idx][gModel],
GateInfo[idx][gCX],
GateInfo[idx][gCY],
GateInfo[idx][gCZ],
GateInfo[idx][gCRX],
GateInfo[idx][gCRY],
GateInfo[idx][gCRZ],
GateInfo[idx][gOX],
GateInfo[idx][gOY],
GateInfo[idx][gOZ],
GateInfo[idx][gORX],
GateInfo[idx][gORY],
GateInfo[idx][gORZ],
GateInfo[idx][gPassword],
GateInfo[idx][gSpeed],
GateInfo[idx][gHID],
GateInfo[idx][gRange]);
GateInfo[idx][gStatus] = 0;
if(idx == 1)
{
file = fopen("gates.cfg", io_write);
}
else
{
file = fopen("gates.cfg", io_append);
}
fwrite(file, string);
fclose(file);
idx++;
}
return 1;
}[CODE]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)