-
Hali
olyan bajom lenne hogy van egy olyanom hogy ölésnél kap a player +1 pontot.... De az elsõ ölés után nem adja hozzá hanem mindig egyre módosítja.
Death:
public OnPlayerDeath(playerid, killerid, reason)
{
new string[128];
new sendername[MAX_PLAYER_NAME];
new killername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(killerid, killername, sizeof(killername));
GivePlayerMoney(killerid, 5000);
GivePlayerMoney(playerid, -1000);
SetPlayerScore(killerid, GetPlayerScore(playerid) +1);
format(string, sizeof(string), \"Gratulálunk, te kinyirtad %s -t ezért kaptál 5000$-t, és egy pontot!\", sendername);
SendClientMessage(killerid, COLOR_GREEN, string);
format(string, sizeof(string), \"Téged kinyirt %s, szívás, vesztettél 1000$-t!\", killername);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
{
SetPlayerScore(playerid, GetPlayerScore(playerid) == 2000);
GetPlayerName(playerid, sendername, sizeof(sendername));
SetPlayerMoney(playerid, GetPlayerMoney(playerid) +200000);
format(string, sizeof(string), \"%s elérte a 2000 pontot, ezért a szerver megjutalmazta 200.000$-al!\", sendername);
}
return 1;
}
-
SetPlayerScore(killerid, GetPlayerScore(playerid) +1);
Cseréld ki erre:
SetPlayerScore(killerid, GetPlayerScore(killerid) +1);
-
ez jó.. de van mégegy hibám..
Ez folyton adja a pénzt, amikor csak 2000 pontnál kéne.
Mi lehet a baj?
public OnPlayerDeath(playerid, killerid, reason)
{
new string[128];
new sendername[MAX_PLAYER_NAME];
new killername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(killerid, killername, sizeof(killername));
GivePlayerMoney(killerid, 5000);
GivePlayerMoney(playerid, -1000);
SetPlayerScore(killerid, GetPlayerScore(killerid) +1);
format(string, sizeof(string), \"Gratulálunk, te kinyirtad %s -t ezért kaptál 5000$-t, és egy pontot!\", sendername);
SendClientMessage(killerid, COLOR_GREEN, string);
format(string, sizeof(string), \"Téged kinyirt %s, szívás, vesztettél 1000$-t!\", killername);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
if(SetPlayerScore(killerid, GetPlayerScore(killerid == 2000) -2000))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
SetPlayerMoney(playerid, GetPlayerMoney(playerid) +200000);
format(string, sizeof(string), \"%s elérte a 2000 pontot, ezért a szerver megjutalmazta 200.000$-al!\", sendername);
SendClientMessageToAll(COLOR_GREEN, string);
}
return 1;
}
-
Tessék,
public OnPlayerDeath(playerid, killerid, reason)
{
new string[128];
new sendername[MAX_PLAYER_NAME];
new killername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(killerid, killername, sizeof(killername));
GivePlayerMoney(killerid, 5000);
GivePlayerMoney(playerid, -1000);
SetPlayerScore(killerid, GetPlayerScore(killerid) +1);
format(string, sizeof(string), \"Gratulálunk, te kinyirtad %s -t ezért kaptál 5000$-t, és egy pontot!\", sendername);
SendClientMessage(killerid, COLOR_GREEN, string);
format(string, sizeof(string), \"Téged kinyirt %s, szívás, vesztettél 1000$-t!\", killername);
SendClientMessage(playerid, COLOR_LIGHTRED, string);
if ( GetPlayerScore ( killerid ) == 2000 )
{
GetPlayerName(playerid, sendername, sizeof(sendername));
SetPlayerMoney(playerid, GetPlayerMoney(playerid) +200000);
format(string, sizeof(string), \"%s elérte a 2000 pontot, ezért a szerver megjutalmazta 200.000$-al!\", sendername);
SendClientMessageToAll(COLOR_GREEN, string);
}
return 1;
}