#include <a_samp>#include <sscanf2>#include <zcmd>enum Info{Bounty};new HitmanInfo[MAX_PLAYERS][info];#define COLOR_RED 0x9f1212FF#define COLOR_WHITE 0xFFFFFFFF#define DIALOG_VERDIJAK 9751stock GetName(playerid){ new name[16]; GetPlayerName(playerid, name, 16); return name;}public OnFilterScriptInit(){print(\"\\n--------------------------------------\");print(\" sHitmanSystem by: Stricica\");print(\"--------------------------------------\\n\");return 1;}public OnPlayerDeath(playerid, killerid, reason){if(GetPVarInt(playerid, \"Wanted\") == 1){new string[128];GivePlayerMoney(killerid, HitmanInfo[playerid][bounty]);format(string, sizeof(string), \"[{9cff00}%s{FFFFFF}] kilett iktatva [{9cff00}%s{FFFFFF}] által. Vérdíj-jutalom: [{9cff00}%i{FFFFFF}]\", GetName(playerid), GetName(killerid), HitmanInfo[playerid][bounty]);SendClientMessageToAll(COLOR_WHITE, string);SetPVarInt(playerid, \"Wanted\", 0);HitmanInfo[playerid][bounty] = 0;}return 1;}CMD:verdij(playerid, params[]){new id, bounty, string[128]; if(sscanf(params, \"ui\", id, bounty)) SendClientMessage(playerid, COLOR_RED, \"Használat: /verdij [playerid] [összeg]\"); if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, \"Hiba: Nincs ilyen játékos.\"); if(id == playerid) return SendClientMessage(playerid, COLOR_RED, \"Hiba: Magadra nem tudsz vérdíjat kitûzni.\"); if(GetPlayerMoney(playerid) < bounty) return SendClientMessage(playerid, COLOR_RED, \"Hiba: Nincs elég pénzed a vérdíjra.\"); if(IsPlayerNPC(id)) return SendClientMessage(playerid, COLOR_RED, \"Hiba: NPC-re nem lehet vérdíjat tûzni.\");else {SetPVarInt(id, \"Wanted\", 1);HitmanInfo[id][bounty] = bounty;GivePlayerMoney(playerid, -bounty);format(string, sizeof(string), \"[{9cff00}%s{FFFFFF}] vérdíjat tûzött ki [{9cff00}%s{FFFFFF}] fejére. Összeg: [{9cff00}%i{FFFFFF}]\", GetName(playerid), GetName(id), bounty);SendClientMessageToAll(COLOR_WHITE, string);}return 1;}CMD:verdijak(playerid, params[]){ for(new i = 0; i < MAX_PLAYERS; i++){if(GetPVarInt(i, \"Wanted\") == 1){new string[128];format(string, sizeof(string), \"[{9cff00}%s{FFFFFF}] - [{9cff00}%i ${FFFFFF}]\", GetName(i), HitmanInfo[bounty]);SendClientMessage(playerid, COLOR_WHITE, string);}}return 1;}
enum Info{Bounty};new HitmanInfo[MAX_PLAYERS][info];(most nem térek ki rá hogy egy adat tárolásra játékosonként felesleges az enum. nem ez lenne a lényeg)
SetPVarInt(id, \"Wanted\", 1);
SetPVarInt(id, \"Wanted\", bounty);
if(GetPVarInt(playerid, \"Wanted\") > 0)//////////////////////////////////////////////////////////new verdíj = GetPVarInt(playerid, \"Wanted\");if(verdij > 0){GivePlayerMoney(killerid, verdíj);format(bla bla ennyi pénzt kaptál....., verdij....
Rossz:[code]HitmanInfo[id][bounty] = bounty;
HitmanInfo[id][bounty] += bounty;
SetPVarInt(playerid, \"Wanted\", GetPVarInt(playerid, \"Wanted\") + bounty);
Grat egyszerû nagyszerû. Egy apró megjegyzés ha ez nem lesz túl sértõ meg egy javaslat is lenne egyben.Látom hogy két változót használsz erre a hitman dologra.Az egyik: (egy megszokott változó pawnban) enum Info{Bounty};new HitmanInfo[MAX_PLAYERS][info];(most nem térek ki rá hogy egy adat tárolásra játékosonként felesleges az enum. nem ez lenne a lényeg) A másik: (PerPlayerVariable) SetPVarInt(id, \"Wanted\", 1); És itt jön a kérdés:Nem lenne erre a célra elég egy változó használat? mondjuk a PVar.Mert alapból minden PVar értéke nulla (0)Ha valaki valakire tesz vérdíjat te beállítod a PVar-ra a vérdíj összeget. SetPVarInt(id, \"Wanted\", bounty); És lekérdezésnél OnPlayerDeath-nél, ellenõrzõd hogy van-e rajt vérdíj, persze érdemes létrehozni egy változót amiben tároljuk ezt az adatot mert többször fel kell használni a tárolt információt. if(GetPVarInt(playerid, \"Wanted\") > 0)//////////////////////////////////////////////////////////new verdíj = GetPVarInt(playerid, \"Wanted\");if(verdij > 0){GivePlayerMoney(killerid, verdíj);format(bla bla ennyi pénzt kaptál....., verdij.... És most hogy ezt leírtam egy újabb hibát láttam Nem sértés tényleg csak felhívom rá a figyelmed.Ha valaki tesz egy játékosra vérdíjat, mondjuk 10000-et, és egy másik játékos is tesz ugyanarra a playerre mondjuk 10-et, akkor csak 10 lesz rajt. Rossz:[code]HitmanInfo[id][bounty] = bounty; Helyes: HitmanInfo[id][bounty] += bounty; És ugyanez PVarban: SetPVarInt(playerid, \"Wanted\", GetPVarInt(playerid, \"Wanted\") + bounty);