23.02.2014, 13:16
What's wrong with this?
pawn Code:
public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
{
if(!IsValidDynamicObject(objectid)) return 0;
MoveDynamicObject(objectid, x, y, z, 10.0, rx, ry, rz);
}
if(response == EDIT_RESPONSE_FINAL)
{
for(new i; i < sizeof(ObjectInfo); i++)
{
if(ObjectInfo[i][oCreated] == 0 && EditingObject[playerid] == -1)
{
new string[128];
format(string, sizeof(string), "Object ID %d saved", i);
Adminmsg(string);
ObjectInfo[i][oVW] = GetPlayerVirtualWorld(playerid);
ObjectInfo[i][oINT] = GetPlayerInterior(playerid);
ObjectInfo[i][oX] = x;
ObjectInfo[i][oY] = y;
ObjectInfo[i][oZ] = z;
ObjectInfo[i][oRX] = rx;
ObjectInfo[i][oRY] = ry;
ObjectInfo[i][oRZ] = rz;
ObjectInfo[i][oCreated] = 1;
SaveObjects();
format(string, sizeof(string), "[OBJECT CREATE] ID %d | Name %s | SAVED", i, ObjectInfo[i][oName]);
SendClientMessage(playerid, COLOR_ORANGE, string);
DestroyDynamicObject(ObjectInfo[i][oObject]);
ObjectInfo[i][oObject] = AddDynamicObject(ObjectInfo[i][oModel],ObjectInfo[i][oX],ObjectInfo[i][oY],ObjectInfo[i][oZ],ObjectInfo[i][oRX],ObjectInfo[i][oRY],ObjectInfo[i][oRZ],ObjectInfo[i][oVW],ObjectInfo[i][oINT], -1, 200.0);
if(ObjectInfo[i][oChair] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "You were charged $400 for the chair");
GivePlayerCash(playerid, -400);
}
if(ObjectInfo[i][oBed] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "You were charged $450 for the bed");
GivePlayerCash(playerid, -450);
}
if(ObjectInfo[i][oTable] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "You were charged $150 for the table");
GivePlayerCash(playerid, -150);
}
if(ObjectInfo[i][oElectronic] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "You were charged $500 for the electronics");
GivePlayerCash(playerid, -500);
}
if(ObjectInfo[i][oCabinet] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "You were charged $250 for the cabinet");
GivePlayerCash(playerid, -250);
}
if(ObjectInfo[i][oKitchen] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "You were charged $300 for the kitchen furniture");
GivePlayerCash(playerid, -300);
}
if(ObjectInfo[i][oPicture] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "You were charged $80 for the picture");
GivePlayerCash(playerid, -80);
}
if(ObjectInfo[i][oDoor] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "You were charged $200 for the door");
GivePlayerCash(playerid, -200);
}
if(ObjectInfo[i][oSafe] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "You were charged $2000 for the safe");
GivePlayerCash(playerid, -2000);
}
if(ObjectInfo[i][oBath] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "You were charged $250 for the bathroom furniture");
GivePlayerCash(playerid, -250);
}
return 1;
}
if(ObjectInfo[i][oCreated] == 1 && EditingObject[playerid] == i)
{
new string[128];
ObjectInfo[i][oVW] = GetPlayerVirtualWorld(playerid);
ObjectInfo[i][oINT] = GetPlayerInterior(playerid);
ObjectInfo[i][oX] = x;
ObjectInfo[i][oY] = y;
ObjectInfo[i][oZ] = z;
ObjectInfo[i][oRX] = rx;
ObjectInfo[i][oRY] = ry;
ObjectInfo[i][oRZ] = rz;
ObjectInfo[i][oCreated] = 1;
SaveObjects();
format(string, sizeof(string), "[OBJECT EDIT] ID %d | Name %s | SAVED", i, ObjectInfo[i][oName]);
SendClientMessage(playerid, COLOR_ORANGE, string);
DestroyDynamicObject(ObjectInfo[i][oObject]);
ObjectInfo[i][oObject] = AddDynamicObject(ObjectInfo[i][oModel],ObjectInfo[i][oX],ObjectInfo[i][oY],ObjectInfo[i][oZ],ObjectInfo[i][oRX],ObjectInfo[i][oRY],ObjectInfo[i][oRZ],ObjectInfo[i][oVW],ObjectInfo[i][oINT], -1, 200.0);
EditingObject[playerid] = -1;
return 1;
}
}
}
if(response == EDIT_RESPONSE_CANCEL)
{
for(new i; i < sizeof(ObjectInfo); i++)
{
if(ObjectInfo[i][oCreated] == 0 && EditingObject[playerid] == -1)
{
DestroyDynamicObject(ObjectInfo[i][oObject]);
SendClientMessage(playerid, COLOR_ORANGE, "[OBJECT CREATE] - Cancelled");
ObjectInfo[i][oModel] = 0;
ObjectInfo[i][oObject] = 0;
ObjectInfo[i][oChair] = 0;
ObjectInfo[i][oBed] = 0;
ObjectInfo[i][oTable] = 0;
ObjectInfo[i][oElectronic] = 0;
ObjectInfo[i][oCabinet] = 0;
ObjectInfo[i][oKitchen] = 0;
ObjectInfo[i][oPicture] = 0;
ObjectInfo[i][oDoor] = 0;
ObjectInfo[i][oSafe] = 0;
strdel(ObjectInfo[i][oName], 0, 20);
return 1;
}
if(ObjectInfo[i][oCreated] == 1 && EditingObject[playerid] == i)
{
DestroyDynamicObject(ObjectInfo[i][oObject]);
ObjectInfo[i][oObject] = AddDynamicObject(ObjectInfo[i][oModel],ObjectInfo[i][oX],ObjectInfo[i][oY],ObjectInfo[i][oZ],ObjectInfo[i][oRX],ObjectInfo[i][oRY],ObjectInfo[i][oRZ],ObjectInfo[i][oVW],ObjectInfo[i][oINT], -1, 200.0);
SendClientMessage(playerid, COLOR_ORANGE, "[OBJECT EDIT] - Cancelled");
EditingObject[playerid] = -1;
return 1;
}
}
}
return true;
}