GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: Kjen - 21 Mayıs 2020, 19:14:37

Başlık: Bir kaç error
Gönderen: Kjen - 21 Mayıs 2020, 19:14:37
Sıfırdan police pursuit sunucusu kodluyorum ve bir kaç hata aldım çözümünü bulamadım yardım edebilecek yiğitleri beklerim.

PAWN Kodu: Seç
C:\Users\Cyrus\Desktop\Diamond Cop Chase\gamemodes\asena.pwn(307 -- 317) : error 029: invalid expression, assumed zero
C:\Users\Cyrus\Desktop\Diamond Cop Chase\gamemodes\asena.pwn(307 -- 317) : error 001: expected token: ",", but found ";"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Kod Satırı
PAWN Kodu: Seç
OyuncuKayit(playerid)
{
if(!IsPlayerConnected(playerid))
    return 0;

new query[500];

mysql_format(cyrus, query, sizeof(query), "UPDATE `hesaplar` SET `ID` = '%d',`Isim` = '%d', `Sifre` = '%d', `Para` = '%d', `Admin` = '%d', `Olme` = '%d', `Oldurme` = '%d', `Skor` = '%d', `Token` = '%d'",
    OyuncuBilgi[playerid][ID],
    OyuncuBilgi[playerid][Isim],
    OyuncuBilgi[playerid][Sifre],
    OyuncuBilgi[playerid][Para],
    OyuncuBilgi[playerid][Admin],
    OyuncuBilgi[playerid][Olme],
    OyuncuBilgi[playerid][Oldurme],
    OyuncuBilgi[playerid][Skor],
    OyuncuBilgi[playerid][Token],
);
mysql_tquery(cyrus, query);
return 1;
}
Başlık: Ynt: Bir kaç error
Gönderen: jyonsae - 21 Mayıs 2020, 19:16:28
OyuncuBilgi[playerid][Token], kısmındaki virgülü sil

edit: where cümleciği de kullanmamışsın bilgin olsun, o fonksiyon oyuncuyu kaydetmez

PAWN Kodu: Seç
mysql_format(cyrus, query, sizeof(query), "UPDATE hesaplar SET ID = %d, Sifre = %d, Para = %d, Admin = %d, Olme = %d, `Oldurme` = '%d', `Skor` = '%d', `Token` = '%d' WHERE `Isim` = '%s'",
    OyuncuBilgi[playerid][ID],
    OyuncuBilgi[playerid][Sifre],
    OyuncuBilgi[playerid][Para],
    OyuncuBilgi[playerid][Admin],
    OyuncuBilgi[playerid][Olme],
    OyuncuBilgi[playerid][Oldurme],
    OyuncuBilgi[playerid][Skor],
    OyuncuBilgi[playerid][Token],
            GetName(playerid)
);
mysql_query(cyrus, query);

yap, oyun modunda rastgele bir yere de şunu ekle:

PAWN Kodu: Seç
stock GetName(i)
{
 new name[MAX_PLAYER_NAME];
 GetPlayerName(i, name, sizeof(name));
 return name;
}

