09.06.2016, 01:19
Код:
FurnitureInfo[PlayerUseingFurniture[playerid]][fLiftup] = true; fEdit[playerid] = 1; EditDynamicObject(playerid, FurnitureInfo[PlayerUseingFurniture[playerid]][fObject]);
Код:
public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz) { new string[128]; if(response == EDIT_RESPONSE_UPDATE) { SetDynamicObjectPos(objectid, x, y, z); SetDynamicObjectRot(objectid, rx, ry, rz); } if(gEdit[playerid] == 1) { if(response == EDIT_RESPONSE_CANCEL) { new idx = gEditID[playerid]; 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); new idx = gEditID[playerid]; 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(fedit[playerid] == 1) { DestroyDynamic3DTextLabel(FurnitureInfo[PlayerUseingFurniture[playerid]][fText]); new Float:oldX, Float:oldY, Float:oldZ,Float:oldRotX, Float:oldRotY, Float:oldRotZ; GetDynamicObjectPos(objectid, oldX, oldY, oldZ); GetDynamicObjectRot(objectid, oldRotX, oldRotY, oldRotZ); new string[256]; format(string,sizeof(string),"Furniture ID: %d\nObject ID: %d\nPress 'Y' To Operate", FurnitureInfo[PlayerUseingFurniture[playerid]][fID], FurnitureInfo[PlayerUseingFurniture[playerid]][fObject]); if(response == EDIT_RESPONSE_FINAL) { FurnitureInfo[PlayerUseingFurniture[playerid]][fX] = x; FurnitureInfo[PlayerUseingFurniture[playerid]][fY] = y; FurnitureInfo[PlayerUseingFurniture[playerid]][fZ] = z; FurnitureInfo[PlayerUseingFurniture[playerid]][fRX] = rx; FurnitureInfo[PlayerUseingFurniture[playerid]][fRY] = ry; FurnitureInfo[PlayerUseingFurniture[playerid]][fRZ] = rz; FurnitureInfo[PlayerUseingFurniture[playerid]][fvID] = GetPlayerVirtualWorld(playerid); FurnitureInfo[PlayerUseingFurniture[playerid]][fInt] = GetPlayerInterior(playerid); SetDynamicObjectPos(objectid, x, y, z); SetDynamicObjectRot(objectid, rx, ry, rz); fEdit[playerid] = 0; FurnitureInfo[PlayerUseingFurniture[playerid]][fText] = CreateDynamic3DTextLabel(string, 0xFFFFFFFF, FurnitureInfo[PlayerUseingFurniture[playerid]][fX], FurnitureInfo[PlayerUseingFurniture[playerid]][fY], FurnitureInfo[PlayerUseingFurniture[playerid]][fZ], 20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, -1, FurnitureInfo[PlayerUseingFurniture[playerid]][fvID], FurnitureInfo[PlayerUseingFurniture[playerid]][fInt]); SaveFurniture(FurnitureInfo[PlayerUseingFurniture[playerid]][fID]); } if(response == EDIT_RESPONSE_CANCEL) { SetDynamicObjectPos(objectid, oldX, oldY, oldZ); SetDynamicObjectRot(objectid, oldRotX, oldRotY, oldRotZ); FurnitureInfo[PlayerUseingFurniture[playerid]][fX] = oldX; FurnitureInfo[PlayerUseingFurniture[playerid]][fY] = oldY; FurnitureInfo[PlayerUseingFurniture[playerid]][fZ] = oldZ; FurnitureInfo[PlayerUseingFurniture[playerid]][fRX] = oldRotX; FurnitureInfo[PlayerUseingFurniture[playerid]][fRY] = oldRotY; FurnitureInfo[PlayerUseingFurniture[playerid]][fRZ] = oldRotZ; FurnitureInfo[PlayerUseingFurniture[playerid]][fvID] = GetPlayerVirtualWorld(playerid); FurnitureInfo[PlayerUseingFurniture[playerid]][fInt] = GetPlayerInterior(playerid); FurnitureInfo[PlayerUseingFurniture[playerid]][fText] = CreateDynamic3DTextLabel(string, 0xFFFFFFFF, FurnitureInfo[PlayerUseingFurniture[playerid]][fX], FurnitureInfo[PlayerUseingFurniture[playerid]][fY], FurnitureInfo[PlayerUseingFurniture[playerid]][fZ], 20.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, -1, FurnitureInfo[PlayerUseingFurniture[playerid]][fvID], FurnitureInfo[PlayerUseingFurniture[playerid]][fInt]); } SaveFurniture(FurnitureInfo[PlayerUseingFurniture[playerid]][fID]); FurnitureInfo[PlayerUseingFurniture[playerid]][fLiftup] = false; } return 1; }