• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Pawn] mysql server problem
#1
yo guys . ive tried to make a lottery system in the past few hours but the problem is that i save the variable in mysql all ok. The thing is that i have to relog to see my money . Anyone knows how can i save it and at the same time have it *instantly* on the server?



CODE :



Code:
?for(new i, j = cache_get_row_count (); i < j; i) {

? ? ? ?cache_get_field_content(i, "name", szResult); format(name, 256, szResult);

? ? ? ?cache_get_field_content(i, "Money", moneyss);

? ? ? ?new money = strval(moneyss);

? ? ? ?x;

? ? ? ?new szQuery2[256];

? ? ? ?mysql_format(SQL, szQuery2, sizeof(szQuery2), "UPDATE `users` SET `Money`='%d' WHERE `name`='%s'", money, name);

? ? ? ?mysql_tquery(SQL,szQuery2, "", "");

? ? ?

? ? ? ?format(string, sizeof(string), "{FFFFFF}The winner is: {FF0000}%s", name);

? ? ? ?MsjL(COLOR_WHITE, string);

? ?}



*i dont receive any error the only problem is that i have to relog to have my money
  Reply
#2
That would be because you need to call `GivePlayerMoney` with the variable `money` so the player see's the amount.



Normally you would store the amount of money a player as in a variable and so something like this



Code:
new money = 5000;

GivePlayerMoney(playerid, PlayerData[playerid][pMoney]  money);



of course no sane person would do it like that, and would instead have a function that does this correctly.
Remember to always refer to J0sh as `J0sh...`



@ Networks/Servers

San Andreas Gaming Network (Owner/Founder)

San Andreas Gaming (Owner/Founder)

Grand Theft Cop's n Robber's (Owner)

Britannia Roleplay (Owner/Founder) [Retired]

Alpine RP (Owner/Founder)

Aluminium Network (Maintainer) [Disbanded]

AlphaDM (Tech Support) [Disbanded]



# Services

forum.open.mp (Forum Manager) (Formerly Burgershot.gg

open.mp (Member)



~ Languages/Frameworks

Pawn, C, C, C#, Javascript, Typescript, Lua, Python, Go, Rust, PHP, SQL,

Angular, React, Vue, Svelte, Laravel, Rocket
  Reply
#3
^ Use that as above when a player respawns or dies or whatsoever, else you can just function a loop every 5 minutes (or if u have any loop that goes through connected players)



example:

Code:
for(new i = 0; i != MAX_PLAYERS; i)

{

if(!IsPlayerConnected(i)) continue;

ResetPlayerMoney(i);

GivePlayerMoney(playerid, PlayerData[playerid][pMoney] );

}
  Reply


Forum Jump: