SetPlayerMoney ?
#1

Hey,

I know there is no function by SA:MP to Set the Players Money only GivePlayerMoney.

But this isnt working to:

Quote:

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

Money is still 0. For example: SetPlayerScore is working fine so there is no problem with loading it.

I am using dini. Is there a function to set players money?
Reply
#2

before
PHP код:
GivePlayerMoney(playeridsSpieler[playerid][pMoney]); 
you should use
PHP код:
ResetPlayerMoney(playerid); 
to avoid problems.

--

So
PHP код:
SetPlayerScore(playeridsSpieler[playerid][pMoney]); 
is working?

If yes, then try to
PHP код:
GivePlayerMoney(playeridstrval(sSpieler[playerid][pMoney])); 
but i can't imagine that this would be a workaround for a int var... Show your code.
Reply
#3

PHP код:
stock SetPlayerMoney(playeridcash)
{
  
ResetPlayerMoney(playerid);
  return 
GivePlayerMoney(playeridcash);

Reply
#4

Quote:
Originally Posted by rfr
Посмотреть сообщение
PHP код:
stock SetPlayerMoney(playeridcash)
{
  
ResetPlayerMoney(playerid);
  return 
GivePlayerMoney(playeridcash);

it should be

PHP код:
SetPlayerMoney(playeridcash)
{
    
ResetPlayerMoney(playerid);
    
GivePlayerMoney(playeridcash);
    return 
1;

https://sampforum.blast.hk/showthread.php?tid=570635
Reply
#5

Quote:
Originally Posted by Xeon™
Посмотреть сообщение
it should be

PHP код:
SetPlayerMoney(playeridcash)
{
    
ResetPlayerMoney(playerid);
    
GivePlayerMoney(playeridcash);
    return 
1;

https://sampforum.blast.hk/showthread.php?tid=570635
I understand why you removed the stock modifier, but why returning 1 instead of GivePlayerMoney? In my opinion it should be like this:
PHP код:
SetPlayerMoney(playeridcash)
{
    
ResetPlayerMoney(playerid);
    return 
GivePlayerMoney(playeridcash);

ON TOPIC: use printf to make sure the value loaded is correct.
Reply
#6

Both not working


My Code:
Quote:

stock LoadPlayer(playerid)
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
if(dini_Exists(Spieler))
{
SetPlayerScore(playerid,dini_Int(Spieler,"Level")) ;
sSpieler[playerid][Adminlevel] = dini_Int(Spieler,"Adminlevel");
sSpieler[playerid][Level] = dini_Int(Spieler,"Level");
sSpieler[playerid][Fraktion] = dini_Int(Spieler,"Fraktion");
sSpieler[playerid][Team] = dini_Int(Spieler,"Team");
sSpieler[playerid][Deaktiviert] = dini_Int(Spieler,"Deaktiviert");
sSpieler[playerid][pBanned] = dini_Int(Spieler,"pBanned");
sSpieler[playerid][Prison] = dini_Int(Spieler,"Prison");
sSpieler[playerid][Skinauswahl] = dini_Int(Spieler,"Skinauswahl");
sSpieler[playerid][pMoney] = dini_Int(Spieler,"pMoney");
sSpieler[playerid][pPassport] = dini_Int(Spieler,"pPassport");
sSpieler[playerid][RNumber] = dini_Int(Spieler,"RNumber");
sSpieler[playerid][FStyle] = dini_Int(Spieler,"FStyle");
sSpieler[playerid][VIP] = dini_Int(Spieler,"VIP");
sSpieler[playerid][sLogin] = 1;
sSpieler[playerid][Wanteds] = 0;
sSpieler[playerid][pMoney] = GetPlayerMoney(playerid);
SetPlayerScore(playerid, sSpieler[playerid][Level]);
SetPlayerMoney(playerid, strval(sSpieler[playerid][pMoney]));
GivePlayerMoney(playerid, strval(sSpieler[playerid][pMoney]));

Quote:

stock SavePlayer(playerid)
{
new Spieler[64];
new Sname[MAX_PLAYER_NAME];
GetPlayerName(playerid,Sname,sizeof(Sname));
format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
sSpieler[playerid][pMoney] = GetPlayerMoney(playerid);
if(dini_Exists(Spieler))
{
dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
dini_IntSet(Spieler,"Level",sSpieler[playerid][Level]);
dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
dini_IntSet(Spieler,"Team",sSpieler[playerid][Team]);
dini_IntSet(Spieler,"Deaktiviert",sSpieler[playerid][Deaktiviert]);
dini_IntSet(Spieler,"Prison",sSpieler[playerid][Prison]);
dini_IntSet(Spieler,"Skinauswahl",sSpieler[playerid][Skinauswahl]);
dini_IntSet(Spieler,"pMoney",sSpieler[playerid][pMoney]);
dini_IntSet(Spieler,"pBanned",sSpieler[playerid][pBanned]);
dini_IntSet(Spieler,"pPassport",sSpieler[playerid][pPassport]);
dini_IntSet(Spieler,"steps",sSpieler[playerid][steps]);
dini_IntSet(Spieler,"Legend",sSpieler[playerid][Legend]);
dini_IntSet(Spieler,"FStyle",sSpieler[playerid][FStyle]);
}
return 1;
}

Quote:

SetPlayerMoney(playerid, cash)
{
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, cash);
}

I tried all (stock too)
Reply
#7

Quote:
Originally Posted by pulsare
Посмотреть сообщение
Both not working


My Code:







I tried all (stock too)
Ever thought the problem could be with saving and not loading? why are you using pmoney just do on saving GetPlayerMoney(playerid); ? test that and lemme know if it works
Reply
#8

Quote:
Originally Posted by RogueDrifter
Посмотреть сообщение
Ever thought the problem could be with saving and not loading? why are you using pmoney just do on saving GetPlayerMoney(playerid); ? test that and lemme know if it works
I am setting the Money in my player files by myself to test it. So its already saved.

And idk why GetPlayerMoney(playerid); should help makes no sense
Reply
#9

Quote:
Originally Posted by pulsare
Посмотреть сообщение
I am setting the Money in my player files by myself to test it. So its already saved.

And idk why GetPlayerMoney(playerid); should help makes no sense
I mean't the money could be set to 0 when you try saving it that's why i suggested getplayermoney instead of the playerinfo you've put but if you're saying that it saves then okay it isn't a saving problem, where do you have LoadPlayer put? onplayerconnect/spawn...?
Reply
#10

Quote:
Originally Posted by Xeon™
Посмотреть сообщение
it should be

PHP код:
SetPlayerMoney(playeridcash)
{
    
ResetPlayerMoney(playerid);
    
GivePlayerMoney(playeridcash);
    return 
1;

https://sampforum.blast.hk/showthread.php?tid=570635
Think again. I'm sure you were on another thread saying "less lines = faster executing" (which isn't true), so you should stand up with that point.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)