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

Spec çalışmıyor

Başlatan Rosen, 07 Temmuz 2021, 22:03:50

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Rosen

Merhabalar, sıfırdan yazdığımız modda spec sistemini defalarca değiştirdik, başka modlardaki spec sistemlerini denedik ancak hiç biri çalışmadı.
PlayerSpectatePlayer çağırılıyor ancak komutu uygulayan kişinin statesi PLAYER_STATE_SPECTATE olmuyor. Bu konuda yardımcı olursanız sevinirim.


TAKTAK26

Modunuzda 0 indeks üzerinde bir şey var mı?

Örnek;

PAWN Kodu: Seç
Degisken[playerid] = 0;
ya da şöyle bir şey var mı?

PAWN Kodu: Seç
TogglePlayerSpectating(playerid, 0);

Platformda Sevdiğim İnsanlar Bu Alttakiler Adamın Dibi!

Enkei ❤️( Senin Yerin Hep Ayrı Merak Etme :DD )

Backup ❤️( Adamın Löpçüğü )

Radless ❤️( Kral Ya )

Code ❤️( Old Friend )

AssayerHero ❤️( Dinozor Devrinden Kalma Dostum )

Rodeiun

Alıntı yapılan: TAKTAK26 - 07 Temmuz 2021, 22:58:14
Modunuzda 0 indeks üzerinde bir şey var mı?

Örnek;

PAWN Kodu: Seç
Degisken[playerid] = 0;
ya da şöyle bir şey var mı?

PAWN Kodu: Seç
TogglePlayerSpectating(playerid, 0);

PlayerData[playerid][pSpec] = userid;
InteriorDuzenle(playerid, GetPlayerInterior(userid));
VWDuzenle(playerid, GetPlayerVirtualWorld(userid));
TogglePlayerSpectating(playerid, 1);
if(IsPlayerInAnyVehicle(userid)) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(userid));
if(!IsPlayerInAnyVehicle(userid)) PlayerSpectatePlayer(playerid, userid);


Kjen

PAWN Kodu: Seç
PlayerData[playerid][pSpec] = userid;
InteriorDuzenle(playerid, GetPlayerInterior(userid));
VWDuzenle(playerid, GetPlayerVirtualWorld(userid));
TogglePlayerSpectating(playerid, 1);
if(IsPlayerInAnyVehicle(id))
{
    PlayerSpectateVehicle(playerid, GetPlayerVehicleID(id));
}
else
{
    PlayerSpectatePlayer(playerid, id);
}
İlk if tanımınız doğru ancak ikinci tanımınız yanlış birde bunu deneyin.
Son düzenlenme: 10 Temmuz 2021, 23:05:37 Kjen

Rodeiun

Alıntı yapılan: Kjen - 10 Temmuz 2021, 23:01:03
PAWN Kodu: Seç
PlayerData[playerid][pSpec] = userid;
InteriorDuzenle(playerid, GetPlayerInterior(userid));
VWDuzenle(playerid, GetPlayerVirtualWorld(userid));
TogglePlayerSpectating(playerid, 1);
if(IsPlayerInAnyVehicle(id))
{
    PlayerSpectateVehicle(playerid, GetPlayerVehicleID(id));
}
else
{
    PlayerSpectatePlayer(playerid, id);
}
İlk if tanımınız doğru ancak ikinci tanımınız yanlış birde bunu deneyin.

Bununla bir alakası olacağını sanmıyorum çünki direkt olarak:
PAWN Kodu: Seç
PlayerData[playerid][pSpec] = userid;
InteriorDuzenle(playerid, GetPlayerInterior(userid));
VWDuzenle(playerid, GetPlayerVirtualWorld(userid));
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, userid);
şeklinde denemiştim.


Kjen

