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.)
posX, posY, posZ, posAngle bölümleri mysql tablosunda float olmalıdır.
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;
}
Dediklerinizi yaptım ve şu anda son çıkılan POS MySQL tablosuna kaydediliyor. Ancak oyuna girerken MySQL tablosundaki Pos'u nasıl çekeceğim?
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 (https://sampwiki.blast.hk/wiki/SetSpawnInfo) fonksiyonunu da kullanabilirsin.
Yardımlarınız için teşekkür ederim konu çözüldü kilitlenip arşive atılabilir.