Главная » Статьи » статьи о серверах |
Как написать самому плагин для ZP, все тут!
EXTRA ITEM: Вот основа плагина: #include <amxmodx> #include <zombieplague> new g_itemid1 public plugin_init() { register_plugin("[ZP] Extra Item: Test", "0.1", "Example") g_itemid1 = zp_register_extra_item("My Extra Item 1", 3, ZP_TEAM_ZOMBIE) } public zp_extra_item_selected(player, itemid) { // check if the selected item matches any of our registered ones if (itemid == g_itemid1) client_print(player, print_chat, "[ZP] You have purchased My extra item 1!") } Определения: g_itemid1 - ID Extra Item. [ZP] Extra Item: Test - название плагина. Example - автор. 0.1- версия. My Extra Item 1- название Extra item. 3 - цена. ZP_TEAM_ZOMBIE - давать только команде Zombie. client_print(player, print_chat, "[ZP] You have purchased My extra item 1!") - действие(здесь это пишет в чат: [ZP] You have purchased My extra item 1!. Информация: 1). Чтобы этот Extra Item был только для людей, то: заменяем ZP_TEAM_ZOMBIE на ZP_TEAM_HUMAN. Чтобы этот Extra Item был для всех, то: заменяем ZP_TEAM_ZOMBIE на ZP_TEAM_ANY. 2). Если вы хотите больше чем одно действие, то должно быть типо: if (itemid == g_itemid1) { ДЕЙСТВИЕ1 ДЕЙСТВИЕ2 ... } 3). Возможные действия: FUN give_item(player, "weapon_ak47") - дает предмет, в этом случае ak47. Если хотите дать AWP, то меняете ak47 на awp и т. п.. Также можно дать: weapon_shield, weapon_hegrenade, weapon_smokegrenade, weapon_flashbang,item_longjump. set_user_noclip(player, 1) - дает No Clip. set_user_noclip(player, 0) - убирает No Clip. set_user_godmode(player, 1) - дает God. set_user_godmode(player, 0) - убирает God. set_user_armor(player, 200) - дать 200 брони.(можно изменять) set_user_health(player, 200)- дать 200 жизней.(можно изменять) set_user_maxspeed(player, 400) - дать скорость 400.(можно изменять) set_user_gravity(player, 1.0) - дать гравитацию 1.0.(можно изменять) spawn(player) - respawn. set_user_footsteps(player, 1) - дать бесшумные шаги. set_user_footsteps(player, 0) - дать шумные шаги. strip_user_weapons(player) - убрать все оружие у игрока. set_user_frags(player, 10) - дать игроку 10 фрагов. Для работы этих действий, добавляем после #include CSTRIKE cs_get_user_deaths(player) - получить смерти игрока. cs_set_user_deaths(player, 10) - дать игроку 10 смертей. Можете изменять. cs_get_user_hasprim(player) - получить, есть ли у игрока автомат или щит. cs_set_user_nvg(player, 1) - дать ночное видение. cs_set_user_nvg(player, 0) - убрать ночное видение. Для работы этих действий, добавляем после #include Вот пример плагина, в котором при покупке, дается только нож: #include <amxmodx> #include <zombieplague> #include <fun> new g_knife public plugin_init() { register_plugin("[ZP] Extra Item: Knife Only", "0.1", "Example") g_knife = zp_register_extra_item("Knife Only", 3, ZP_TEAM_HUMAN) } public zp_extra_item_selected(player, itemid) { if (itemid ==g_knife) { strip_user_weapons(player) give_item(player, "weapon_knife") } } ZOMBIE CLASS: Вот основа плагина: #include <amxmodx> #include <fakemeta> #include <zombieplague> new const zclass_name[] = { "My Zombie" } new const zclass_info[] = { "My Stats" } new const zclass_model[] = { "zombie_source" } new const zclass_clawmodel[] = { "v_knife_zombie.mdl" } const zclass_health = 1800 const zclass_speed = 190 const Float:zclass_gravity = 1.0 const Float:zclass_knockback = 1.0 new g_zclassid1 public plugin_precache() { register_plugin("[ZP] Additional Zombie Classes", "0.1", "Example") g_zclassid1 = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback) } public zp_user_infected_post(id, infector) { if (zp_get_user_zombie_class(id) == g_zclassid1) client_print(id, print_chat, "[ZP] You're using a custom zombie class!") } Определения: g_zclassid1 - ID Zombie Class. [ZP] Additional Zombie Classes - название плагина. Example - автор. 0.1- версия. My Zombie/U]- название класса. My Stats - описание. v_knife_zombie.mdl - моделька клешней. zombie_source - модель зомби. 1800 - жизни. 190 - скорость. 1.0 - гравитация. 1.0 - отлет. [U]client_print(id, print_chat, "[ZP] You're using a custom zombie class!") - действие(здесь это пишет в чат: [ZP] You're using a custom zombie class!). Информация: 1). Если вы хотите больше чем одно действие, то должно быть типо: if (zp_get_user_zombie_class(id) == g_zclassid1) { ДЕЙСТВИЕ1 ДЕЙСТВИЕ2 ... } 2). Возможные действия: FUN give_item(id, "weapon_hegrenade") - дает предмет, в этом случае Infection Bomb. Если хотите дать LongJump, то меняете weapon_hegrenade на item_longjump и т. п.. Также можно дать: weapon_shield - щит. set_user_noclip(id, 1) - дает No Clip. set_user_noclip(id, 0) - убирает No Clip. set_user_godmode(id, 1) - дает God. set_user_godmode(id, 0) - убирает God. set_user_armor(id, 200) - дать 200 брони.(можно изменять) spawn(id) - respawn. set_user_footsteps(id, 1) - дать бесшумные шаги. set_user_footsteps(id, 0) - дать шумные шаги. strip_user_weapons(id) - убрать все оружие у игрока. set_user_frags(id, 10) - дать игроку 10 фрагов. Для работы этих действий, добавляем после #include CSTRIKE cs_get_user_deaths(id) - получить смерти игрока. cs_set_user_deaths(id, 10) - дать игроку 10 смертей. Можете изменять. cs_get_user_hasprim(id) - получить, есть ли у игрока автомат или щит. cs_set_user_nvg(id, 1) - дать ночное видение. cs_set_user_nvg(id, 0) - убрать ночное видение. Для работы этих действий, добавляем после #include Вот пример плагина, в котором при классе, дается щит: #include <amxmodx> #include <fakemeta> #include <zombieplague> #include <fun> new const zclass_name[] = { "Shield Zombie" } new const zclass_info[] = { "Have Shield." } new const zclass_model[] = { "zombie_source" } new const zclass_clawmodel[] = { "v_knife_zombie.mdl" } const zclass_health = 100 const zclass_speed = 190 const Float:zclass_gravity = 1.0 const Float:zclass_knockback = 1.0 new g_zclassid1 public plugin_precache() { register_plugin("[ZP] Class: Shield Zombie", "0.1", "Example") g_zclassid1 = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback) } public zp_user_infected_post(id, infector) { if (zp_get_user_zombie_class(id) == g_zclassid1) { give_item(id, "weapon_shield") } } Автор статьи: Poprigun4ik :D
| |
Категория: статьи о серверах | Добавил: knaus-94 (06.06.2010) | |
Просмотров: 996 |
Всего комментариев: 0 | |