Alıntı yapılan: AloneWarrioR - 11 Temmuz 2021, 11:40:31
Alıntı yapılan: Kjen - 10 Temmuz 2021, 23:01:03
PAWN Kodu: Seç
PlayerData[playerid][pSpec] = userid;
InteriorDuzenle(playerid, GetPlayerInterior(userid));
VWDuzenle(playerid, GetPlayerVirtualWorld(userid));
TogglePlayerSpectating(playerid, 1);
if(IsPlayerInAnyVehicle(id))
{
    PlayerSpectateVehicle(playerid, GetPlayerVehicleID(id));
}
else
{
    PlayerSpectatePlayer(playerid, id);
}
İlk if tanımınız doğru ancak ikinci tanımınız yanlış birde bunu deneyin.

Bununla bir alakası olacağını sanmıyorum çünki direkt olarak:
PAWN Kodu: Seç
PlayerData[playerid][pSpec] = userid;
InteriorDuzenle(playerid, GetPlayerInterior(userid));
VWDuzenle(playerid, GetPlayerVirtualWorld(userid));
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, userid);
şeklinde denemiştim.
Yani kişi araçtayken bile aracı değil kişiyi specletmeye çalıştınız öylemi?  :kahkaha2:


Kjen

PAWN Kodu: Seç
CMD:getplayerstate(playerid, params[])
{
    new id;
    if(sscanf(params, "u", id)) return SendClientMessage(playerid, "/getplayerstate [ID]");
    if(GetPlayerState(id) != PLAYER_STATE_NONE)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_NONE");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ONFOOT)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ONFOOT");
    }
else if(GetPlayerState(id) != PLAYER_STATE_DRIVER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_DRIVER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_PASSENGER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_PASSENGER");
    }
else if(GetPlayerState(id) != PLAYER_STATE_EXIT_VEHICLE)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_EXIT_VEHICLE");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ENTER_VEHICLE_DRIVER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ENTER_VEHICLE_DRIVER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ENTER_VEHICLE_PASSENGER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ENTER_VEHICLE_PASSENGER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_WASTED)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_WASTED");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_SPAWNED");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_SPECTATING)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_SPECTATING");
    }
    return 1;
}
Üstte verdiğim spec'i ekleyip ardından bu komutu ekledikten sonra spece geçip test ediniz ve gerçekten SPECTATING durumuna geçmiyorsa...
Son düzenlenme: 11 Temmuz 2021, 16:31:13 Kjen

Hata

Alıntı yapılan: Kjen - 11 Temmuz 2021, 16:26:11
PAWN Kodu: Seç
CMD:getplayerstate(playerid, params[])
{
    new id;
    if(sscanf(params, "u", id)) return SendClientMessage(playerid, "/getplayerstate [ID]");
    if(GetPlayerState(id) != PLAYER_STATE_NONE)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_NONE");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ONFOOT)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ONFOOT");
    }
else if(GetPlayerState(id) != PLAYER_STATE_DRIVER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_DRIVER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_PASSENGER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_PASSENGER");
    }
else if(GetPlayerState(id) != PLAYER_STATE_EXIT_VEHICLE)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_EXIT_VEHICLE");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ENTER_VEHICLE_DRIVER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ENTER_VEHICLE_DRIVER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ENTER_VEHICLE_PASSENGER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ENTER_VEHICLE_PASSENGER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_WASTED)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_WASTED");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_SPAWNED");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_SPECTATING)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_SPECTATING");
    }
    return 1;
}
Üstte verdiğim spec'i ekleyip ardından bu komutu ekledikten sonra spece geçip test ediniz ve gerçekten SPECTATING durumuna geçmiyorsa...
if(GetPlayerState(id) != PLAYER_STATE_NONE) yaparsan eşit değil ise olur, if(GetPlayerState(id) == PLAYER_STATE_NONE) gibi olmalı


Rodeiun

Alıntı yapılan: Kjen - 11 Temmuz 2021, 16:03:37
Alıntı yapılan: AloneWarrioR - 11 Temmuz 2021, 11:40:31
Alıntı yapılan: Kjen - 10 Temmuz 2021, 23:01:03
PAWN Kodu: Seç
PlayerData[playerid][pSpec] = userid;
InteriorDuzenle(playerid, GetPlayerInterior(userid));
VWDuzenle(playerid, GetPlayerVirtualWorld(userid));
TogglePlayerSpectating(playerid, 1);
if(IsPlayerInAnyVehicle(id))
{
    PlayerSpectateVehicle(playerid, GetPlayerVehicleID(id));
}
else
{
    PlayerSpectatePlayer(playerid, id);
}
İlk if tanımınız doğru ancak ikinci tanımınız yanlış birde bunu deneyin.

