Započeo Paul Castellano
•8. Feb. 2018.MySQL + Dialog
1,034
pregleda
13
postova
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosAktivan Član
7 / 250 XP
Početnik(0)
535
Postovi:
50
Teme:
Pridružio se:Nov. 2013
8. Feb. 2018.
Detaljan opis problema:
Pozdrav svima,
Želim napraviti da igraÄ može sa komandom provjeriti sve kuće koje su na prodaju na serveru i locirati ih klikom na nju.Ispis dialoga sam odradio i sve ja kako i treba,no ne znam kako ću napraviti da locira tu kuću,odnosno kako ću znati koju kuću želi locirati( U dialogu,jasno)
Dio skripte:
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Ispis:

Sada kada kliknem na kuću ID 168(Odnosno druga opcija) kako bi trebao napraviti lociranje?
Nisam nikad takve stvari pokušavao pa nemam baš iskustva i nemam nikakvu ideju kako bi se to moglo odraditi
Pozdrav svima,
Želim napraviti da igraÄ može sa komandom provjeriti sve kuće koje su na prodaju na serveru i locirati ih klikom na nju.Ispis dialoga sam odradio i sve ja kako i treba,no ne znam kako ću napraviti da locira tu kuću,odnosno kako ću znati koju kuću želi locirati( U dialogu,jasno)
Dio skripte:
mysql_tquery( MySQL, "SELECT Level, Cijena, Vrsta , ID FROM `kuce` WHERE ProveraVlasnika = '0' ORDER BY `Cijena` DESC LIMIT 10", "LoadFreeHouse", "i", playerid );forward LoadFreeHouse( playerid );
public LoadFreeHouse( playerid )
{
new
name, level, price, str[ 512 ],id;
format(str, sizeof(str), "{FFC50A}ID\t{FFC50A}Vrsta kuce\t{FFC50A}Cijena\t{FFC50A}Level\n");
for(new i =0; i < cache_num_rows(); i++)
{
cache_get_field_content(i, "Vrsta", name, MySQL, 24);
price = cache_get_field_content_int(i,"Cijena");
level = cache_get_field_content_int(i,"Level");
id = cache_get_field_content_int(i,"ID");
format(str, sizeof(str), "%s%d\t{2ECC71}%s\t%d\t%d\n", str,id , name, price , level);
}
AC_ShowPlayerDialog(playerid, DIALOG_FREEHOUSE, DIALOG_STYLE_TABLIST_HEADERS, "{FFC50A}Kuce: {FFFFFF}na prodaju", str, "Lociraj", "");
}Neke slike/video za lakse dobivanje pomoci(neobavezno):
Ispis:

