Hát elsõnek is lássuk a kódot:[pawn]#include <a_samp>
#define hejho(%0) ((%0) + ((%0) * 2) / 3) //Mivel nem találtam neki értelmes nevet ezt adtam neki \"hejho\"
.
new
KillingSpree[MAX_PLAYERS];
public
OnPlayerConnect(playerid)
{
KillingSpree[playerid] = 0;
return 1;
}
public
OnPlayerDeath(playerid, killerid, reason)
{
KillingSpree[playerid] = 0;
if(killerid != INVALID_PLAYER_ID)
{
KillingSpree[killerid]++;
if(!(KillingSpree[killerid] % 3) && KillingSpree[killerid] != 0)
{
new
score = hejho(KillingSpree[killerid]),
money = score * 1000,
str[128];
GetPlayerName(killerid, str, sizeof str);
format(str, sizeof str, \"Kill Streak!! %s Kills: %d | Jutalma: %d$ pénz + %d Score\", str, KillingSpree[killerid], money, score);
SendClientMessageToAll(0xFF0606FF, str);
GivePlayerMoney(killerid, money);
SetPlayerScore(killerid, score);
}
}
return 1;
}[/pawn]
Hát ez megvolna, 34 sor, remélem átláthatóra sikeredett.Itt egy kis leírás errõl, mi is lenne valójában:
A szkript lényege hogy
3 ölésenként szöveget ír ki a chat-be és ennek megfelelõen jutalmazza a játékost.
Ha tehát egy játékos elér egy adott
Kill Streak-et
3-at,
6-ot,
9-et, és így tovább akkor ennek megfelelõen
5,
10,
15, score pontot és 5000, 10000, 15000, ... pénzt ad.
Most itt jött képbe egy apró macro utasítás mert valahogyan a 3 kill-bõl 5-öt kellett varázsolni a 6 killbõl 10-et, 9 killbõl 15-öt és így tovább.
A macro utasítás ez lenne értelmes név hiányában \"hejho\"-nak neveztem el. Bocsánat érte.
[pawn]#define hejho(%0) ((%0) + ((%0) * 2) / 3)[/pawn]
Röviden e 3 eset matematikai leírásával tudnám szemléltetni mûködését:
3 + ((3 * 2) / 3) = 5
6 + ((6 * 2) / 3) = 10
9 + ((9 * 2) / 3) = 15
Ez alapján lehet a 3-mal osztható számokból 5-tel osztható számokat varázsolni.
Így sikerült a score pontokat létrehozni, a pénz jutalom ezek után 1000-el való szorzással kapható meg.
Remélem e kis leírás/Fs segít pár emberkének hogyan alkamazzunk egy kis logikát szkriptünkben ha ilyen periodikusan (szakaszosan) ismétlõdõ dologgal találkozunk.E kis szösszenetet
instant [FS]Killstreak szkriptje miatt írtam.