ayrıca mysql_format() kullanırken '' veya `` kullanmana da gerek yok
Başlık: Ynt: Bir kaç error
Gönderen: EmirKarapelit - 21 Mayıs 2020, 19:29:15
PAWN Kodu: Seç
OyuncuKayit(playerid)
{
if(!IsPlayerConnected(playerid))
    return 0;

new query[500];

mysql_format(cyrus, query, sizeof(query), "UPDATE `hesaplar` SET `ID` = '%d',`Isim` = '%d', `Sifre` = '%d', `Para` = '%d', `Admin` = '%d', `Olme` = '%d', `Oldurme` = '%d', `Skor` = '%d', `Token` = '%d'",
    OyuncuBilgi[playerid][ID],
    OyuncuBilgi[playerid][Isim],
    OyuncuBilgi[playerid][Sifre],
    OyuncuBilgi[playerid][Para],
    OyuncuBilgi[playerid][Admin],
    OyuncuBilgi[playerid][Olme],
    OyuncuBilgi[playerid][Oldurme],
    OyuncuBilgi[playerid][Skor],
    OyuncuBilgi[playerid][Token]);
    mysql_tquery(cyrus, query);
return 1;
}
Başlık: Ynt: Bir kaç error
Gönderen: jyonsae - 21 Mayıs 2020, 19:44:57
Alıntı yapılan: Asher - 21 Mayıs 2020, 19:29:15
PAWN Kodu: Seç
OyuncuKayit(playerid)
{
 if(!IsPlayerConnected(playerid))
     return 0;

 new query[500];

 mysql_format(cyrus, query, sizeof(query), "UPDATE `hesaplar` SET `ID` = '%d',`Isim` = '%d', `Sifre` = '%d', `Para` = '%d', `Admin` = '%d', `Olme` = '%d', `Oldurme` = '%d', `Skor` = '%d', `Token` = '%d'",
     OyuncuBilgi[playerid][ID],
     OyuncuBilgi[playerid][Isim],
     OyuncuBilgi[playerid][Sifre],
     OyuncuBilgi[playerid][Para],
     OyuncuBilgi[playerid][Admin],
     OyuncuBilgi[playerid][Olme],
     OyuncuBilgi[playerid][Oldurme],
     OyuncuBilgi[playerid][Skor],
     OyuncuBilgi[playerid][Token]);
     mysql_tquery(cyrus, query);
 return 1;
}
bu oyuncuyu kaydetmez, benim attığımı kullan @Kjen
Başlık: Ynt: Bir kaç error
Gönderen: EmirKarapelit - 21 Mayıs 2020, 21:18:25
Alıntı yapılan: Fyunkan - 21 Mayıs 2020, 19:44:57
Alıntı yapılan: Asher - 21 Mayıs 2020, 19:29:15
PAWN Kodu: Seç
OyuncuKayit(playerid)
{
 if(!IsPlayerConnected(playerid))
     return 0;

 new query[500];

 mysql_format(cyrus, query, sizeof(query), "UPDATE `hesaplar` SET `ID` = '%d',`Isim` = '%d', `Sifre` = '%d', `Para` = '%d', `Admin` = '%d', `Olme` = '%d', `Oldurme` = '%d', `Skor` = '%d', `Token` = '%d'",
     OyuncuBilgi[playerid][ID],
     OyuncuBilgi[playerid][Isim],
     OyuncuBilgi[playerid][Sifre],
     OyuncuBilgi[playerid][Para],
     OyuncuBilgi[playerid][Admin],
     OyuncuBilgi[playerid][Olme],
     OyuncuBilgi[playerid][Oldurme],
     OyuncuBilgi[playerid][Skor],
     OyuncuBilgi[playerid][Token]);
     mysql_tquery(cyrus, query);
 return 1;
}
bu oyuncuyu kaydetmez, benim attığımı kullan @Kjen

isim ile kayıt ettiriyorsun kayıt ederken durmadan aynı ısım aynı sıfre hesap oluşucaktır ID ile daha saglıklı
Başlık: Ynt: Bir kaç error
Gönderen: Cherry - 21 Mayıs 2020, 21:29:51
PAWN Kodu: Seç
OyuncuKayit(playerid)
{
  if(!IsPlayerConnected(playerid))
      return 0;

  new query[500];

mysql_format(cyrus, query, sizeof(query), "UPDATE `hesaplar` SET `Isim` = '%d', `Sifre` = '%d', `Para` = '%d', `Admin` = '%d', `Olme` = '%d', `Oldurme` = '%d', `Skor` = '%d', `Token` = '%d' WHERE `ID` = '%d'",
    OyuncuBilgi[playerid][Isim],
    OyuncuBilgi[playerid][Sifre],
    OyuncuBilgi[playerid][Para],
    OyuncuBilgi[playerid][Admin],
    OyuncuBilgi[playerid][Olme],
    OyuncuBilgi[playerid][Oldurme],
    OyuncuBilgi[playerid][Skor],
    OyuncuBilgi[playerid][Token],
    OyuncuBilgi[playerid][ID]);
    mysql_tquery(cyrus, query);
  return 1;
}
Başlık: Ynt: Bir kaç error
Gönderen: Kjen - 22 Mayıs 2020, 00:56:20
Şimdi hangisi daha sağlıklı anlıyamadım .d
Başlık: Ynt: Bir kaç error
Gönderen: Kjen - 22 Mayıs 2020, 01:45:13
WarningleAlıntı yapılan: Asher - 21 Mayıs 2020, 21:18:25
Alıntı yapılan: Fyunkan - 21 Mayıs 2020, 19:44:57
Alıntı yapılan: Asher - 21 Mayıs 2020, 19:29:15
PAWN Kodu: Seç
OyuncuKayit(playerid)
{
 if(!IsPlayerConnected(playerid))
     return 0;

 new query[500];

 mysql_format(cyrus, query, sizeof(query), "UPDATE `hesaplar` SET `ID` = '%d',`Isim` = '%d', `Sifre` = '%d', `Para` = '%d', `Admin` = '%d', `Olme` = '%d', `Oldurme` = '%d', `Skor` = '%d', `Token` = '%d'",
     OyuncuBilgi[playerid][ID],
     OyuncuBilgi[playerid][Isim],
     OyuncuBilgi[playerid][Sifre],
     OyuncuBilgi[playerid][Para],
     OyuncuBilgi[playerid][Admin],
     OyuncuBilgi[playerid][Olme],
     OyuncuBilgi[playerid][Oldurme],
     OyuncuBilgi[playerid][Skor],
     OyuncuBilgi[playerid][Token]);
     mysql_tquery(cyrus, query);
 return 1;
}
bu oyuncuyu kaydetmez, benim attığımı kullan @Kjen