Bununla bir alakası olacağını sanmıyorum çünki direkt olarak:
PAWN Kodu: Seç
PlayerData[playerid][pSpec] = userid;
InteriorDuzenle(playerid, GetPlayerInterior(userid));
VWDuzenle(playerid, GetPlayerVirtualWorld(userid));
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, userid);
şeklinde denemiştim.
Yani kişi araçtayken bile aracı değil kişiyi specletmeye çalıştınız öylemi?  :kahkaha2:

Hayır, test amaçlı onfoot olan birine denediğimde olmuyordu.

Alıntı yapılan: Kjen - 11 Temmuz 2021, 16:26:11
PAWN Kodu: Seç
CMD:getplayerstate(playerid, params[])
{
    new id;
    if(sscanf(params, "u", id)) return SendClientMessage(playerid, "/getplayerstate [ID]");
    if(GetPlayerState(id) != PLAYER_STATE_NONE)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_NONE");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ONFOOT)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ONFOOT");
    }
else if(GetPlayerState(id) != PLAYER_STATE_DRIVER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_DRIVER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_PASSENGER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_PASSENGER");
    }
else if(GetPlayerState(id) != PLAYER_STATE_EXIT_VEHICLE)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_EXIT_VEHICLE");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ENTER_VEHICLE_DRIVER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ENTER_VEHICLE_DRIVER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ENTER_VEHICLE_PASSENGER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ENTER_VEHICLE_PASSENGER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_WASTED)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_WASTED");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_SPAWNED");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_SPECTATING)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_SPECTATING");
    }
    return 1;
}
Üstte verdiğim spec'i ekleyip ardından bu komutu ekledikten sonra spece geçip test ediniz ve gerçekten SPECTATING durumuna geçmiyorsa...

Bunu zaten debug olarak denemiştim, PLAYER_STATE_SPECTATİNGE GEÇMİYOR


SpawN1

Alıntı yapılan: AloneWarrioR - 12 Temmuz 2021, 12:12:26
Alıntı yapılan: Kjen - 11 Temmuz 2021, 16:03:37
Alıntı yapılan: AloneWarrioR - 11 Temmuz 2021, 11:40:31
Alıntı yapılan: Kjen - 10 Temmuz 2021, 23:01:03
PAWN Kodu: Seç
PlayerData[playerid][pSpec] = userid;
InteriorDuzenle(playerid, GetPlayerInterior(userid));
VWDuzenle(playerid, GetPlayerVirtualWorld(userid));
TogglePlayerSpectating(playerid, 1);
if(IsPlayerInAnyVehicle(id))
{
    PlayerSpectateVehicle(playerid, GetPlayerVehicleID(id));
}
else
{
    PlayerSpectatePlayer(playerid, id);
}
İlk if tanımınız doğru ancak ikinci tanımınız yanlış birde bunu deneyin.

Bununla bir alakası olacağını sanmıyorum çünki direkt olarak:
PAWN Kodu: Seç
PlayerData[playerid][pSpec] = userid;
InteriorDuzenle(playerid, GetPlayerInterior(userid));
VWDuzenle(playerid, GetPlayerVirtualWorld(userid));
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, userid);
şeklinde denemiştim.
Yani kişi araçtayken bile aracı değil kişiyi specletmeye çalıştınız öylemi?  :kahkaha2:

Hayır, test amaçlı onfoot olan birine denediğimde olmuyordu.

Alıntı yapılan: Kjen - 11 Temmuz 2021, 16:26:11
PAWN Kodu: Seç
CMD:getplayerstate(playerid, params[])
{
    new id;
    if(sscanf(params, "u", id)) return SendClientMessage(playerid, "/getplayerstate [ID]");
    if(GetPlayerState(id) != PLAYER_STATE_NONE)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_NONE");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ONFOOT)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ONFOOT");
    }
