Deathrun ModKészítő:MistrickLeírás: A mód lényege, hogy az Anti-Terroristáknak meg kell ölniük a zárva tartott Terroristát. Nos ez így olvasva könnyű, de a Terrorista használhat csapdákat, vagy kiválaszthat egy módot ami neki tetszőleges ellenük.
Az Anti-Terroristák, pedig csak akkor küzdhetnek meg a Terroristával, ha keresztül mennek a pálya akadályain.
Forráskód leírások:deathrun_core.smaCvarok: deathrun_block_kill "1" == Megakadályozza az öngyilkosságot [0-KI | 1-BE]
deathrun_block_falldmg "1" == Ha leesel magas helyről nem sebződsz [0-KI | 1-BE]
Beállítások pluginon belül#define WARMUP_TIME 15.0 //Bemelegítési idő
#define HEALER_MAX_HEALTH 150.0 //A gyógyító játékos max élete
API:► Spoiler mutatása
/**
* Parancs, amely lekéri amikor új terroristát választottak (új kör vagy lecsatlakozás).
*
* @param id Player index.
*/
forward dr_chosen_new_terrorist(id);
/**
* Jelenlegi terrorista ID-ének lekérése.
*
* @return Játékos ID.
*/
native dr_get_terrorist();
/**
* Beállítja ki lesz a következő körben a terrorista.
*
* @param id Következő terror ID.
*/
native dr_set_next_terrorist(id);
/**
* Lekéri hogy ki lett az új körben a terrorista.
*
* @return Player index.
*/
native dr_get_next_terrorist();
deathrun_modes.smaApi a terrorista modokhoz. Irányítás, fegyverek(weaponbox, armoury_entity), bhop.
API:► Spoiler mutatása
enum _:ModeData
{
m_Name[32],
m_Mark[16],
m_RoundDelay,
m_CurDelay,
m_CT_BlockWeapon,
m_TT_BlockWeapon,
m_CT_BlockButtons,
m_TT_BlockButtons,
m_Bhop,
m_Usp,
m_Hide
};
/**
* Mode registration.
*
* @param Name Mod neve, ML billentyű használata.
* @param Mark Mod pont, használd ezt hogy megkapd a mod ID-ét más pluginokban.
* @param RoundDelay Mod blokkolása bizonyos körökben.
* @param CT_BlockWeapons Engedélyezi a CT-knek a fegyverfelvételt.
* @param TT_BlockWeapons Engedélyezi a T-knek a fegyverfelvételt.
* @param CT_BlockButtons Engedélyezi a CT-knek a gombok/csapdák használatát.
* @param TT_BlockButtons Engedélyezi a T-knek a gombok/csapdák használatát.
* @param Bhop Bhopp bekapcsolása.
* @param Usp Kezdő USP bekapcsolása CT-knek.
* @param Hide Engedélyezi a mod eltüntetését a menüben.
*
* @return Mod ID.
*/
native dr_register_mode(Name[32], Mark[16], RoundDelay, CT_BlockWeapons, TT_BlockWeapons, CT_BlockButtons, TT_BlockButtons, Bhop, Usp, Hide = 0);
/**
* Jelenlegi mod lekérése.
*
* @param name Mod neve, ide másolja a jelenlegi mod ML kulcsát.
* @param size Névméret.
*
* @return Mod ID.
*/
native dr_get_mode(name[] = "", size = 0);
/**
* Új mod beállítása.
*
* @param mode Mod ID.
* @param fwd Parancs lehívása(dr_kivalasztott_mod).
* @param id Játékos id-e.
*/
native dr_set_mode(mode, fwd = 0, id = 0);
/**
* Mod lekérése jel szerint.
*
* @param mark Mod jele.
*
* @return Mode ID.
*/
native dr_get_mode_by_mark(mark[]);
/**
* Teljes info lekérése a mod-rol.
*
* @param mode Mod ID.
* @param modeinfo Információ/Valami szöveg (pl. "A legjobb mod ever").
*/
native dr_get_mode_info(mode, modeinfo[ModeData]);
/**
* Automatikus bhop beállítása.
*
* @param bhop 0 - KI 1 - BE.
*/
native dr_set_mode_bhop(bhop);
/**
* Automatikus bhop lekérése.
*
* @return 0 - KI, 1 - BE.
*/
native dr_get_mode_bhop();
/**
* Bhop adása egy játékosnak.
*
* @note A bhop modra vonatkozó érték fontosabb mint a játékosra vonatkozó.
*
* @param id Játékos ID.
* @param bhop false - KI, true - BE.
*/
native dr_set_user_bhop(id, bool:bhop);
/**
* Játékos bhop jogainak lekérése.
*
* @param id Játékos ID.
*/
native bool:dr_get_user_bhop(id);
/**
* Parancs, amely lekéri amikor új modot választottak.
*
* @param id Terror ID.
* @param mode Mod ID.
*/
forward dr_selected_mode(id, mode);
deathrun_mode_free.sma, deathrun_mode_invis.sma, deathrun_mode_snow.sma, deathrun_mode_rambo.sma, deathrun_mode_duel.smaAPI: (deathrun_duel.inc)► Spoiler mutatása
enum CancelType
{
CType_TimeOver,
CType_PlayerDisconneced,
CType_PlayerDied,
CType_ModeChanged
}
/**
* Parancs, amely előkészíti a párbajt.
*
* @param duelist_ct Játékos ID.
* @param duelist_t Játékos ID.
*/
forward dr_duel_prestart(duelist_ct, duelist_t);
/**
* Parancs amely elindítsa a párbajt.
*
* @param duelist_ct Játékos ID.
* @param duelist_t Játékos ID.
*/
forward dr_duel_start(duelist_ct, duelist_t);
/**
* Parancs, amely kihirdeti az eredményt.
*
* @param winner Játékos ID.
* @param looser Játékos ID.
*/
forward dr_duel_finish(gyoztes, vesztes);
/**
* Parancs amely leállítja a párbajt.
*
* @param type Leállítás típusa
*/
forward dr_duel_canceled(CancelType:type);
deathrun_shop.smaBolt parancsai:► Spoiler mutatása
const ITEM_TEAM_T = (1 << 1);
const ITEM_TEAM_CT = (1 << 2);
/**
* Tárgy hozzáadása a bolthoz.
*
* @param name Tárgy neve a menüben.
* @param cost Tárgy ára
* @param team Csapat hozzáférés, bitsum, hásználhatja: ITEM_TEAM_T vagy ITEM_TEAM_CT
* @param access Admin hozzáférés: admin jogok
* @param on_buy OnBuy function(id) A public neve. Pl.: public ShopItem_CanBuy_Health(id) { }
* @param can_buy CanBuy function(id) Ha van valami feltétel a vásárláskor. Lehetséges hogy kell: return ITEM_ENABLED vagy ITEM_DISABLED a public végére
*
* @return Item ID, voltozó árak
*/
native dr_shop_add_item(name[], cost, team = (ITEM_TEAM_T|ITEM_TEAM_CT), access = 0, on_buy[], can_buy[] = "");
/**
* Használd a CanBuy funkciónál
*
* @param addition Leírás a menüben.
*/
native dr_shop_item_addition(addition[]);
/**
* @param item Tárgy ID
* @param cost Új ára a tárgynak
*/
native dr_shop_set_item_cost(item, cost);
Bolt készítésre példa► Spoiler mutatása
#include <amxmodx>
#include <fun>
#include <deathrun_shop>
#include <deathrun_modes>
#define PLUGIN "Deathrun Shop: Items"
#define VERSION "0.1"
#define AUTHOR "Mistrick"
#pragma semicolon 1
#define MAX_USE 3
new g_iGrenadeUsed[33];
new g_iModeDuel;
new g_bDuel;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0");
dr_shop_add_item("Élet", 100, ITEM_TEAM_T|ITEM_TEAM_CT, 0, "ShopItem_Health", "ShopItem_CanBuy_Health");
dr_shop_add_item("Gravitáció", 100, ITEM_TEAM_T|ITEM_TEAM_CT, 0, "ShopItem_Gravity");
dr_shop_add_item("HE Gránát", 100, ITEM_TEAM_CT, 0, "ShopItem_GrenadeHE", "ShopItem_CanBuy_GrenadeHE");
}
public plugin_cfg()
{
g_iModeDuel = dr_get_mode_by_mark("duel");
}
public client_putinserver(id)
{
g_iGrenadeUsed[id] = MAX_USE;
}
public Event_NewRound()
{
arrayset(g_iGrenadeUsed, MAX_USE, sizeof(g_iGrenadeUsed));
}
public dr_selected_mode(id, mode)
{
g_bDuel = (g_iModeDuel == mode) ? true : false;
}
public ShopItem_Health(id)
{
set_user_health(id, get_user_health(id) + 150);
client_print(id, print_chat, "Vettél +150HP-t.");
}
public ShopItem_Gravity(id)
{
set_user_gravity(id, 0.5);
}
public ShopItem_GrenadeHE(id)
{
g_iGrenadeUsed[id]--;
give_item(id, "weapon_hegrenade");
}
public ShopItem_CanBuy_Health(id)
{
return g_bDuel ? ITEM_DISABLED : ITEM_ENABLED;
}
public ShopItem_CanBuy_GrenadeHE(id)
{
if(g_iGrenadeUsed[id] <= 0)
{
dr_shop_item_addition("\r[Elfogyott]");
return ITEM_DISABLED;
}
new szAddition[32]; formatex(szAddition, charsmax(szAddition), "\y[Van %d DB]", g_iGrenadeUsed[id]);
dr_shop_item_addition(szAddition);
return ITEM_ENABLED;
}
deathrun_informer.smaA játékost látja el különböző információkkal. (Mód információk, sebesség kijelző, nézőlista)
Beállítások pluginon belül:#define UPDATE_INTERVAL 1.0 //HUD frissítése másodpercben
#define DONT_SHOW_FOR_ALIVE //Ne mutassa élő játékosoknak a HUD-ot
deathrun_lifes.smaLeegyszerűsített élet menü.
deathrun_buttons_control.smaLeegyszerűsített plugin, a csapdák, és egyéb gombok kezelésére.
deathrun_teleport_spot.smaA plugin megüti azokat a játékosokat akik megpróbálják elkapni az ellenséget teleport közben.
ParancsokKliens parancsok (chat-be):/shop = Szerver Bolt (Jelenlegi tartalma: HE, ÉLET, GRAVITÁCIÓ)
/dd;/duel = Párbajra tudod hívni ellenfeledet, egy kijelölt zónában!
/life;/lifemenu = Életeid megnézése, és itt újraéledni is tudsz, ha van életed
/informer = Besúgó bekapcsolása/kikapcsolása. A besúgó segít megmutatni mit, hogyan kellene.
/speclist = Nézők bekapcsolása/kikapcsolása.Láthatod, hogy kik a nézőid.
/speed = Sebességmérő bekapcsolása/kikapcsolása. A sebességmérő megmutatja a képernyő közepén a sebességedet.
/bhop = Nyúlugrás bekapcsolása/kikapcsolása.
TelepítésZIP letöltése fontos, itt van a többi SMA!
Models mappában lévők --> cstrike/models
SMA-k lefordítva --> cstrike/addons/amxmodx/plugins
Lang fáljt --> cstrike/addons/amxmodx/data/lang
Ha mindent lefordítottál beleírod a plugins.ini-be a nevüket
FIGYELEM! A fordításhoz szükséges az include-ok behelyezése a fordítódba!Javasolt plugin a módhoz:https://forums.alliedmods.net/showthread.php?t=250891Ui: A plugint nem én írtam, csak fordítottam. Esetleges hibákért elnézést kérek!