samp-streamer-plugin
samp-streamer-plugin copied to clipboard
EditDynamicObject Error when the dynamic object is AttachedToVehicle
hi.. i need help, The pointer already showing the edit Button position in my vehicle, but, if i am try to move X,YZ or RX, RY, RZ the object still in old position and can't move?
if(dialogid == DIALOG_VEHTOY_EDIT) { if(response) { switch(listitem) { case 0: { if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { new vehicleid = GetPlayerVehicleID(playerid); foreach(new carid : PVehicles) { if(Iter_Contains(PVehicles, carid)) { if(pvData[carid][cVeh] == vehicleid) { pData[playerid][pEditVehToy] = carid; EditDynamicObject(playerid, pvData[carid][cToyObj][pData[playerid][vehtoySelected]]); InfoTD_MSG(playerid, 4000, "~b~~h~You are now editing vehicle toy."); } } } } } } } }
public OnPlayerEditDynamicObject(playerid, STREAMER_TAG_OBJECT: objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz) { if(pData[playerid][pEditVehToy] != -1) { new carid = pData[playerid][pEditVehToy]; if(response == EDIT_RESPONSE_UPDATE) { SetDynamicObjectPos(objectid, x, y, z); SetDynamicObjectRot(objectid, rx, ry, rz); } if(response == EDIT_RESPONSE_FINAL) { SetDynamicObjectPos(objectid, x, y, z); SetDynamicObjectRot(objectid, rx, ry, rz);
new Float:fx, Float:fy, Float:fz, Float:fa,
Float:ofx, Float:ofy, Float:ofz, Float:ofa, Float:ofinalx, Float:ofinaly;
GetVehiclePos(pvData[carid][cVeh], fx, fy, fz);
GetVehicleZAngle(pvData[carid][cVeh], fa);
ofx = x - fx;
ofy = y - fy;
ofz = z - fz - 0.005;
ofa = rz - fa;
ofinalx = ofx * floatcos(fa, degrees) + ofy * floatsin(fa, degrees);
ofinaly = -ofx * floatsin(fa, degrees) + ofy * floatcos(fa, degrees);
pvData[carid][cToyX][pData[playerid][vehtoySelected]] = ofinalx;
pvData[carid][cToyY][pData[playerid][vehtoySelected]] = ofinaly;
pvData[carid][cToyZ][pData[playerid][vehtoySelected]] = ofz - 0.01;
pvData[carid][cToyRX][pData[playerid][vehtoySelected]] = rx;
pvData[carid][cToyRY][pData[playerid][vehtoySelected]] = ry;
pvData[carid][cToyRZ][pData[playerid][vehtoySelected]] = ofa;
AttachedVehicleToys(carid); //Reload Dynamic Object and Re attached
Info(playerid, "You has updated vehicle toy pos!");
pData[playerid][pEditVehToy] = -1;
}
if(response == EDIT_RESPONSE_CANCEL)
{
AttachedVehicleToys(carid); //Reload Dynamic Object and Re attached
Info(playerid, "You has canceled vehicle toy pos!");
pData[playerid][pEditVehToy] = -1;
}
}
return 1;
}