isim ile kayıt ettiriyorsun kayıt ederken durmadan aynı ısım aynı sıfre hesap oluşucaktır ID ile daha saglıklı
PAWN Kodu: Seç
     mysql_tquery(asena, query);
return 1;
bu komutlar warning verdiriyor.

PAWN Kodu: Seç
C:\Users\Cyrus\Desktop\Asena Police Pursuit\gamemodes\asena.pwn(318) : warning 217: loose indentation
C:\Users\Cyrus\Desktop\Asena Police Pursuit\gamemodes\asena.pwn(319) : warning 217: loose indentation
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Warnings.
Başlık: Ynt: Bir kaç error
Gönderen: jyonsae - 22 Mayıs 2020, 02:19:22
return 1 ve tquery satırlarının hizalı olmasını sağla, kod şemasını düzenli tut
Başlık: Ynt: Bir kaç error
Gönderen: Cherry - 22 Mayıs 2020, 02:32:11
@Kjen benim attığımı kullanmanı tavsiye ederim, ikisi arasındaki fark verileri SQLID'ye göre kayıt ediyor herhangi bir sıkıntı çıkartmaz. Ama diğer atılan kodlarda SQLID'si de update sorgusu ile güncelletilmiş.
Başlık: Ynt: Bir kaç error
Gönderen: Kjen - 22 Mayıs 2020, 03:09:16
Alıntı yapılan: Cherry - 22 Mayıs 2020, 02:32:11
@Kjen benim attığımı kullanmanı tavsiye ederim, ikisi arasındaki fark verileri SQLID'ye göre kayıt ediyor herhangi bir sıkıntı çıkartmaz. Ama diğer atılan kodlarda SQLID'si de update sorgusu ile güncelletilmiş.
Teşekkürler yaptım ancak şimdide run time error diyor? https://i.hizliresim.com/d37jJf.png
Başlık: Ynt: Bir kaç error
Gönderen: Eamon - 22 Mayıs 2020, 04:59:22
Sunucu loglarına bakabilirseniz veya paneli yukarı doğru kaldırıp yazıları inceleyebilirsin. Bilgisayarında eksik program olabilir veya modunda eksik bir şeyler olabilir. Ekrana çıkan veya loglara yansıyan hata kodlarını kopyalayıp taraycıda aratırsan genelde çözümünü bulabilirsin.
Başlık: Ynt: Bir kaç error
Gönderen: Cherry - 22 Mayıs 2020, 05:04:40
Attığım kodla alakası olduğunu düşünmüyorum son yaptığın değişikliklere bir göz at, eğer bir hata varsa crashdetect pluginini kurup hata kodlarını atabilirsin.
Başlık: Ynt: Bir kaç error
Gönderen: EmirKarapelit - 22 Mayıs 2020, 14:03:11
Alıntı yapılan: Kjen - 22 Mayıs 2020, 03:09:16
Alıntı yapılan: Cherry - 22 Mayıs 2020, 02:32:11
@Kjen benim attığımı kullanmanı tavsiye ederim, ikisi arasındaki fark verileri SQLID'ye göre kayıt ediyor herhangi bir sıkıntı çıkartmaz. Ama diğer atılan kodlarda SQLID'si de update sorgusu ile güncelletilmiş.
Teşekkürler yaptım ancak şimdide run time error diyor? https://i.hizliresim.com/d37jJf.png

