treba mi primjer koda koji ucitava podatke iz tablica mysql
Podatke admina, org, poslova, itd
Prevuci gore ili dole za pozicioniranje
Bandit234
Poslednja aktivnost
pre 2 godine
postova
30
Kreiranih tema
10
XP
240
Pridružio se
sep. 2021
Trenutna aktivnost
Izgleda da Bandit234 trenutno ne radi ništa
Pitanje/savjet: Kako bi mogao napraviti kod za ucitavnje podataka iz data baze?
Opširnije: Govorim o ocitavanju admina,kuca,itd jer ne kontam iz drugih modova kako su ljudi to pravili
Dodatno: //
Opširnije: Govorim o ocitavanju admina,kuca,itd jer ne kontam iz drugih modova kako su ljudi to pravili
Dodatno: //
Brate nisi updato dobro plugine sve
Kad update radis updatas i plugin folder i pawno ( pod folder includes )
Kad update radis updatas i plugin folder i pawno ( pod folder includes )
Pitanje/savjet: Radim optimizaciju to jest uredjujem mod i poceo sam da koristim easyDialog
Opširnije: Da li poslije svakog dialoga koji se zavrsi to jest kad igrac unese npr sifru ili neki broj treba koristiti funkcija Dialog_Close(playerid)
Dodatno: Pitam ovo jer imam bug kod provjere lozinke nisam uslov dobro od pocetka postavio ili je upitanju easyDialog funkcija Dialog_Close(playerid)
Dio koda:
Opširnije: Da li poslije svakog dialoga koji se zavrsi to jest kad igrac unese npr sifru ili neki broj treba koristiti funkcija Dialog_Close(playerid)
Dodatno: Pitam ovo jer imam bug kod provjere lozinke nisam uslov dobro od pocetka postavio ili je upitanju easyDialog funkcija Dialog_Close(playerid)
Dio koda:
Dialog:RegLozinka(playerid, dialogid, response, listitem, inputtext[]){
if(!response){
SMTC(playerid,COLOR_WHITE,"Odustali ste od registracije, izbaceni ste sa servera!");
CancelSelectTextDraw(playerid);
return 1;
}
else{
if(strlen(inputtext) < 10 || strlen(inputtext) > 56) return Dialog_Close(playerid), Dialog_Show(playerid,RegLozinka,DIALOG_STYLE_PASSWORD,"Unesite password","Password ne smije biti duzi od 56 karaktera!","Unesi","Odustani");
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data[]");
INI_WriteString(File,"Lozinka",inputtext);
INI_WriteInt(File,"Novac",40000);
INI_WriteInt(File,"Admin",0);
INI_WriteInt(File,"Drzava",-1);
INI_WriteInt(File,"Spol",-1);
INI_WriteInt(File,"Godine",-1);
INI_WriteInt(File,"Level",1);
INI_WriteInt(File,"Exp",0);
INI_Close(File);
SMTC(playerid,COLOR_GREEN,"Unijeli ste lozinku!");
}
return 1;
}
}
Rjeseno hvala za pomoc 😄
Neznam kako da provjerim?
Problem(error/warning): [13:28:16] error #1062 while executing query "INSERT INTO `korisnici` (Ime,Lozinka) VALUES('Jasmin_Bilic', '49') ": Duplicate entry '0' for key 'PRIMARY'
Deo skripte:
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Slika/video ingame problema(obavezno ako je ingame problem): //
Deo skripte:
enum pInfo
{
SQLID,
Ime,
Lozinka,
Skin,
Level,
Respekti,
Novac,
Spol,
Godine,
Drzava
};
new PlayerInfo;
new bool:Ulogovan;
enum
{
DIALOG_REGISTER,
DIALOG_LOGIN,
DIALOG_SPOL,
DIALOG_GODINE,
DIALOG_DRZAVA
};
new MySQL:SQL;
stock GetName(playerid)
{
new name;
GetPlayerName(playerid, name,sizeof(name));
return name;
}
stock udb_hash(buf[])
{
new length=strlen(buf);
new s1 = 1;
new s2 = 0;
new n;
for (n=0; n {
s1 = (s1 + buf) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
}
main()
{
print("BosniaSQL beta je ocitan");
}
public OnGameModeInit()
{
SQL = mysql_connect(MYSQL_HOST,MYSQL_USER,"",MYSQL_DB);
if(mysql_errno(SQL) != 0 || SQL == MYSQL_INVALID_HANDLE)
{
print("Mod nije uspjesno povezan sa databazom, gasim server");
SendRconCommand("exit");
return 1;
}
print("Uspjesno povezivanje moda sa bazom");
DisableInteriorEnterExits();
ShowPlayerMarkers(false);
EnableStuntBonusForAll(false);
return 1;
}
public OnPlayerConnect(playerid)
{
PlayerInfo = -1;
Ulogovan = false;
new query;
mysql_format(SQL,query,sizeof(query),"SELECT * FROM `korisnici` WHERE `Ime` = '%e' LIMIT 1",GetName(playerid));
mysql_tquery(SQL,query,"SQL_Provjera","i",playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
PlayerInfo = -1;
Ulogovan = false;
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_LOGIN:
{
if(!response)return Kick(playerid);
if(response)
{
if(udb_hash(inputtext) == PlayerInfo)
{
if(Ulogovan == true)return SCM(playerid,COLOR_RED,"Vi ste vec ulogovani");
SetPlayerSkin(playerid, PlayerInfo);
TogglePlayerSpectating(playerid,false);
SetPlayerScore(playerid, PlayerInfo);
ResetPlayerMoney(playerid);
ResetPlayerWeapons(playerid);
OcistiChat(playerid,25);
Ulogovan = true;
SCM(playerid,COLOR_LIME,"Uspjesno ste se ulogovali");
SetSpawnInfo(playerid,0,PlayerInfo,0.0,0.0,0.0,0.0,0,0,0,0,0,0);
SpawnPlayer(playerid);
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Upisite svoju lozinku","Uloguj se","Odustani");
}
}
}
case DIALOG_REGISTER:
{
if(!response)return Kick(playerid);
if(response)
{
if(strlen(inputtext) < 10 ||strlen(inputtext) > 65)
{
SCM(playerid,COLOR_RED,"Lozinka vam je kraca od 10 ili duza od 65 karaktera!");
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registracija","Vasa lozinka moze biti samo manja 10 a ne duza od 65 ","Nasavi","Odustani");
}
PlayerInfo = udb_hash(inputtext);
new query;
mysql_format(SQL,query,sizeof(query),"INSERT INTO `korisnici` (Ime,Lozinka) VALUES('%e', '%d') ",GetName(playerid),inputtext);
mysql_tquery(SQL, query,"insertSQLID","d",playerid);
ShowPlayerDialog(playerid,DIALOG_SPOL,DIALOG_STYLE_LIST,"Spol","Musko\nZensko","Unesi","Odustani");
}
}
case DIALOG_SPOL:
{
if(!response)return Kick(playerid);
if(response)
{
switch(listitem)
{
case 0:
{
PlayerInfo = 0;
SCM(playerid,COLOR_LIME,"Vi ste musko!");
}
case 1:
{
PlayerInfo = 1;
SCM(playerid,COLOR_LIME,"Vi ste zensko!");
}
}
new query;
mysql_format(SQL,query,sizeof(query),"UPDATE `korisnici` SET `Spol` = '%d' WHERE `ID` = '%d' ",PlayerInfo,PlayerInfo);
mysql_tquery(SQL,query);
ShowPlayerDialog(playerid,DIALOG_DRZAVA,DIALOG_STYLE_LIST,"Drzava","Bih\nHrvatska\nSrbija\nCrna Gora\nMakedonija\nSlovenija\nOstalo","Unesi","Odustani");
}
}
case DIALOG_DRZAVA:
{
if(!response)return Kick(playerid);
if(response)
{
switch(listitem)
{
case 0:
{
PlayerInfo = 0;
SCM(playerid,COLOR_LIME,"Vi ste iz Bih!");
}
case 1:
{
PlayerInfo = 1;
SCM(playerid,COLOR_LIME,"Vi ste iz Hrvatska!");
}
case 2:
{
PlayerInfo = 2;
SCM(playerid,COLOR_LIME,"Vi ste iz Srbija!");
}
case 3:
{
PlayerInfo = 3;
SCM(playerid,COLOR_LIME,"Vi ste iz Crna Gora!");
}
case 4:
{
PlayerInfo = 4;
SCM(playerid,COLOR_LIME,"Vi ste iz Makedonije!");
}
case 5:
{
PlayerInfo = 5;
SCM(playerid,COLOR_LIME,"Vi ste iz Slovenija!");
}
case 6:
{
PlayerInfo = 6;
SCM(playerid,COLOR_LIME,"Vi ste iz Ostalo!");
}
}
new query;
mysql_format(SQL,query,sizeof(query),"UPDATE `korisnici` SET `Drzava` = '%d' WHERE `ID` = '%d' ",PlayerInfo,PlayerInfo);
mysql_tquery(SQL,query);
ShowPlayerDialog(playerid,DIALOG_GODINE,DIALOG_STYLE_INPUT,"Godine","Unesite vase godine!","Unesi","Odustani");
}
}
case DIALOG_GODINE:
{
new god = strval(inputtext);
if(god < 10)return ShowPlayerDialog(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT,"Unesite godine", "Godine ne mogu biti manje od 10 i vise od 65","Unesi", "Odustani");
if(god > 65)return ShowPlayerDialog(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT,"Unesite godine", "Godine ne mogu biti manje od 10 i vise od 65","Unesi", "Odustani");
PlayerInfo = god;
new query;
mysql_format(SQL,query,sizeof(query),"UPDATE `korisnici` SET `Godine` = '%d' WHERE `ID` = '%d' ",PlayerInfo,PlayerInfo);
mysql_tquery(SQL,query);
SetSpawnInfo(playerid,0,PlayerInfo,0.0,0.0,0.0,0.0,0,0,0,0,0,0);
SpawnPlayer(playerid);
Ulogovan = true;
}
}
return 1;
}
forward insertSQLID(playerid);
public insertSQLID(playerid)
{
PlayerInfo = cache_insert_id();
printf("Kreiran nalog SQLID %d IME %s",PlayerInfo,GetName(playerid));
return 1;
}
forward SQL_Provjera(playerid);
public SQL_Provjera(playerid)
{
switch(cache_num_rows())
{
case 0:
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registracija","Vasa lozinka moze biti samo manja 10 a ne duza od 65 ","Nasavi","Odustani");
}
case 1:
{
cache_get_value_name_int(0,"ID",PlayerInfo);
cache_get_value_name(0,"Ime",PlayerInfo);
cache_get_value_name_int(0,"Lozinka",PlayerInfo);
cache_get_value_name_int(0,"Spol",PlayerInfo);
cache_get_value_name_int(0,"Drzava",PlayerInfo);
cache_get_value_name_int(0,"Godine",PlayerInfo);
cache_get_value_name_int(0,"Novac",PlayerInfo);
cache_get_value_name_int(0,"Level",PlayerInfo);
cache_get_value_name_int(0,"Respekti",PlayerInfo);
cache_get_value_name_int(0,"Skin",PlayerInfo);
ShowPlayerDialog(playerid, DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Upisite svoju lozinku","Uloguj se","Odustani");
}
}
}
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
//Slika/video ingame problema(obavezno ako je ingame problem): //
Imam ja jednu dobru ideju
include sihronizacije vozila
lakse koristenje funkcija za vozila primjer za brzinu vrstu motora sirenu, paintjobove i to
include sihronizacije vozila
lakse koristenje funkcija za vozila primjer za brzinu vrstu motora sirenu, paintjobove i to
Dobra ti je ta tvoja nego pitam za ovu
https://sampwiki.blast.hk/wiki/Vehicle_Synchronization#GetVehicleSpeed
https://sampwiki.blast.hk/wiki/Vehicle_Synchronization#GetVehicleSpeed
Ok ali moze li se koristiti funkcija GetVehicleSpeed?
3
Novi Član
Nivo 3
Iskustvo
40 / 100 XP
Ukupno XP: 240
60 XP do sledećeg nivoa
6
Dostignuća
240
Ukupno XP
0
Trenutni Niz
0
Najduži Niz
Sva Dostignuća
6 / 20 otključano
🎯
Početak
Početak
Napišite 10 postova na forumu
+25 XP
⚡
Aktivni Saradnik
Aktivni Saradnik
Napišite 50 postova na forumu
+50 XP
🏅
Klub Stotina
Klub Stotina
Napišite 100 postova na forumu
+100 XP
🏆
Legenda Foruma
Legenda Foruma
Napišite 500 postova na forumu
+250 XP
👥
Vođa Diskusija
Vođa Diskusija
Kreirajte 10 tema na forumu
+50 XP
🛡️
Uzoran Građanin
Uzoran Građanin
30 dana bez ikakvih upozorenja
+40 XP
🔰
Primerni Član
Primerni Član
90 dana bez ikakvih upozorenja
+100 XP
🚩
Čuvar Zajednice
Čuvar Zajednice
Pošaljite 5 korisnih prijava
+75 XP
📅
Nedeljni Ratnik
Nedeljni Ratnik
Prijavite se 7 dana zaredom
+35 XP
🔥
Posvećeni Fan
Posvećeni Fan
Prijavite se 30 dana zaredom
+150 XP
💬
Prvi Post
Prvi Post
Napišite svoj prvi post na forumu
+10 XP
📝
Pokretač Tema
Pokretač Tema
Kreirajte svoju prvu temu
+15 XP
❤️
Poštovalac
Poštovalac
Dajte svoj prvi lajk na post
+5 XP
👍
Prvo Priznanje
Prvo Priznanje
Primite svoj prvi lajk na post
+5 XP
👤
Identitet Otkriven
Identitet Otkriven
Popunite profil sa avatarom i biografijom
+20 XP
Nedavna XP Aktivnost
+100
Otključano: Primerni Član
pre 1 nedelju
+40
Otključano: Uzoran Građanin
pre 1 nedelju
+50
Otključano: Vođa Diskusija
pre 1 nedelju
+25
Otključano: Početak
pre 1 nedelju
+15
Otključano: Pokretač Tema
pre 1 nedelju
+10
Otključano: Prvi Post
pre 1 nedelju