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

Oyundan çıktığım yeri kaydetme

Başlatan ibrahimkral17, 16 Mart 2022, 06:56:03

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

ibrahimkral17

Arkadaşlar oyundan çıktıktan sonra geri girince çıktığım yerde nasıl devam ederim


mojo

OnPlayerDisconnect publici oyuncu oyundan çıktığı zaman çağırılır. Oyuncu oyundan çıktığı zaman oyuncunun pozisyonunu çekip (GetPlayerPos ile) MySQL'e kaydedeceksin. OnPlayerSpawn publici ise oyuncu spawn olduğunda çağırılır. Oyuncu spawn olduğu zamanda daha önceden kaydettiğin pozisyonlara aktarmasını (SetPlayerPos ile) sağlayacaksın.


ibrahimkral17

Alıntı yapılan: kaufman - 16 Mart 2022, 16:56:06
OnPlayerDisconnect publici oyuncu oyundan çıktığı zaman çağırılır. Oyuncu oyundan çıktığı zaman oyuncunun pozisyonunu çekip (GetPlayerPos ile) MySQL'e kaydedeceksin. OnPlayerSpawn publici ise oyuncu spawn olduğunda çağırılır. Oyuncu spawn olduğu zamanda daha önceden kaydettiğin pozisyonlara aktarmasını (SetPlayerPos ile) sağlayacaksın.
Nasıl yapacam peki


Hasan Sangrento

PAWN Kodu: Seç
public OnPlayerDisconnect(playerid) {
   new Float:X, Float:Y, Float:Z, query[128];
   GetPlayerPos(playerid, X,Y,Z);
   mysql_format(query, sizeof(query), "UPDATE table_name SET `lastX` = '%f', `lastY` = '%f', `lastZ` = '%f' ", X,Y,Z);
   mysql_tquery(ur_sql, query); // sending data in ur db..
}

Oyundan çıkış yaptığında göndermek istediğin veriyi, veritabanına gönderiyor. Veritabanında lastX, lastY, lastZ columnleri Float biçimde bulunması gerekmekte.


Eamon

Bu kodu

public OnPlayerDisconnect(playerid) {
   new Float:X, Float:Y, Float:Z, query[128];
   GetPlayerPos(playerid, X,Y,Z);
   mysql_format(query, sizeof(query), "UPDATE table_name SET `lastX` = '%f', `lastY` = '%f', `lastZ` = '%f' ", X,Y,Z);
   mysql_tquery(ur_sql, query); // sending data in ur db..
}

Bu şekilde yapmanı tavsiye ederim;

OyuncuPosKaydet(playerid)
{
    new Float:X, Float:Y, Float:Z, query[128];
   GetPlayerPos(playerid, X,Y,Z);
   mysql_format(query, sizeof(query), "UPDATE table_name SET `lastX` = '%f', `lastY` = '%f', `lastZ` = '%f' ", X,Y,Z);
   mysql_tquery(ur_sql, query); // sending data in ur db..

    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{

   OyuncuPosKaydet(playerid);

   return 1;
}


Arkadaşın attığı kodu bir fonksiyonun içerisine yerleştirip OnPlayerDisconnect callback'ine koyarsan callback'lerin daha temiz olur.
Son düzenlenme: 17 Mart 2022, 16:20:40 Eamon
Bugünün güzel zamanları, yarının üzücü düşünceleridir.

DarkKnife

Alıntı yapılan: Eamon - 17 Mart 2022, 16:19:31
Bu kodu

public OnPlayerDisconnect(playerid) {
   new Float:X, Float:Y, Float:Z, query[128];
   GetPlayerPos(playerid, X,Y,Z);
   mysql_format(query, sizeof(query), "UPDATE table_name SET `lastX` = '%f', `lastY` = '%f', `lastZ` = '%f' ", X,Y,Z);
   mysql_tquery(ur_sql, query); // sending data in ur db..
}

Bu şekilde yapmanı tavsiye ederim;

OyuncuPosKaydet(playerid)
{
    new Float:X, Float:Y, Float:Z, query[128];
   GetPlayerPos(playerid, X,Y,Z);
   mysql_format(query, sizeof(query), "UPDATE table_name SET `lastX` = '%f', `lastY` = '%f', `lastZ` = '%f' ", X,Y,Z);
   mysql_tquery(ur_sql, query); // sending data in ur db..

    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{

   OyuncuPosKaydet(playerid);

   return 1;
}


Arkadaşın attığı kodu bir fonksiyonun içerisine yerleştirip OnPlayerDisconnect callback'ine koyarsan callback'lerin daha temiz olur.
Buna benzer bir şekilde direkt geniş olarak OyuncuKaydet gibi bir kısım yaparsan senin için daha iyi olur misal oyuncu oyundan çıktığında parası skoru her şeyini daha kısa yoldan kaydetmiş olursun.


Anestezi

Alıntı yapılan:  Bölüm Kuralları
Açılan taleplerin son iletisi 10 günü geçmesi durumunda; konu kilitlenip, kilitli konular bölümüne taşınacaktır. Sorunu çözülen konularınızı kilitleyip, moderatörlere bildiriniz.

Konu kilit+arşiv