Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3167 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

(redaguota)

Taigi sveiki, sukau galvą, bet kažkaip "neišsukau" :D Taigi esmė tame, kad define padaryta, jog daugiausią verslų gali būti 110 (aišku tiek nereikia, tačiau taip yra padaryta), duomenų bazėje nei vieno verslo nėra, tačiau verslų neina sukurti. ( Iš komandos galima spręsti jog per daug verslų )

Komanda atrodo taip: 

https://pastebin.com/J2Bi1cZe

Gal yra kam buvę tokia situacija? Galit patart. Ačiū iškarto.

P.S. Su gaujom taspats.

Redaguota , nario Džemal.
(redaguota)

Keli pastebėjimai:
1. Nematau tikslo lįsti į duomenų bazę, nes kaip matau, turi masyvą, kuriame saugoji informaciją apie tai, ar verslas yra sukurtas (PropertyInfo[N][pCreated]). Jeigu tau netinka mano anksčiau aprašytas variantas, aš taip pat nematau prasmės siųsti į duomenų bazę daug užklausų (MAX_PROPERTYS; arba iki pirmojo laisvojo slot'o), per akis užtenka vienos užklausos:

mysql_query("SELECT id FROM verslai");

2. Pirma atnaujini verslo informaciją, verslui, kuris neegzistuoja duomenų bazėje, o tik po to pridedi jį į duomenų bazę.
3. Nereikalingos tos 2 atskiros užklausos, kišk viską į vieną.

format(Query, sizeof(Query), "UPDATE `verslai` SET `pEarning` = '%d' WHERE `ID` = '%d'", PropertyInfo[Property][pEarning], Property);
mysql_query(Query);

format(String, sizeof(String), "INSERT INTO `verslai` (ID) VALUES ('%d')", Property);
mysql_query(String);

4. Į pOwner masyvą įrašai informaciją naudojant format'ą, o į pTitle, pirma jį išvalius, nemanau, kad to reikia, o ir spėju toks kodas veikia liečiau.

format(PropertyInfo[Property][pOwner], MAX_PLAYER_NAME, "Nera");

strdel(PropertyInfo[Property][pTitle], 0,         64);
strcat(PropertyInfo[Property][pTitle], PropTitle, 64);

5. String'ų ilgis kosminis, perskaičiuok. How-to.
6. papildomas yra tuščias, jokia informacija neįrašoma, bet atvaizduojama.
7. mysql_free_result(); perkelk virš priešpaskutinį return 1;. Jeigu ras neužimtą slot'ą, dabartinėje vietoje ji nebus iškviesta.
8. Jeigu yra verslo saugojimas po sukūrimo, galbūt net neverta iš viso siųsti tos pirmosios užklausos, su pEarning atnaujinimu?
9. Jeigu new Float: ProP_Pos[3] pakeisi į new Float:x, Float:y, Float:z - veiks greičiau, tik nepastebėsi, bet čia jau prisip*sinėju.
10. Pabandyk įdėti mysql_retrieve_row(); po mysql_store_result();, bet prieš mysql_num_rows(). Nesu tikras, kad padės, net labiau galvoju, kad pjaunu normaliai.

Daugiau nieko blogo nematau, arba aš aklas.

Redaguota , nario ES.^
prieš 15 valandas(-ų), ES.^ parašė:

Keli pastebėjimai:
1. Nematau tikslo lįsti į duomenų bazę, nes kaip matau, turi masyvą, kuriame saugoji informaciją apie tai, ar verslas yra sukurtas (PropertyInfo[N][pCreated]). Jeigu tau netinka mano anksčiau aprašytas variantas, aš taip pat nematau prasmės siųsti į duomenų bazę daug užklausų (MAX_PROPERTYS; arba iki pirmojo laisvojo slot'o), per akis užtenka vienos užklausos:


mysql_query("SELECT id FROM verslai");

2. Pirma atnaujini verslo informaciją, verslui, kuris neegzistuoja duomenų bazėje, o tik po to pridedi jį į duomenų bazę.
3. Nereikalingos tos 2 atskiros užklausos, kišk viską į vieną.


format(Query, sizeof(Query), "UPDATE `verslai` SET `pEarning` = '%d' WHERE `ID` = '%d'", PropertyInfo[Property][pEarning], Property);
mysql_query(Query);

format(String, sizeof(String), "INSERT INTO `verslai` (ID) VALUES ('%d')", Property);
mysql_query(String);

4. Į pOwner masyvą įrašai informaciją naudojant format'ą, o į pTitle, pirma jį išvalius, nemanau, kad to reikia, o ir spėju toks kodas veikia liečiau.


format(PropertyInfo[Property][pOwner], MAX_PLAYER_NAME, "Nera");

strdel(PropertyInfo[Property][pTitle], 0,         64);
strcat(PropertyInfo[Property][pTitle], PropTitle, 64);

5. String'ų ilgis kosminis, perskaičiuok. How-to.
6. papildomas yra tuščias, jokia informacija neįrašoma, bet atvaizduojama.
7. mysql_free_result(); perkelk virš priešpaskutinį return 1;. Jeigu ras neužimtą slot'ą, dabartinėje vietoje ji nebus iškviesta.
8. Jeigu yra verslo saugojimas po sukūrimo, galbūt net neverta iš viso siųsti tos pirmosios užklausos, su pEarning atnaujinimu?
9. Jeigu new Float: ProP_Pos[3] pakeisi į new Float:x, Float:y, Float:z - veiks greičiau, tik nepastebėsi, bet čia jau prisip*sinėju.
10. Pabandyk įdėti mysql_retrieve_row(); po mysql_store_result();, bet prieš mysql_num_rows(). Nesu tikras, kad padės, net labiau galvoju, kad pjaunu normaliai.

Daugiau nieko blogo nematau, arba aš aklas.

Labai ačiū už tokį išsamų paaiškinimą, bei patarimus. Bandysiu viską.

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3167 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...