Sıfırdan police pursuit sunucusu kodluyorum ve bir kaç hata aldım çözümünü bulamadım yardım edebilecek yiğitleri beklerim.
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ı
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;
}
OyuncuBilgi[playerid][Token], kısmındaki virgülü sil
edit: where cümleciği de kullanmamışsın bilgin olsun, o fonksiyon oyuncuyu kaydetmez
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:
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
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;
}
Alıntı yapılan: Asher - 21 Mayıs 2020, 19:29:15OyuncuKayit(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
Alıntı yapılan: Fyunkan - 21 Mayıs 2020, 19:44:57Alıntı yapılan: Asher - 21 Mayıs 2020, 19:29:15OyuncuKayit(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ı
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;
}
Şimdi hangisi daha sağlıklı anlıyamadım .d
Warningle
Alıntı yapılan: Asher - 21 Mayıs 2020, 21:18:25Alıntı yapılan: Fyunkan - 21 Mayıs 2020, 19:44:57Alıntı yapılan: Asher - 21 Mayıs 2020, 19:29:15OyuncuKayit(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ı
mysql_tquery(asena, query);
return 1; bu komutlar warning verdiriyor.
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.
return 1 ve tquery satırlarının hizalı olmasını sağla, kod şemasını düzenli tut
@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ş.
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
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.
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.
Alıntı yapılan: Kjen - 22 Mayıs 2020, 03:09:16Alı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.
Alıntı yapılan: Asher - 22 Mayıs 2020, 14:03:11Alıntı yapılan: Kjen - 22 Mayıs 2020, 03:09:16Alı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.
Alıntı yapılan: Metafor - 22 Mayıs 2020, 04:59:22Sunucu 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.
----------
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
Bekleniyor.
Çözüldü KK.