GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

SetDynamicActorPos

Başlatan xentrow, 24 Aralık 2021, 01:09:44

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

xentrow

new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
Data[id][Pos][0] = x + 1;
Data[id][Pos][1] = y + 1;
Data[id][Pos][2] = z;
SetDynamicActorPos(Data[id][Actor], Data[id][Pos][0], Data[id][Pos][1], Data[id][Pos][2]);
kodunu OnPlayerUpdate kısmına ekliyorum fakat aktörü belirttiğim koordinatlarda göremiyorum.
Son düzenlenme: 24 Aralık 2021, 11:03:35 xentrow

Necip

actorID nasıl tanımlı?


xentrow

Alıntı yapılan: Necip - 24 Aralık 2021, 01:41:58
actorID nasıl tanımlı?

Data[id][Actor] = CreateDynamicActor(Data[id][Skin], Data[id][Pos][0], Data[id][Pos][1], Data[id][Pos][2], Data[id][Pos][3], 1, 100.0, Data[id][ExteriorVW], Data[id][Interior], -1, 100.00, -1, 0);


squarepants

Aşağıdaki şekilde dener misin :
new Float:x, Float:y, Float:z, acWorld = GetPlayerVirtualWorld(playerid);
GetPlayerPos(playerid, x, y, z);
Data[id][Pos][0] = x + 1;
Data[id][Pos][1] = y + 1;
Data[id][Pos][2] = z;
Data[id][ExteriorVW] = acWorld;
SetDynamicActorVirtualWorld(Data[id][Actor], acWorld);
SetDynamicActorPos(Data[id][Actor], Data[id][Pos][0], Data[id][Pos][1], Data[id][Pos][2]);


xentrow

Yine göremiyorum aktörü.


squarepants

CreateDynamicActor fonksionunu aşağıdaki şekilde düzenleyip tekrar dener misin :
Data[id][Actor] = CreateDynamicActor(Data[id][Skin], Data[id][Pos][0], Data[id][Pos][1], Data[id][Pos][2], Data[id][Pos][3], 1, 100.0, Data[id][ExteriorVW], Data[id][Interior]);
new Float:x, Float:y, Float:z, acWorld = GetPlayerVirtualWorld(playerid);
GetPlayerPos(playerid, x, y, z);
Data[id][Pos][0] = x + 1;
Data[id][Pos][1] = y + 1;
Data[id][Pos][2] = z;
Data[id][ExteriorVW] = acWorld;
SetDynamicActorVirtualWorld(Data[id][Actor], acWorld);
SetDynamicActorPos(Data[id][Actor], Data[id][Pos][0], Data[id][Pos][1], Data[id][Pos][2]);


xentrow

SetDynamicActorPos ile hala aktörü göremiyorum, koordinatlarda ve aktör oluşturmada bir sıkıntı yok. Problem ne olabilir?
Son düzenlenme: 24 Aralık 2021, 17:44:06 xentrow

xentrow

Sorun tahminimce bu:
OnPlayerUpdate çok hızlı döndüğü için aktör geç yükleniyor.
Bunu nasıl düzeltebilirim?
Son düzenlenme: 24 Aralık 2021, 18:26:41 xentrow

Spicaike

Alıntı yapılan: xentrow - 24 Aralık 2021, 18:20:33
Sorun tahminimce bu:
OnPlayerUpdate çok hızlı döndüğü için aktör geç yükleniyor.
Bunu nasıl düzeltebilirim?

https://team.sa-mp.com/wiki/SetTimer.html
https://team.sa-mp.com/wiki/SetTimerEx.html


Murat Budak

Angle değeri değiştiğinde npcnin haraket etmesi gerekiyor yoksa görünmüyor diye biliyorum


squarepants

Stream Distance (Akış Mesafesi) alanı dışına çıkıldığında aktör kimse tarafından görüntülenemiyor. İkinci bir durum ise wirtualworld = -1 parametresi pickuplarda olduğu gibi tüm sanal dünyalar arası görüntülenmeye olanak sağlamıyor. Aktörler sadece tek bir sanal dünyada oluşturulabiliyor. Bu durumda aktörü direkt olarak görmek için parametreleri doğru gir, pozisyonlarını değiştirmek için ise SetDynamicActorPos fonksiyonu yerine tekrar oluşturmayı dene. Örnek :

public OnGameModeInit()
{
        //Data[id][ExteriorVW] = 0 olarak varsayıldı. Data[id][Interior] = -1 olarak varsayıldı.
Data[id][Actor] = CreateDynamicActor(Data[id][Skin], Data[id][Pos][0], Data[id][Pos][1], Data[id][Pos][2], Data[id][Pos][3], _, _, Data[id][ExteriorVW], Data[id][Interior]);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/aktorisinla", cmdtext, true, 10) == 0)
{
            if (IsValidDynamicActor(Data[id][Actor]))
            {
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
DestroyDynamicActor(Data[id][Actor]);
Data[id][Actor] = CreateDynamicActor(0, x + 1, y + 1, z, 0, _, _, 0);
        SetDynamicActorPos(Data[id][Actor], x + 1, y + 1, z);
    }
    else { SendClientMessage(playerid, -1, "Akor Cevrimici Degil (!)"); }
    return 1;
}
        return 0;
}


Zellda

Discord yolla bakalim gece


xentrow