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

Oyundan çıktığı yerde spawn olmak

Başlatan eNter, 18 Ağustos 2021, 18:20:22

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

eNter

MySQL tablolarına pos olarak X,Y,Z ve oyuncunun bakış açısını ekledim ancak bunu oyun moduna nasıl entegre edeceğim bilmiyorum. Oyun modunda AddPlayerClass yerine mysql'den veriyi nasıl çekeceğim ve kişiyi oyundan çıktığı noktaya spawn edebilirim yardımcı olacak var mı?
https://cdn.discordapp.com/attachments/838696170082533378/877572217377017906/Ekran_Goruntusu_158.png (MySQL tablosu hatam varsa söyleyin)
(Ek olarak mysql oyun moduna bağlı ve bir karakter yaratıp girilebiliyor ve yaratılan karaktere giriş yapılabiliyor.)


cha

posX, posY, posZ, posAngle bölümleri mysql tablosunda float olmalıdır.

PAWN Kodu: Seç
public OnPlayerDisconnect(playerid, reason)
{
static
Pos[4];

GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);

new query[258];

format(query, sizeof(query), "UPDATE `hesaplar` SET `posX` = '%.4f', `posY` = '%.4f', `posZ` = '%.4f', `posAngle` = '%.4f'",
Pos[0],
Pos[1],
Pos[2],
Pos[3]
);
format(query, sizeof(query), "%sWHERE `ID` = '%d'", query, PlayerData[playerid][ID]);
mysql_tquery(gtamulti, query);
return 1;
}



eNter

Dediklerinizi yaptım ve şu anda son çıkılan POS MySQL tablosuna kaydediliyor. Ancak oyuna girerken MySQL tablosundaki Pos'u nasıl çekeceğim?
Son düzenlenme: 28 Ağustos 2021, 23:40:32 eNter

squarepants

Verileri tekrar cekmek zorundasin, muhtemelen HesapYukle, LoadAccounts vb. seklinde bir gericagri olmali, o cagriyi buldugunda asagidaki sekilde verileri cekip kontrol edebilirsin:

forward HesapYukle(playerid);
public HesapYukle(playerid)
{
    new Float:pPos[4];
    //onceki kod yiginlari
    cache_get_value_name_float(0, "posX", pPos[0]);
    cache_get_value_name_float(0, "posY", pPos[1]);
    cache_get_value_name_float(0, "posZ", pPos[2]);
    cache_get_value_name_float(0, "posAngle", pPos[3]);
    SetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
    SetPlayerFacingAngle(playerid, pPos[3]);
    //sonraki kod yigini
    return 1;
}
SetPlayerPos veya SpawnPlayer fonksiyonları yerine SetSpawnInfo fonksiyonunu da kullanabilirsin.


eNter

Yardımlarınız için teşekkür ederim konu çözüldü kilitlenip arşive atılabilir.