else if(GetPlayerState(id) != PLAYER_STATE_DRIVER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_DRIVER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_PASSENGER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_PASSENGER");
    }
else if(GetPlayerState(id) != PLAYER_STATE_EXIT_VEHICLE)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_EXIT_VEHICLE");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ENTER_VEHICLE_DRIVER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ENTER_VEHICLE_DRIVER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ENTER_VEHICLE_PASSENGER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ENTER_VEHICLE_PASSENGER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_WASTED)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_WASTED");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_SPAWNED");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_SPECTATING)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_SPECTATING");
    }
    return 1;
}
Üstte verdiğim spec'i ekleyip ardından bu komutu ekledikten sonra spece geçip test ediniz ve gerçekten SPECTATING durumuna geçmiyorsa...

Bunu zaten debug olarak denemiştim, PLAYER_STATE_SPECTATİNGE GEÇMİYOR
Pawn.Raknet kütüphanesini kullanıyor musunuz?


Rodeiun

Alıntı yapılan: SpawN1 - 12 Temmuz 2021, 13:57:18
Alıntı yapılan: AloneWarrioR - 12 Temmuz 2021, 12:12:26
Alıntı yapılan: Kjen - 11 Temmuz 2021, 16:03:37
Alıntı yapılan: AloneWarrioR - 11 Temmuz 2021, 11:40:31
Alıntı yapılan: Kjen - 10 Temmuz 2021, 23:01:03
PAWN Kodu: Seç
PlayerData[playerid][pSpec] = userid;
InteriorDuzenle(playerid, GetPlayerInterior(userid));
VWDuzenle(playerid, GetPlayerVirtualWorld(userid));
TogglePlayerSpectating(playerid, 1);
if(IsPlayerInAnyVehicle(id))
{
    PlayerSpectateVehicle(playerid, GetPlayerVehicleID(id));
}
else
{
    PlayerSpectatePlayer(playerid, id);
}
İlk if tanımınız doğru ancak ikinci tanımınız yanlış birde bunu deneyin.

Bununla bir alakası olacağını sanmıyorum çünki direkt olarak:
PAWN Kodu: Seç
PlayerData[playerid][pSpec] = userid;
InteriorDuzenle(playerid, GetPlayerInterior(userid));
VWDuzenle(playerid, GetPlayerVirtualWorld(userid));
TogglePlayerSpectating(playerid, 1);
PlayerSpectatePlayer(playerid, userid);
şeklinde denemiştim.
Yani kişi araçtayken bile aracı değil kişiyi specletmeye çalıştınız öylemi?  :kahkaha2:

Hayır, test amaçlı onfoot olan birine denediğimde olmuyordu.

Alıntı yapılan: Kjen - 11 Temmuz 2021, 16:26:11
PAWN Kodu: Seç
CMD:getplayerstate(playerid, params[])
{
    new id;
    if(sscanf(params, "u", id)) return SendClientMessage(playerid, "/getplayerstate [ID]");
    if(GetPlayerState(id) != PLAYER_STATE_NONE)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_NONE");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ONFOOT)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ONFOOT");
    }
else if(GetPlayerState(id) != PLAYER_STATE_DRIVER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_DRIVER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_PASSENGER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_PASSENGER");
    }
else if(GetPlayerState(id) != PLAYER_STATE_EXIT_VEHICLE)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_EXIT_VEHICLE");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ENTER_VEHICLE_DRIVER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ENTER_VEHICLE_DRIVER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_ENTER_VEHICLE_PASSENGER)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_ENTER_VEHICLE_PASSENGER");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_WASTED)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_WASTED");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_SPAWNED");
    }
    else if(GetPlayerState(id) != PLAYER_STATE_SPECTATING)
    {
        SendClientMessage(playerid, "Kişinin durumu PLAYER_STATE_SPECTATING");
    }
    return 1;
}
Üstte verdiğim spec'i ekleyip ardından bu komutu ekledikten sonra spece geçip test ediniz ve gerçekten SPECTATING durumuna geçmiyorsa...