Pluginlerinde failed veriyor olabilir ve c++ indiriniz,

modunuzda main() oldugunu kontrol ediniz.
Başlık: Ynt: Bir kaç error
Gönderen: Kjen - 22 Mayıs 2020, 16:52:41
Alıntı yapılan: Asher - 22 Mayıs 2020, 14:03:11
Alıntı yapılan: Kjen - 22 Mayıs 2020, 03:09:16
Alıntı yapılan: Cherry - 22 Mayıs 2020, 02:32:11
@Kjen benim attığımı kullanmanı tavsiye ederim, ikisi arasındaki fark verileri SQLID'ye göre kayıt ediyor herhangi bir sıkıntı çıkartmaz. Ama diğer atılan kodlarda SQLID'si de update sorgusu ile güncelletilmiş.
Teşekkürler yaptım ancak şimdide run time error diyor? https://i.hizliresim.com/d37jJf.png
Pluginler güncel ve hatasız main() ekli.

Pluginlerinde failed veriyor olabilir ve c++ indiriniz,

modunuzda main() oldugunu kontrol ediniz.
Pluginler güncel ve main() ekli.
Başlık: Ynt: Bir kaç error
Gönderen: Kjen - 22 Mayıs 2020, 16:53:12
Alıntı yapılan: Metafor - 22 Mayıs 2020, 04:59:22
Sunucu loglarına bakabilirseniz veya paneli yukarı doğru kaldırıp yazıları inceleyebilirsin. Bilgisayarında eksik program olabilir veya modunda eksik bir şeyler olabilir. Ekrana çıkan veya loglara yansıyan hata kodlarını kopyalayıp taraycıda aratırsan genelde çözümünü bulabilirsin.
Crashdetect indirdim ve şunları gösteriyor.
PAWN Kodu: Seç
----------
Loaded log file: "server_log.txt".
----------

SA-MP Dedicated Server
----------------------
v0.3.DL-R1, (C)2005-2018 SA-MP Team

[14:24:06] filterscripts = ""  (string)
[14:24:06]
[14:24:06] Server Plugins
[14:24:06] --------------
[14:24:06]  Loading plugin: crashdetect
[14:24:06]   CrashDetect plugin 4.19.4
[14:24:06]   Loaded.
[14:24:06]  Loading plugin: mysql
[14:24:06]  >> plugin.mysql: R40 successfully loaded.
[14:24:06]   Loaded.
[14:24:06]  Loading plugin: sscanf
[14:24:06]

[14:24:06]  ===============================

[14:24:06]       sscanf plugin loaded.     

[14:24:06]          Version:  2.8.2       

[14:24:06]    (c) 2012 Alex "Y_Less" Cole 

[14:24:06]  ===============================

[14:24:06]   Loaded.
[14:24:06]  Loading plugin: streamer
[14:24:06]

*** Streamer Plugin v2.9.4 by Incognito loaded ***

[14:24:06]   Loaded.
[14:24:06]  Loaded 4 plugins.

[14:24:06]
[14:24:06] Filterscripts
[14:24:06] ---------------
[14:24:06]   Loaded 0 filterscripts.

[14:24:06] [debug] Run time error 19: "File or function is not found"
[14:24:06] [debug]  PC_Init
[14:24:06] [debug] Run time error 19: "File or function is not found"
[14:24:06] [debug]  PC_Init
[14:24:06] Script[gamemodes/asena.amx]: Run time error 19: "File or function is not found"
[14:24:06] Number of vehicle models: 0
Başlık: Ynt: Bir kaç error
Gönderen: Kjen - 22 Mayıs 2020, 17:18:36
Bekleniyor.
Başlık: Ynt: Bir kaç error
Gönderen: Kjen - 23 Mayıs 2020, 16:37:24
Çözüldü KK.