RE: Actor weapon - Mathews - 23/07/2022
(15/02/2021 23:36)annety Escreveu: tentei o que vc falou com:
Código: // criado-> x[-29.049873] y[-185.818634] z[1003.546875] RotX[0] RotY[0] RotZ[0]
new Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, Float:a;
GetDynamicActorPos(actorid, x, y, z);
GetDynamicActorFacingAngle(actorid, a);
GetXYFront(x, y, a, 1.0);
// movido-> x[-28.911067] y[-186.339630] z[1003.927917] rx[2.899999] ry[1.600000] rz[92.999923]
x -= -0.1388060000000024;
y += -0.5209959999999967;
z += 0.3810419999999795;
printf("x[%f] y[%f] z[%f] rx[%f] ry[%f] rz[%f]", x, y, z, rx, ry, rz);
rx = 2.899999;
ry = 1.600000;
rz = 92.999923;
DestroyDynamicObject(ActorInfo[actorid][actorGun]);
ActorInfo[actorid][actorGun] = CreateDynamicObject(GetGunObjectID(24), x, y, z, rx, ry, rz);
SetDynamicObjectPos(ActorInfo[actorid][actorGun], x, y, z);
SetDynamicObjectRot(ActorInfo[actorid][actorGun], rx, ry, rz);
por causa da arma que eu criei usando:
Código: stock GetXYFront(&Float:x, &Float:y, Float:a, Float:distance)
{
x += distance * floatsin(-a, degrees);
y += distance * floatcos(-a, degrees);
}
CMD:actorweapon(playerid, params[]) {
// http://wiki.sa-mp.com/wiki/EditAttachedObject ~ http://wiki.sa-mp.com/wiki/EditObject
if(admin[playerid] < 1337) return 0;
new actorid; // 1001 = primeiro npc
if(sscanf(params,"i", actorid)) return SendClientMessage(playerid, -1, "Use: /actorweapon [actorid]");
if(IsValidDynamicActor(actorid)) {
ApplyDynamicActorAnimation(actorid, "PED","ARRESTgun", 4.1, 0, 0, 0, 1, 0);
new Float:x, Float:y, Float:z, Float:a;
GetDynamicActorPos(actorid, x, y, z);
GetDynamicActorFacingAngle(actorid, a);
GetXYFront(x, y, a, 1.0);
new string[128];
format(string, sizeof(string), "[ACTOR POS] x[%f] y[%f] z[%f] RotX[0] RotY[0] RotZ[0] / a[%f]", x, y, z, a);
SendClientMessage(playerid, COLOR_GREY, string);
new weaponobj = CreateDynamicObject(GetGunObjectID(24), x, y, z, 0.0, 0.0, 0.0);
EditingDynamicObjectID[playerid] = weaponobj;
EditingDynamicObjectTYPE[playerid] = 3;
EditDynamicObject(playerid, EditingDynamicObjectID[playerid]);
}
return 1;
}
mas só ficou bom pro actor que eu fiz ali na hora, os outros não ficaram certos
acho que eu tenho que fazer algo com o angulo, mas eu não faço ideia de como
Tem como enviar como está o CreateDynamicObject das armas, nesses atores abaixo?
// alambra
CreateDynamicActor(bizzid, 17, 194, 501.6993,-20.4994,1000.6797,88.5219);
// pizza
CreateDynamicActor(bizzid, 5, 155, 374.7394,-117.2788,1001.4922,180.5908);
"acho que eu tenho que fazer algo com o angulo, mas eu não faço ideia de como"
Sim, com toda certeza; você só vai trabalhar com ângulo, para conseguir arrumar.
"E possível fazer um actor andar?"
ApplyActorAnimation
|