Bunu zaten debug olarak denemiştim, PLAYER_STATE_SPECTATİNGE GEÇMİYOR
Pawn.Raknet kütüphanesini kullanıyor musunuz?

evet anticheat amaçlı kullanıyoruz


Rodeiun

Pawn.Raknet includesini devre dışı bırakıp denedim, sorun ortadan kalkmadı.


Rodeiun

Spec attığımızda spectate 9 (PLAYER_STATE_SPECTATING) gösteriyor ama spec yok. (Toggleplayerspectating de bence sorun)


SpawN1

Alıntı yapılan: AloneWarrioR - 12 Temmuz 2021, 14:53:26
Pawn.Raknet includesini devre dışı bırakıp denedim, sorun ortadan kalkmadı.

Hayır öyle birşey demek istemedim, Link Bu linkten SpectatingSync Paketine printf("Oyuncu birini izliyor."); Yazarsanız packetin çalışıp çalışmadığını öğrenebilirsiniz, kendiniz bir spec yapabilirsiniz örnek:


PAWN Kodu: Seç
CMD:spec(playerid, params[])
{
new
Float:camX,
Float:camY,
Float:camZ,
Float:vecX,
Float:vecY,
id,
Float:vecZ;

if(sscanf(params, "u", id)) return SendClientMessage(playerid, 0xFF0000FF, "/spec [ID]");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000FF, "İzlemek istediğin oyuncu sunucuya bağlı değil.");
if(!IsPlayerSpawned(id)) return SendClientMessage(playerid, 0xFF0000FF, "Bu oyuncu spawn olmamış.");
if(id == playerid) return SendClientMessage(playerid, 0xFF0000FF, "Kendini izleyemezsin.");

GetPlayerCameraPos(id, camX, camY, camZ);
GetPlayerCameraFrontVector(id, vecX, vecY, vecZ);

SetPlayerCameraPos(playerid, camX, camY, camZ);
SetPlayerCameraLookAt(playerid, camX+vecX, camY+vecY, camZ+vecZ);

return 1;
}

Küçük birşey yazdım OnPlayerUpdate ile geliştirip oyuncu haraket ettiğinde sizin kameranız da haraket edebilir teşekkürler.


Rodeiun

Alıntı yapılan: SpawN1 - 12 Temmuz 2021, 16:12:35
Alıntı yapılan: AloneWarrioR - 12 Temmuz 2021, 14:53:26
Pawn.Raknet includesini devre dışı bırakıp denedim, sorun ortadan kalkmadı.

Hayır öyle birşey demek istemedim, Link Bu linkten SpectatingSync Paketine printf("Oyuncu birini izliyor."); Yazarsanız packetin çalışıp çalışmadığını öğrenebilirsiniz, kendiniz bir spec yapabilirsiniz örnek:


PAWN Kodu: Seç
CMD:spec(playerid, params[])
{
new
Float:camX,
Float:camY,
Float:camZ,
Float:vecX,
Float:vecY,
id,
Float:vecZ;

if(sscanf(params, "u", id)) return SendClientMessage(playerid, 0xFF0000FF, "/spec [ID]");
if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, 0xFF0000FF, "İzlemek istediğin oyuncu sunucuya bağlı değil.");
if(!IsPlayerSpawned(id)) return SendClientMessage(playerid, 0xFF0000FF, "Bu oyuncu spawn olmamış.");
if(id == playerid) return SendClientMessage(playerid, 0xFF0000FF, "Kendini izleyemezsin.");

GetPlayerCameraPos(id, camX, camY, camZ);
GetPlayerCameraFrontVector(id, vecX, vecY, vecZ);

SetPlayerCameraPos(playerid, camX, camY, camZ);
SetPlayerCameraLookAt(playerid, camX+vecX, camY+vecY, camZ+vecZ);

return 1;
}

Küçük birşey yazdım OnPlayerUpdate ile geliştirip oyuncu haraket ettiğinde sizin kameranız da haraket edebilir teşekkürler.

bunu kullanıyorum şuanlık