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

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4594 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 sekanti mano problema su MySQL yra tokia..

 

Aš turiu bėdu su sms/mysql sistema.. 

Esmė tame: išsiunčiu sms (mokėjimai.lt) kreditus per mysql uždeda.. Tačiau žaidime aš jų panaudoti visiškai niekur negaliu, net nerodo kad juos turiu.. 

 

 

Taigi klausimas.. Ką aš turiu rašyti kode, kad rodytų tuos kreditus? Visa sistema kaip atrodo:

 

Enumas

enum Players {
Vardas[MAX_PLAYER_NAME],
kreditai,
pinigai,
patirtis,
pdxp,
mechxp,
dylxp,
medxp,
taksxp
};
new pInfo[MAX_PLAYERS][Players];
 
Užkrovimas
stock LoadStats(playerid)
{
new name[MAX_PLAYER_NAME],query[70];
GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),"SELECT * FROM players WHERE Vardas = '%s'",name);
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() == 1)
{
new tmp[60];
mysql_fetch_field_row(pInfo[playerid][Vardas],"Vardas");
mysql_fetch_field_row(tmp,"Kreditai"); pInfo[playerid][kreditai] = strval(tmp);
mysql_fetch_field_row(tmp,"Pinigai"); pInfo[playerid][pinigai] = strval(tmp);
mysql_fetch_field_row(tmp,"Patirtis"); pInfo[playerid][patirtis] = strval(tmp);
mysql_fetch_field_row(tmp,"pdxp"); pInfo[playerid][pdxp] = strval(tmp);
mysql_fetch_field_row(tmp,"dylxp"); pInfo[playerid][dylxp] = strval(tmp);
mysql_fetch_field_row(tmp,"mechxp"); pInfo[playerid][mechxp] = strval(tmp);
mysql_fetch_field_row(tmp,"taksxp"); pInfo[playerid][taksxp] = strval(tmp);
mysql_fetch_field_row(tmp,"medxp"); pInfo[playerid][dylxp] = strval(tmp);
}
mysql_free_result();
return 1;
}

Saugojimas.

stock SaveStats(playerid)
{
new query[100];
format(query,sizeof(query),"UPDATE players SET (Kreditai,Pinigai,Patirtis,pdxp,dylxp,mechxp,taksxp,medxp) VALUES = '%d' '%d' '%d' '%d' '%d' '%d' '%d' '%d' WHERE Vardas = '%s'",
pInfo[playerid][kreditai], pInfo[playerid][pinigai], pInfo[playerid][patirtis], pInfo[playerid][pdxp], pInfo[playerid][dylxp], pInfo[playerid][mechxp], pInfo[playerid][taksxp], pInfo[playerid][dylxp], pInfo[playerid][Vardas]);
mysql_query(query);
return 1;
}

 

Prie /info komandos aš rašau (tipo kad rodytų kreditus). Šitu atvėju jų nerodo.. Kaip ir playerDB[playerid][kreditai] irgi..

Comma(pInfo[playerid][kreditai])

* Taip žinoma būnu atsijungęs kai siunčiu sms.

Redaguota , nario Tomuks.

Country-Side.lt

(redaguota)

Rašėi, kad turi sistema, bet parodyk jos skripta kaip ji gavus sms išsiunčia užklausa ir uždeda krd.

 

Nerašiau, kad turiu sistemą, rašiau, kad turiu bėdų. Aš nežinau ar daugiau skriptų kažkokių tai reikėjo tam reikalui. ;/

 

Tai turbūt aš tegaliu tiek nusakyt..

1.

http://www.part.lt/perziura/6950a8a494eedae7c5b53f3be291f24b547.png

2.

http://www.part.lt/perziura/b8f4757e0f3ee9b3262f8a6c9f5b8b94957.png

3.

http://www.part.lt/perziura/54028348486c1ad2d5f063726340ee18967.png

 

Matosi, kad skaičius keičiasi.. Apie tolimesnius dalykus nelabai ką ir matęs jei ir kas dar turi būt ;ss

Redaguota , nario Tomuks.

Country-Side.lt

(redaguota)

Tai jei užkrauni į pInfo[playerid][kreditai] tai ir bus tame kinamajame, o jei ne tai žiūrėk mysql loga jei ten viskas gerai kažkas kode jau blogai.

Mysql_log.txt visiškai nieko neberašo. :D

 

O kraunu tai į tą kintamajį, tačiau vis tiek nerodo nieko. :(

 

Edit:

Nebent klausimas, ar pvž sms sistemoje galima keisti tų kreditų kintamajį , gal taip nenori kraut? ;/

Redaguota , nario Tomuks.

Country-Side.lt

Hm, nes kai išsiunti SMS atsiranda duomenų bazėje. Tačiau nėra būdu kaip pranešti serveriui kad atnaujinta duombazė... Todėl atsiras tik po relog....Bet problema kad jeigu atsijungiant tu saugai ir kreditų skaičių, jis bus įrašytas į duomenų bazę. Jeigu duomenų bazėje tarkim yra 10 kreditų, o serveryje žaidėjas turi 0, išsaugant tą nulį, duomenų bazėje liks 0 ir kreditai bus prarasti. 

 

Vienintelis dalykas kurį gali daryti tai sukurti stulpelį "Online" ir jeigu jis yra 1(nustatyk vos prisijungus) žaidėjas yra serveryje todėl kreditų neduok, o pranešk kad "prašome atsijungti"(atsijungiant "Online" nustatyk į nulį).

Reikia Pawn pagalbos? Skype nerašyk.

 

 

 

 

 

 

Hm, nes kai išsiunti SMS atsiranda duomenų bazėje. Tačiau nėra būdu kaip pranešti serveriui kad atnaujinta duombazė... Todėl atsiras tik po relog....Bet problema kad jeigu atsijungiant tu saugai ir kreditų skaičių, jis bus įrašytas į duomenų bazę. Jeigu duomenų bazėje tarkim yra 10 kreditų, o serveryje žaidėjas turi 0, išsaugant tą nulį, duomenų bazėje liks 0 ir kreditai bus prarasti. 

 

Vienintelis dalykas kurį gali daryti tai sukurti stulpelį "Online" ir jeigu jis yra 1(nustatyk vos prisijungus) žaidėjas yra serveryje todėl kreditų neduok, o pranešk kad "prašome atsijungti"(atsijungiant "Online" nustatyk į nulį).

Arba kreditų tiesiog nesaugoti atsijungiant, o tik UPDATE mysql funkciją naudoti kažką atlikus su kreditais. Taip pat kreditus atvaizduok tiesiai iš mysql. Tuo atvėju iš serverio atsijungti net nereikės, ir po išsiuntimo galėsi mėgautis kreditais iškarto. :taika:

lWUmIcZ.png

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4594 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ą...