Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- new Float:info_ramps_on[][] = {
- {-1.125000,-5.474997,-0.300000,0.000000,0.000000,0.000000}, // Position ON
- {1.125000,-5.474997,-0.300000,0.000000,0.000000,0.000000} // Position ON
- };
- new Float:info_ramps_off[][] = {
- {-1.125000,0.150000,-0.300000,-16.200000,0.000000,0.000000}, // Position OFF
- {1.125000,0.150000,-0.300000,-16.200000,0.000000,0.000000} // Position OFF
- };
- new myobject;
- new myobject2;
- dcmd_test(playerid, params[])
- {
- #pragma unused params
- new vid = GetPlayerVehicleID(playerid);
- myobject = CreateObject(2893,0,0,-1000,0,0,0,100);
- AttachObjectToVehicle(myobject, GetPlayerVehicleID(playerid), info_ramps_off[0][0],info_ramps_off[0][1],info_ramps_off[0][2],info_ramps_off[0][3],info_ramps_off[0][4], info_ramps_off[0][5]);
- myobject2 = CreateObject(2893,0,0,-1000,0,0,0,100);
- AttachObjectToVehicle(myobject2, GetPlayerVehicleID(playerid), info_ramps_off[1][0],info_ramps_off[1][1],info_ramps_off[1][2],info_ramps_off[1][3],info_ramps_off[1][4], info_ramps_off[1][5]);
- SendClientMessage(playerid, COLOR_BLUE, "Attaché");
- MoveAttachedObject(myobject, vid, info_ramps_off[0][0],info_ramps_off[0][1],info_ramps_off[0][2],info_ramps_off[0][3],info_ramps_off[0][4], info_ramps_off[0][5], info_ramps_on[0][0],info_ramps_on[0][1],info_ramps_on[0][2],info_ramps_on[0][3],info_ramps_on[0][4], info_ramps_on[0][5], 0.2);
- MoveAttachedObject(myobject2, vid, info_ramps_off[1][0],info_ramps_off[1][1],info_ramps_off[1][2],info_ramps_off[1][3],info_ramps_off[1][4], info_ramps_off[1][5], info_ramps_on[1][0],info_ramps_on[1][1],info_ramps_on[1][2],info_ramps_on[1][3],info_ramps_on[1][4], info_ramps_on[1][5], 0.2);
- return 1;
- }
- enum e_move
- {
- actif, // 0 new , 1 move
- Float:gradualeX,
- Float:gradualeY,
- Float:gradualeZ,
- Float:gradualeRX,
- Float:gradualeRY,
- Float:gradualeRZ,
- Float:scale
- }
- new MoveInfo[100][e_move];
- forward MoveAttachedObject(oid, vid, Float:oX, Float:oY, Float:oZ, Float:orX, Float:orY, Float:orZ, Float:dX, Float:dY, Float:dZ, Float:drX, Float:drY, Float:drZ, Float:speed);
- public MoveAttachedObject(oid, vid, Float:oX, Float:oY, Float:oZ, Float:orX, Float:orY, Float:orZ, Float:dX, Float:dY, Float:dZ, Float:drX, Float:drY, Float:drZ, Float:speed)
- {
- if(!MoveInfo[oid][actif])
- {
- MoveInfo[oid][scale] = DistanceToPoint(oX, oY, oZ, dX, dY, dZ)/speed;
- printf("%f", DistanceToPoint(oX, oY, oZ, dX, dY, dZ));
- MoveInfo[oid][gradualeX] = (dX-oX)/(MoveInfo[oid][scale]);
- MoveInfo[oid][gradualeY] = (dY-oY)/(MoveInfo[oid][scale]);
- MoveInfo[oid][gradualeZ] = (dZ-oZ)/(MoveInfo[oid][scale]);
- MoveInfo[oid][gradualeRX] = (drX-orX)/(MoveInfo[oid][scale]);
- MoveInfo[oid][gradualeRY] = (drY-orY)/(MoveInfo[oid][scale]);
- MoveInfo[oid][gradualeRZ] = (drZ-orZ)/(MoveInfo[oid][scale]);
- MoveInfo[oid][actif] = 1;
- SetTimerEx("MoveAttachedObject", 100, false, "ddfffffffffffff", oid, vid, oX+MoveInfo[oid][gradualeX], oY+MoveInfo[oid][gradualeY], oZ+MoveInfo[oid][gradualeZ], orX+MoveInfo[oid][gradualeRX], orY+MoveInfo[oid][gradualeRY],orZ+ MoveInfo[oid][gradualeRZ], dX, dY, dZ, drX, drY, drZ, speed);
- }
- else if(MoveInfo[oid][actif] == 1) // update pos
- {
- if(MoveInfo[oid][scale] >0)
- {
- printf("scale : %f", MoveInfo[oid][scale]);
- MoveInfo[oid][scale]-= 1.0;
- AttachObjectToVehicle(oid, vid, oX+MoveInfo[oid][gradualeX], oY+MoveInfo[oid][gradualeY], oZ+MoveInfo[oid][gradualeZ], orX+MoveInfo[oid][gradualeRX], orY+MoveInfo[oid][gradualeRY], orZ+ MoveInfo[oid][gradualeRZ]);
- SetTimerEx("MoveAttachedObject", 100, false, "ddfffffffffffff", oid, vid, oX+MoveInfo[oid][gradualeX], oY+MoveInfo[oid][gradualeY], oZ+MoveInfo[oid][gradualeZ], orX+MoveInfo[oid][gradualeRX], orY+MoveInfo[oid][gradualeRY], orZ+ MoveInfo[oid][gradualeRZ], dX, dY, dZ, drX, drY, drZ, speed);
- }
- else if(MoveInfo[oid][scale] <= 0) // l'échelle est fini, on attache l'objet a sa position finale
- {
- AttachObjectToVehicle(oid, vid, dX, dY, dZ, drX, drY, drZ);
- MoveInfo[oid][actif] = 0;
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement