Arkadaşlar sunucum için client yaptırdım modun içinde clientsiz giriş şartları falan bulunuyor iyice inceledim fakat clientten girdiğimdede oyundana atıyor clientsiz girdiğimdede yardım eder misiniz?
OnPlayerConnect
if (!ClientKontrol(playerid) && strcmp(GetIP(playerid), "127.0.0.1") != 0)
{
HataMesajGonder(playerid, "Sunucumuza giriş yapmak için client kullanmalısınız. Forum sitemizden clienti indirebilirsiniz.");
Kick(playerid);
return 1;
}
Client Kontrol stoğu
stock ClientKontrol(playerid)
{
new query[124];
format(query, sizeof(query), "SELECT * FROM `serials` WHERE `username` = '%s'", Player_GetName(playerid));
new Cache: Radless = mysql_query(g_SQL, query);
new rows;
cache_get_row_count(rows);
if (!rows) return 0;
if (rows)
{
new onaylandi;
cache_get_value_name_int(0, "onaylandi", onaylandi);
if (onaylandi == 0) return 0;
else
{
new serial[75];
cache_get_value_name(0, "hddserial", serial, 75);
cache_delete(Radless);
format(PlayerData[playerid][pSerial], 75, serial);
return 1;
}
}
return 0;
}
SQL'i kontrol edin. Onaylandı kısmına bakın eğer 1 değilse Client'te sıkıntı vardır.
stock ClientKontrol(playerid)
{
new query[124];
format(query, sizeof(query), "SELECT * FROM `serials` WHERE `username` = '%s'", Player_GetName(playerid));
new Cache: Radless = mysql_query(g_SQL, query);
new rows;
cache_get_row_count(rows);
if (!rows) return 0;
if (rows)
{
new onaylandi;
cache_get_value_name_int(0, "onaylandi", onaylandi);
if (onaylandi == 0)
{
return 0;
}
else
{
new serial[75];
cache_get_value_name(0, "hddserial", serial, 75);
cache_delete(Radless);
format(PlayerData[playerid][pSerial], 75, serial);
return 1;
}
}
return 1;
}
deneyin birde
Alıntı yapılan: Bliss - 11 Eylül 2020, 10:42:50SQL'i kontrol edin. Onaylandı kısmına bakın eğer 1 değilse Client'te sıkıntı vardır.
SQLda onaylandı kısmı yok başka modlarıda inceledim onlardada yok, cliente ne yazmamız gerek?
Alıntı yapılan: HasanEfe - 11 Eylül 2020, 11:18:15stock ClientKontrol(playerid)
{
new query[124];
format(query, sizeof(query), "SELECT * FROM `serials` WHERE `username` = '%s'", Player_GetName(playerid));
new Cache: Radless = mysql_query(g_SQL, query);
new rows;
cache_get_row_count(rows);
if (!rows) return 0;
if (rows)
{
new onaylandi;
cache_get_value_name_int(0, "onaylandi", onaylandi);
if (onaylandi == 0)
{
return 0;
}
else
{
new serial[75];
cache_get_value_name(0, "hddserial", serial, 75);
cache_delete(Radless);
format(PlayerData[playerid][pSerial], 75, serial);
return 1;
}
}
return 1;
}
deneyin birde
Olmadı
SQL'de tabloları düzgün açın. Int Varchar ve uzunluk değerlerine dikkat edin.
Alıntı yapılan: Bliss - 11 Eylül 2020, 19:47:49SQL'de tabloları düzgün açın. Int Varchar ve uzunluk değerlerine dikkat edin.
SQLde tabloları açtım onaylandı gibi bişey göremedim, oyuncular tablosundaki sütunlara baktım inceledim ve hala bir şey bulamadım
Alıntı yapılan: Hata - 11 Eylül 2020, 21:12:35Alıntı yapılan: Bliss - 11 Eylül 2020, 19:47:49SQL'de tabloları düzgün açın. Int Varchar ve uzunluk değerlerine dikkat edin.
SQLde tabloları açtım onaylandı gibi bişey göremedim, oyuncular tablosundaki sütunlara baktım inceledim ve hala bir şey bulamadım
Tabloları atar mısınız ?
Alıntı yapılan: Bliss - 11 Eylül 2020, 22:37:32Alıntı yapılan: Hata - 11 Eylül 2020, 21:12:35Alıntı yapılan: Bliss - 11 Eylül 2020, 19:47:49SQL'de tabloları düzgün açın. Int Varchar ve uzunluk değerlerine dikkat edin.
SQLde tabloları açtım onaylandı gibi bişey göremedim, oyuncular tablosundaki sütunlara baktım inceledim ve hala bir şey bulamadım
Tabloları atar mısınız ?
SQL bu https://dosya.co/01ptq0rkl9ml/ngrp.sql.html
tablolar ise şunlar: https://hizliresim.com/6Llcyh
https://hizliresim.com/eq3mFa
Serials diye tablo oluşturmamışsınız.
Alıntı yapılan: Bliss - 12 Eylül 2020, 11:14:00Serials diye tablo oluşturmamışsınız.
şöyle bişey yaptım ama yine olmadı,
onaylandi değişkeni sql veritabanında 1 değerini alıyormu yada başka bir değer?
Alıntı yapılan: ayazbutfeyzullah - 12 Eylül 2020, 20:38:32onaylandi değişkeni sql veritabanında 1 değerini alıyormu yada başka bir değer?
Hayır
Client'in import yaptığı rowlara göre row isimlerini açmanız gerek.
Alıntı yapılan: Hata - 12 Eylül 2020, 21:13:13Alıntı yapılan: ayazbutfeyzullah - 12 Eylül 2020, 20:38:32onaylandi değişkeni sql veritabanında 1 değerini alıyormu yada başka bir değer?
Hayır
O Zaman sorun attığınız kodlarda değil, client üzerindedir.
Alıntı yapılan: ayazbutfeyzullah - 13 Eylül 2020, 12:50:04Alıntı yapılan: Hata - 12 Eylül 2020, 21:13:13Alıntı yapılan: ayazbutfeyzullah - 12 Eylül 2020, 20:38:32onaylandi değişkeni sql veritabanında 1 değerini alıyormu yada başka bir değer?
Hayır
O Zaman sorun attığınız kodlarda değil, client üzerindedir.
Clientten hiç anlamıyorum arkadaşım yaptı clienti şimdi ne yapması gerekiyor bunu düzeltmesi için?
Alıntı yapılan: Hata - 13 Eylül 2020, 18:01:42Alıntı yapılan: ayazbutfeyzullah - 13 Eylül 2020, 12:50:04Alıntı yapılan: Hata - 12 Eylül 2020, 21:13:13Alıntı yapılan: ayazbutfeyzullah - 12 Eylül 2020, 20:38:32onaylandi değişkeni sql veritabanında 1 değerini alıyormu yada başka bir değer?
Hayır
O Zaman sorun attığınız kodlarda değil, client üzerindedir.
Clientten hiç anlamıyorum arkadaşım yaptı clienti şimdi ne yapması gerekiyor bunu düzeltmesi için?
Arkadaşınız büyük ihtimalle jester ondan kaynak kodlarını isteyebilir ve arkadaşların istediklerini atabilirsin.
Sorun SQL tablolarını açmamanızda. Serials diye bir tablo oluşturup Username, onaylandı, macid, cpuid, hddserial, banned gibi sütunları açmanız gerek. (Sütunlar cliente göre değişebilir, clientin hangi sütunları kullandığına bakmanız gerek.
Alıntı yapılan: Kjen - 13 Eylül 2020, 18:30:50Alıntı yapılan: Hata - 13 Eylül 2020, 18:01:42Alıntı yapılan: ayazbutfeyzullah - 13 Eylül 2020, 12:50:04Alıntı yapılan: Hata - 12 Eylül 2020, 21:13:13Alıntı yapılan: ayazbutfeyzullah - 12 Eylül 2020, 20:38:32onaylandi değişkeni sql veritabanında 1 değerini alıyormu yada başka bir değer?
Hayır
O Zaman sorun attığınız kodlarda değil, client üzerindedir.
Clientten hiç anlamıyorum arkadaşım yaptı clienti şimdi ne yapması gerekiyor bunu düzeltmesi için?
Arkadaşınız büyük ihtimalle jester ondan kaynak kodlarını isteyebilir ve arkadaşların istediklerini atabilirsin.
Ne biliyorsun benim olduğumu ? :D
Alıntı yapılan: Bliss - 13 Eylül 2020, 18:33:29Sorun SQL tablolarını açmamanızda. Serials diye bir tablo oluşturup Username, onaylandı, macid, cpuid, hddserial, banned gibi sütunları açmanız gerek. (Sütunlar cliente göre değişebilir, clientin hangi sütunları kullandığına bakmanız gerek.
hddserial, kontrol edip giriyor bunu client'e ekleyelim eğer elinde varsa kodları ileti olarak atar mısın?
format(string, sizeof(string), "SELECT `hddserial` FROM `serials` WHERE `username` = '%s'", Name);
mysql_query(string);
if(cache_num_rows() == 0)
{
Kick(playerid);
}
Alıntı yapılan: Bliss - 13 Eylül 2020, 22:18:56format(string, sizeof(string), "SELECT `hddserial` FROM `serials` WHERE `username` = '%s'", Name);
mysql_query(string);
if(cache_num_rows() == 0)
{
Kick(playerid);
}
Client Kontrol stockunamı yoksa OnPlayerConnect'e mi koyayım bunu?
@Hera Sen bilirsin, yardım eder misin?
Alıntı yapılan: Hata - 13 Eylül 2020, 22:59:24@Hera Sen bilirsin, yardım eder misin?
Yani çok zor bir şey değil ama mantık yürütmek lazım biraz, client ile giriş yapacağı zaman insert kullanacaksın, oyuncu oyuna girdiğinde select ile kontrol edeceksin oyuncunun adına dair bir satır olup olmadığını, varsa giriş yapmasını sağlayıp çıktığında da o satırı sileceksin bu kadar.
Sorun bir yana, bu kullandığınız yöntem ile clientsiz oyuna giriş yapılabilir. İlk önce clientten oyuna giriş yap butonuna basılır, proccess killer ile client uygulaması dondurulur ve sa-mp.exe üzerinden oyuna giriş yapılabilir. Yönteminizi değiştirmenizi tavsiye ediyorum.
Alıntı yapılan: JesterTheUnbeaten - 13 Eylül 2020, 19:06:16Alıntı yapılan: Kjen - 13 Eylül 2020, 18:30:50Alıntı yapılan: Hata - 13 Eylül 2020, 18:01:42Alıntı yapılan: ayazbutfeyzullah - 13 Eylül 2020, 12:50:04Alıntı yapılan: Hata - 12 Eylül 2020, 21:13:13Alıntı yapılan: ayazbutfeyzullah - 12 Eylül 2020, 20:38:32onaylandi değişkeni sql veritabanında 1 değerini alıyormu yada başka bir değer?
Hayır
O Zaman sorun attığınız kodlarda değil, client üzerindedir.
Clientten hiç anlamıyorum arkadaşım yaptı clienti şimdi ne yapması gerekiyor bunu düzeltmesi için?
Arkadaşınız büyük ihtimalle jester ondan kaynak kodlarını isteyebilir ve arkadaşların istediklerini atabilirsin.
Ne biliyorsun benim olduğumu ? :D
Alıntı yapılan: Bliss - 13 Eylül 2020, 18:33:29Sorun SQL tablolarını açmamanızda. Serials diye bir tablo oluşturup Username, onaylandı, macid, cpuid, hddserial, banned gibi sütunları açmanız gerek. (Sütunlar cliente göre değişebilir, clientin hangi sütunları kullandığına bakmanız gerek.
hddserial, kontrol edip giriyor bunu client'e ekleyelim eğer elinde varsa kodları ileti olarak atar mısın?
Discordda developersın ayrıca clientlerle uğraştığını youtube'den biliyoruz rinayı bırakıp bu işlerle uğraşman çok güzel.
Anladığım kadarıyla sorun çözülmüş, arşive taşır mısınız
@Coiner @Synopsis