OnPlayerDeath... - Printable Version
+- SA-MP Forums Archive (
https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (
https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (
https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: OnPlayerDeath... (
/showthread.php?tid=451964)
OnPlayerDeath... -
xganyx - 19.07.2013
here is my code
pawn Код:
public OnPlayerDeath(playerid,killerid,reason)
{
if(GetPlayerMoney(playerid) >= 1 || GetPlayerMoney(playerid) <= 1001)
{
//my code here
}
if(GetPlayerMoney(playerid) > 1001 || GetPlayerMoney(playerid) < 4000)
{
//my code here
}
if(GetPlayerMoney(playerid) > 4000 || GetPlayerMoney(playerid) < 10000)
{
//my code here
}
else return 1;
return 1;
}
but when i death my money is 0 but they just have just happen every thing but i have put this GetPlayerMoney(playerid) >= 1...
please help me and sorry for bad english
Re: OnPlayerDeath... -
xganyx - 19.07.2013
Any help please ...
Re: OnPlayerDeath... -
PrinceKumar - 19.07.2013
make a enum for it
Re: OnPlayerDeath... -
xganyx - 19.07.2013
Can you make a example?
Re: OnPlayerDeath... -
RajatPawar - 19.07.2013
Use && instead of ||. Case statements don't accept relation operators!
Re: OnPlayerDeath... -
xganyx - 20.07.2013
here my code:
pawn Код:
public OnPlayerDeath( playerid, killerid, reason )
{
new _cash = GetPlayerMoney(playerid);
switch( _cash )
{
case (_cash > -1 && _cash < 1000):
{
new string[128];
GetPlayerName(playerid,pname[playerid],MAX_PLAYER_NAME);
format(string,sizeof(string),"%s has drop he or she money use /finddeadcash to find it",pname[playerid]);
SendClientMessageToAll(Green,string);
dcmoney = GetPlayerMoney(playerid);
GetPlayerPos(playerid,dcmoneyx,dcmoneyy,dcmoneyz);
dcmoneypick = CreatePickup(1212,1,dcmoneyx,dcmoneyy,dcmoneyz,0);
dcPickupInfo[dcmoneypick][dchavefmoney] = 1;
moneydrop[playerid] = 1;
}
case (_cash > 1000 && _cash < 4000):
{
new string[128];
GetPlayerName(playerid,pname[playerid],MAX_PLAYER_NAME);
format(string,sizeof(string),"%s has drop he or she money use /finddeadicon to find it",pname[playerid]);
SendClientMessageToAll(Green,string);
dimoney = GetPlayerMoney(playerid);
GetPlayerPos(playerid,dimoneyx,dimoneyy,dimoneyz);
dimoneypick = CreatePickup(1274,1,dimoneyx,dimoneyy,dimoneyz,0);
diPickupInfo[dimoneypick][dihavefmoney] = 1;
moneydrop[playerid] = 1;
}
}
return 1;
}
but have these error
pawn Код:
error 008: must be a constant expression; assumed zero
error 008: must be a constant expression; assumed zero
on this line
pawn Код:
case (_cash > -1 && _cash < 1000):
and this
pawn Код:
case (_cash > 1000 && _cash < 4000):
please help
Re: OnPlayerDeath... -
arakuta - 20.07.2013
Your error was simple.
You are using || (OR), so if your cash is grater than 4000 or lower than 10000, a 0 value will pass this condition because 0 is lower than 10000.
You should use && (AND)
So the cash must be greater than 4000 and lower than 10000, a 0 value will not pass because it's lower than 4000.
pawn Код:
public OnPlayerDeath(playerid,killerid,reason)
{
if(GetPlayerMoney(playerid) >= 1 && GetPlayerMoney(playerid) <= 1001)
{
//my code here
}
if(GetPlayerMoney(playerid) > 1001 && GetPlayerMoney(playerid) < 4000)
{
//my code here
}
if(GetPlayerMoney(playerid) > 4000 && GetPlayerMoney(playerid) < 10000)
{
//my code here
}
else return 1;
return 1;
}