Sada kada kliknem na kuću ID 168(Odnosno druga opcija) kako bi trebao napraviti lociranje?
Nisam nikad takve stvari pokušavao pa nemam baš iskustva i nemam nikakvu ideju kako bi se to moglo odraditi
OG Legend
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
2,562
Postovi:
56
Teme:
Pridružio se:Apr. 2016
8. Feb. 2018.
Od tod id kuce (to id 277 pretpostavljam da je id kuce, samo primjer inc), uzmes i kreiras 3 float varijable i getas poziciju od te kuce u te 3 varijable, i stavis checkpoint ako me kontas, valjda sam ja dobro skontao sta zelis
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosAktivan Član
7 / 250 XP
Početnik(0)
535
Postovi:
50
Teme:
Pridružio se:Nov. 2013
8. Feb. 2018.
Åuk wrote on February 8, 2018, 9:33 am:
Od tod id kuce (to id 277 pretpostavljam da je id kuce, samo primjer inc), uzmes i kreiras 3 float varijable i getas poziciju od te kuce u te 3 varijable, i stavis checkpoint ako me kontas, valjda sam ja dobro skontao sta zelis
Ne znam jesi li gledao kod uopće.Lista se uÄitava iz baze i uzima Kuće koje su na prodaju(Odnosno ProveraVlasnika = 0) Å¡to znaÄi da ako netko kupi tu kuću ,ta kuća neće biti na listi.(LogiÄno).Å to znaÄi da redoslijed nikad neće biti isti i IDovi su ovdje kao primjer.
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosAktivan Član
7 / 250 XP
Početnik(0)
535
Postovi:
50
Teme:
Pridružio se:Nov. 2013
8. Feb. 2018.
Åuk wrote on February 8, 2018, 9:38 am:
On uzima id onoga sto si kliknuo a ne uvijek 277, tako da nema veze sto se lista mijenja
Ne znam Å¡to toÄno misliÅ¡,možeÅ¡ li dati neki primjer koda kako si ti zamislio?Ja nemam ideje kako ću iskoristiti taj ID (kada klikne na njega)
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosAktivan Član
7 / 250 XP
Početnik(0)
535
Postovi:
50
Teme:
Pridružio se:Nov. 2013
8. Feb. 2018.
Slade wrote on February 8, 2018, 9:45 am:
Dakle float ti odliÄno obavlja posao, ali ne znaÅ¡ rasporedit dinamiku listitema? Je li to u pitanju?
Da 😉
Godfather
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
241 / 250 XP
Početnik(0)
2,043
Postovi:
83
Teme:
Pridružio se:Jan. 2014
8. Feb. 2018.
#define MAX_LISTITEMS 30 // Uredi sebi
new P_ListItem[ MAX_PLAYERS ][ MAX_LISTITEMS ];stock ClearListItem( playerid ) { //Briše unesene vrijednosti u var
for(new i = 0; i < MAX_LISTITEMS; i++) P_ListItem[ playerid ][ i ] = -1;
}
stock AddListItem( playerid, number ) { //Unosi ih
for(new i = 0; i < MAX_LISTITEMS; i++) {
if(P_ListItem[ playerid ][ i ] == -1) {
P_ListItem[ playerid ][ i ] = number;
break;
}
}
}Korištenje:
LociraKucu[ playerid ] = P_ListItem[ playerid ][ listitem ]; // Output: ID Kuće koju si stavio kroz for petljuUnošenje u var:
ClearListItem( playerid );
for(new i = 1; i < MAX_LISTITEMS; i++) AddListItem( playerid, i );Dakle ti to prilagodi svojoj for petlji, taÄnije, drugi parametar u AddListItem treba biti ID kuće, a pod 'KoriÅ¡tenje', Å¡to sam stavio kao LociraKucu[ playerid ] uzima ID kuće sa tog listitema, znaÄi samo uzmeÅ¡ koordinate te kuće i deri.
Btw ovo odliÄno radi, nisam tek sad napravio, nego služi dugo vremena na Disaronno modu kod dinamike.
OG Legend
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
2,562
Postovi:
56
Teme:
Pridružio se:Apr. 2016
8. Feb. 2018.
Slade wrote on February 8, 2018, 9:50 am:
#define MAX_LISTITEMS 30 // Uredi sebi
new P_ListItem[ MAX_PLAYERS ][ MAX_LISTITEMS ];stock ClearListItem( playerid ) { //Briše unesene vrijednosti u var
for(new i = 0; i < MAX_LISTITEMS; i++) P_ListItem[ playerid ][ i ] = -1;
}
stock AddListItem( playerid, number ) { //Unosi ih
for(new i = 0; i < MAX_LISTITEMS; i++) {
if(P_ListItem[ playerid ][ i ] == -1) {
P_ListItem[ playerid ][ i ] = number;
break;
}
}
}Korištenje:
LociraKucu[ playerid ] = P_ListItem[ playerid ][ listitem ]; // Output: ID Kuće koju si stavio kroz for petljuUnošenje u var:
ClearListItem( playerid );
for(new i = 1; i < MAX_LISTITEMS; i++) AddListItem( playerid, i );Dakle ti to prilagodi svojoj for petlji, taÄnije, drugi parametar u AddListItem treba biti ID kuće, a pod 'KoriÅ¡tenje', Å¡to sam stavio kao LociraKucu[ playerid ] uzima ID kuće sa tog listitema, znaÄi samo uzmeÅ¡ koordinate te kuće i deri.
Btw ovo odliÄno radi, nisam tek sad napravio, nego služi dugo vremena na Disaronno modu kod dinamike.
Legenda Foruma
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
839
Postovi:
32
Teme:
Pridružio se:Sep. 2014
8. Feb. 2018.
Nema potrebe da puni memoriju tim glupostima koje imaju jednokratnu upotrebu.
Kada iz dijaloga odabere neku od kuća, ponovo pozovi isti mysql upit i samo oÄitaj podatke iz keÅ¡ memorije pod listitem (vrednost koju dobijaÅ¡ kada odabere neÅ¡to iz dijaloga) id-om.
Kada iz dijaloga odabere neku od kuća, ponovo pozovi isti mysql upit i samo oÄitaj podatke iz keÅ¡ memorije pod listitem (vrednost koju dobijaÅ¡ kada odabere neÅ¡to iz dijaloga) id-om.
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosAktivan Član
7 / 250 XP
Početnik(0)
535
Postovi:
50
Teme:
Pridružio se:Nov. 2013
8. Feb. 2018.
Vodka Play wrote on February 8, 2018, 9:57 am:
Nema potrebe da puni memoriju tim glupostima koje imaju jednokratnu upotrebu.
Kada iz dijaloga odabere neku od kuća, ponovo pozovi isti mysql upit i samo oÄitaj podatke iz keÅ¡ memorije pod listitem (vrednost koju dobijaÅ¡ kada odabere neÅ¡to iz dijaloga) id-om.
Kada iz dijaloga odabere neku od kuća, ponovo pozovi isti mysql upit i samo oÄitaj podatke iz keÅ¡ memorije pod listitem (vrednost koju dobijaÅ¡ kada odabere neÅ¡to iz dijaloga) id-om.
Mozes li mi samo dati primjer upita? (tj samo kako ću iskoristiti listitem )
Legenda Foruma
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
839
Postovi:
32
Teme:
Pridružio se:Sep. 2014
8. Feb. 2018.
U dijalogu, ukoliko je reposnse true (nije izašao iz dijaloga), pozoveš upit
mysql_tquery( MySQL, "SELECT PosX, PosY, PosZ FROM `kuce` WHERE ProveraVlasnika = `0` ORDER BY `Cijena` DESC LIMIT 10", "LocateHouse", "ii", playerid, listitem);
public LocateHouse(playerid, rowid)
{
cache_get_field_content_float(rowid, "PosX");
cache_get_field_content_float(rowid, "PosY");
....
return 1;
}
Underboss
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosAktivan Član
7 / 250 XP
Početnik(0)
535
Postovi:
50
Teme:
Pridružio se:Nov. 2013
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava