samp-streamer-plugin icon indicating copy to clipboard operation
samp-streamer-plugin copied to clipboard

EditDynamicObject Error when the dynamic object is AttachedToVehicle

Open DandyBagusPrasetyo opened this issue 4 years ago • 0 comments

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;

}

DandyBagusPrasetyo avatar Feb 21 '21 18:02 DandyBagusPrasetyo