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

MySQL Kaydetme

Başlatan Kjen, 15 Mayıs 2020, 03:16:23

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Kjen

Merhabalar sıfırdan police pursuit modu yazıyorum ve MySQL'li kayıt/giriş sistemi yaptım. Ancak şifreyi yanlış yazsam bile şifre doğru diyip yönlendiriyor. Ayrıca en son çıktığım yere değil yerin altında bir yerde başlatıyor ve biraz aşağı düştükten sonra mape tekrardan atıyor. Hangi komutlar gerekli söylerseniz atarım hemen.


Kjen

PAWN Kodu: Seç
#include <a_samp>
#include <a_mysql>
#include <sscanf2>
#include <foreach>
#include <zcmd>
#include <easyDialog>

#define SQL_HOST "localhost"
#define SQL_USER "root"
#define SQL_PASS ""
#define SQL_DB "diamond"

#define SPAWN_X 1818.6089
#define SPAWN_Y     -1369.1890
#define SPAWN_Z     15.0781
#define SPAWN_A     266.2657

AntiDeAMX()
{
    new test[][] =
    {
        "Unarmed (Fist)",
        "Brass K"
    };
    #pragma unused test
}

enum oBilgi
{
ID,
Skor,
Para,
Admin
};
new OyuncuBilgi[MAX_PLAYERS][oBilgi];
new MySQL:lenard;

main()
{
}

public OnGameModeInit()
{
    AntiDeAMX();
SQL();
mysql_log(ERROR | WARNING);
SetGameModeText("Diamond  ALPHA");
return 1;
}

public OnGameModeExit()
{
foreach(new i: Player)
{
    if(IsPlayerConnected(i))
        {
            OyuncuKayit(i);
            OnPlayerDisconnect(i, 1);
        }
}
mysql_close(lenard);
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
Giris(playerid);
    TogglePlayerSpectating(playerid, true);
return 1;
}

public OnPlayerConnect(playerid)
{
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
return 1;
}

public OnPlayerSpawn(playerid)
{
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}

public OnVehicleSpawn(vehicleid)
{
return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}

public OnPlayerText(playerid, text[])
{
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}

public OnRconCommand(cmd[])
{
return 1;
}

public OnPlayerRequestSpawn(playerid)
{
return 1;
}

public OnObjectMoved(objectid)
{
return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}

public OnPlayerExitedMenu(playerid)
{
return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}

public OnPlayerUpdate(playerid)
{
return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}

Dialog:DIALOG_KAYIT(playerid, response, listitem, inputtext[])
{
    if(!response) return Kick(playerid);
    new query[200];
    if(strlen(inputtext) < 3) return Dialog_Show(playerid, DIALOG_KAYIT, DIALOG_STYLE_PASSWORD, "Diamond Police Pursuit", "Hoş geldin, %s.\nKayıt olmak için şifre belirle:", "İleri", "", isim(playerid));
    mysql_format(lenard, query, sizeof(query), "INSERT INTO `hesaplar` (Isim, Sifre) VALUES ('%s', '%s')", isim(playerid), inputtext);
    mysql_tquery(lenard, query, "Kayit", "d", playerid);
    return 1;
}

Dialog:DIALOG_GIRIS(playerid, response, listitem, inputtext[])
{
    if(!response) return Kick(playerid);
    new query[128];
    mysql_format(lenard, query, sizeof(query), "SELECT Sifre, ID FROM hesaplar WHERE Isim = '%s' LIMIT 0, 1", isim(playerid));
    mysql_tquery(lenard, query, "VeriYukle", "d", playerid);
    return 1;
}

isim(playerid, underscore=1)
{
static
    name[MAX_PLAYER_NAME + 1];

GetPlayerName(playerid, name, sizeof(name));

if (!underscore) {
    for (new i = 0, len = strlen(name); i < len; i ++) {
        if (name[i] == '_') name[i] = ' ';
}
}

return name;
}

SQL()
{
lenard = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS, SQL_DB);
if(mysql_errno(lenard) == 0)
{
print("[Diamond] MySQL baglantisi basarili!");
}
else
{
print("[Diamond] MySQL baglantisi basarisiz!");
}
}

OyuncuKayit(playerid)
{
if(!IsPlayerConnected(playerid))
    return 0;

new query[500];

mysql_format(lenard, query, sizeof(query), "UPDATE `hesaplar` SET `ID` = '%d', `Skor` = '%d', `Para` = '%d', `Admin` = '%d'",
    OyuncuBilgi[playerid][ID],
    OyuncuBilgi[playerid][Skor],
OyuncuBilgi[playerid][Para],
  OyuncuBilgi[playerid][Admin]
);
mysql_tquery(lenard, query);
return 1;
}


Giris(playerid)
{
    new query[128];
    format(query, sizeof(query), "SELECT * FROM `hesaplar` WHERE Isim = '%s'", isim(playerid));
    mysql_tquery(lenard, query, "HesapKontrol", "d", playerid);
}

forward HesapKontrol(playerid);
public HesapKontrol(playerid)
{
new rows;
cache_get_row_count(rows);
if(!rows)
{
Dialog_Show(playerid, DIALOG_KAYIT, DIALOG_STYLE_PASSWORD, "Diamond Police Pursuit", "Hoş geldin, %s.\nKayıt olmak için şifre belirle:", "İleri", "", isim(playerid));
SendClientMessage(playerid, -1, "{FF0000}[!]:{FFFFFF} Başarıyla kayıt oldunuz!");
}
else
{
    Dialog_Show(playerid, DIALOG_GIRIS, DIALOG_STYLE_PASSWORD, "Diamond Police Pursuit", "Hoş geldin, %s.\nŞifrenizi girin:", "İleri", "", isim(playerid));
}
return 1;
}

forward Kayit(playerid);
public Kayit(playerid)
{
    OyuncuBilgi[playerid][ID] = cache_insert_id();
    TogglePlayerSpectating(playerid, false);
    SetSpawnInfo(playerid, 0, 299, SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A, 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid);
return 1;
}

forward VeriYukle(playerid);
public VeriYukle(playerid)
{
new rows;
cache_get_row_count(rows);
if(rows)
{
      TogglePlayerSpectating(playerid, false);
      cache_get_value_name_int(0, "ID", OyuncuBilgi[playerid][ID]);
      cache_get_value_name_int(0, "Skor", OyuncuBilgi[playerid][Skor]);
      cache_get_value_name_int(0, "Para", OyuncuBilgi[playerid][Para]);
      cache_get_value_name_int(0, "Admin", OyuncuBilgi[playerid][Admin]);

    SetPlayerScore(playerid, OyuncuBilgi[playerid][Skor]);
    GivePlayerMoney(playerid, OyuncuBilgi[playerid][Para]);

    SendClientMessage(playerid, -1, "{AFAFAF}[!]:{FFFFFF} Başarıyla giriş yaptınız.");
    SetSpawnInfo(playerid, 0, 299, SPAWN_X, SPAWN_Y, SPAWN_Z, SPAWN_A, 0, 0, 0, 0, 0, 0);
}
else
{
    SendClientMessage(playerid, -1, "{FF0000}[!]:{FFFFFF} Hatalı şifre girdiniz!");
    Kick(playerid);
}
return 1;
}


furkaen


Enkei

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.

K/A.