problem with a script
#1

Code:
public OnPlayerUpdate(playerid)
{

    GetPlayerMoney(playerid);
    if GetPlayerMoney(playerid) += 100;
    {
     GivePlayerMoney(playerid, -100);
     return 1;
    }
Code:
error 022: must be lvalue (non-constant)
what's wrong?
Reply
#2

pawn Code:
public OnPlayerUpdate(playerid)
{

    GetPlayerMoney(playerid);
    if(GetPlayerMoney(playerid) > 100);
    {
     GivePlayerMoney(playerid, -100);
     }
     return 1;
}
try this
Reply
#3

Quote:
Originally Posted by simo0000
View Post
pawn Code:
public OnPlayerUpdate(playerid)
{

    GetPlayerMoney(playerid);
    if(GetPlayerMoney(playerid) > 100);
    {
     GivePlayerMoney(playerid, -100);
     }
     return 1;
}
try this
I would like to know if a player got + 100 he will get -100
Reply
#4

BUUUUUUUUUUUMP
Reply
#5

Stop bumping.

A lot of things are wrong, what are you trying to achieve?
Reply
#6

Quote:
Originally Posted by dusk
View Post
Stop bumping.

A lot of things are wrong, what are you trying to achieve?
When people will start to consider me, I will start stopping bumping!

Anyway, I would like to know:


If PlayerMoney increased by 100, Them will be deducted by 100.


So if Player got 49765$ and suddenly he got 49865 they increased by 100, then -100.



Clear now?
Reply
#7

Well I don't understand WHY you want it but this should work.

pawn Code:
public OnPlayerUpdate(playerid)
{
     static PlayerMoney[ MAX_PLAYERS ];
     if(!PlayerMoney[ playerid ])
          PlayerMoney[ playerid ] = GetPlayerMoney(playerid);
     else
     {
         if(GetPlayerMoney(playerid) - PlayerMoney[ playerid ] == 100)
         {
                GivePlayerMoney(playerid, -100);
         }
         PlayerMoney[ playerid ] = GetPlayerMoney(playerid);
     }
}
Reply
#8

This is what you want.
However I do not suggest using OnPlayerUpdate...almost ever.
Loop it through a player timer, OnPlayerUpdate is ever 40miliseconds, it will cause significant lag as players join.
pawn Code:
public OnPlayerUpdate(playerid)
{

    GetPlayerMoney(playerid);
    if(GetPlayerMoney(playerid) >= 100); // Players money is equal or greater than 100
    {
        GivePlayerMoney(playerid, -100);
    }
    return 1;
}
Reply
#9

Quote:
Originally Posted by dusk
View Post
Well I don't understand WHY you want it but this should work.

pawn Code:
public OnPlayerUpdate(playerid)
{
     static PlayerMoney[ MAX_PLAYERS ];
     if(!PlayerMoney[ playerid ])
          PlayerMoney[ playerid ] = GetPlayerMoney(playerid);
     else
     {
         if(GetPlayerMoney(playerid) - PlayerMoney[ playerid ] == 100)
         {
                GivePlayerMoney(playerid, -100);
         }
         PlayerMoney[ playerid ] = GetPlayerMoney(playerid);
     }
}
THX! there is a way to send to a determined person a ClientMessage to inform how much he gained?

As if He doesn't get 100, 1000, 10000 (for example), then sendclientmessage to a certain nickname with

"Player XYZ gained VALUE"

This would be awesome for me
Reply
#10

The code by dusk will only work if it equals 100, not above.
Also, it's not Adding money, it's subtracting. So anytime it equals 100, it'll drop to 0 almost instantly.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)