On Player Death.. (rep++) -
iOmar - 31.03.2012
Hey Guys!!
====> I want, When some player killed other player than the killer get 200$ and 1 score!! and when player die he get -100$
Can You Help Me
Re: On Player Death.. (rep++) -
vyper - 31.03.2012
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
SetPlayerScore(killerid,(GetPlayerScore(killerid))+1);
GivePlayerMoney(killerid, 200);
GivePlayerMoney(playerid, -100);
return 1;
}
Re: On Player Death.. (rep++) -
antonio112 - 31.03.2012
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID)
{
SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
GivePlayerMoney(killerid, 200);
SendClientMessage(killerid, -1, "You received 200$ and 1 score.");
GivePlayerMoney(playerid, -100);
SendClientMessage(playerid, -1, "You lost 100$ because you got killed.");
return 1;
}
}
You need to check if killerid is not invalid player.
Re: On Player Death.. (rep++) -
Randyy - 31.03.2012
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID)
{
new string[256];
SetPlayerScore(killerid,(GetPlayerScore(killerid))+1);
GivePlayerMoney(killerid, 200);
SendClientMessage(killerid, -1, "You received 200$ and 1 score.");
GivePlayerMoney(playerid, -100);
SendClientMessage(playerid, -1, "You lost 100$ because you got killed.");
format(string, sizeof(string), " %s Has killed a enemy!", PlayerName[playerid]);
SendClientMessageToAll(COLOR_RED, string);
return 1;
}
}
look's better
Re: On Player Death.. (rep++) -
iOmar - 31.03.2012
Thnx All of u
![Smiley](images/smilies/smile.png)
(rep added)
== but i added vyper's reply
it say this:
Quote:
D:\Game\SA-MP Files\GM\gamemodes\Wars.pwn(243) : warning 209: function "OnPlayerDeath" should return a value
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase
1 Warning
|
.
Re: On Player Death.. (rep++) -
antonio112 - 31.03.2012
Quote:
Originally Posted by Randyy
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID)
{
new string[256];
SetPlayerScore(killerid,(GetPlayerScore(killerid))+1);
GivePlayerMoney(killerid, 200);
SendClientMessage(killerid, -1, "You received 200$ and 1 score.");
GivePlayerMoney(playerid, -100);
SendClientMessage(playerid, -1, "You lost 100$ because you got killed.");
format(string, sizeof(string), " %s Has killed a enemy!", PlayerName[playerid]);
SendClientMessageToAll(COLOR_RED, string);
return 1;
}
}
look's better ![Cheesy](images/smilies/biggrin.png)
|
It looks better but you just create a 256 characters long string, which is just NOT NEEDED.
Let's count your string:
Код:
%s Has killed a enemy!
It has exactly 22 CHARACTERS. Let's add the maximum player name to those 22. So 22 + 24 (MAX_PLAYER_NAME) = 46. So, a 46 long string is the maximum you'd need. You created a 256 characters string, which means 210 more characters than needed, which means a huge memory use which you don't need.
ps: iOmar, put a 'return 1' right before you close the bracket ( } ) in the OnPlayerDeath callback.
So:
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
// BLA BLA CODE HERE
return 1;
}
Re: On Player Death.. (rep++) -
iOmar - 31.03.2012
Guys help me! It giving me 1 warninig
Re: On Player Death.. (rep++) -
Randyy - 31.03.2012
Yeah u got right,
![Cheesy](images/smilies/biggrin.png)
What is the warning ?
Re: On Player Death.. (rep++) -
iOmar - 31.03.2012
Quote:
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID)
{
SetPlayerScore(killerid, GetPlayerScore(killerid)+1);
GivePlayerMoney(killerid, 300);
SendClientMessage(killerid, -1, "Congratulation!You have gained 300$ and +1 score.");
GivePlayerMoney(playerid, -100);
SendClientMessage(playerid, -1, "You lost 100$ because you got killed.");
return 1;
}
}
|
Here u go!!!! But still getting warning
Re: On Player Death.. (rep++) -
Randyy - 31.03.2012
what is the warning ?