搜索
查看: 6389|回复: 11

求修改一个很有人气的插件!!!!!

[复制链接]
发表于 2009-1-10 15:20:22 | 显示全部楼层 |阅读模式 来自 中国–黑龙江–齐齐哈尔
本帖最后由 zfl1860 于 2009-1-10 18:43 编辑

这个插件 每局开局T和CT home的半空中都会出现以个礼包 礼包内有随机的礼物

1.把礼物修改成
item_assaultsuit
weapon_deagle
weapon_awp
weapon_ak47
weapon_m4a1
weapon_aug
weapon_sg552
weapon_hegrenade

2.玩家获得礼物后 在所有玩家屏幕坐上角 文字提示

3.拥有custom level H权限的用户才能抢礼包

只能修改一两项也可以 如果能全部修改更好


/* AMX Mod X
*   New Round Gift
*
* (c) Copyright 2005 by VEN
*
* This file is provided as is (no warranties)
*
*     DESCRIPTION:
*       Every new round at the CT and T respawn randomly appears gift.
*
*     NOTE:
*       Gift wouldn't appear for team with only one player!
*
*     FEATURES:
*       Plugin make gift collection fun and interesting because:
*         - you don't know where is gift would appear
*         - you don't know what is inside
*         - sometimes you must run fast and even jump
*
*     MODULES:
*       - engine
*       - fun
*
*     CONFIGURATION:
*       Available items can be changed (GIFT_ITEM_NUM, GIFT_ITEM), default: vest, vesthelm, nades.
*
*       Gift model can be changed (GIFT_MODEL), default: "models/w_battery.mdl".
*
*       Plugin can be disabled by changing "amx_newround_gift" CVAR value to 0.
*/

#include <amxmodx>
#include <engine>
#include <fun>

#define MAX_PLAYERS 32

#define GIFT_ITEM_NUM 5
new const GIFT_ITEM[GIFT_ITEM_NUM][] = {
        "item_kevlar",
        "item_assaultsuit",
        "weapon_hegrenade",
        "weapon_flashbang",
        "weapon_smokegrenade"
}

#define GIFT_MODEL "models/w_battery.mdl"
#define GIFT_NAME "gift"

public plugin_init() {
        register_plugin("New Round Gift", "0.1", "VEN")
        register_logevent("logevent_round_start", 2, "0=World triggered", "1=Round_Start")
        register_event("RoundTime", "event_round_time", "bc")
        register_touch(GIFT_NAME, "player", "touch_gift")
        register_cvar("amx_newround_gift", "1")
}

public plugin_modules() {
        require_module("engine")
        require_module("fun")
}

public plugin_precache() {
        precache_model(GIFT_MODEL)
}

public logevent_round_start() {
        if (!get_cvar_num("amx_newround_gift"))
                return

        new pnum[2], origin[3], minor[2][3], maxor[2][3], bool:compare[2]
        for (new i = 1; i <= MAX_PLAYERS; ++i) {
                if (!is_user_alive(i))
                        continue

                new team = get_user_team(i) - 1
                if (team != 0 && team != 1)
                        continue

                pnum[team]++
                get_user_origin(i, origin)
                if (compare[team]) {
                        for (new j = 0; j < 3; ++j) {
                                if (origin[j] < minor[team][j])
                                        minor[team][j] = origin[j]
                                if (origin[j] > maxor[team][j])
                                        maxor[team][j] = origin[j]
                        }
                }
                else {
                        minor[team] = origin
                        maxor[team] = origin
                        compare[team] = true
                }
        }
        for (new i = 0; i < 2; ++i) {
                if (pnum < 2)
                        continue

                new gift = create_entity("info_target")
                if (!gift) {
                        log_amx("ERROR: Couldn't create gift entity!")
                        continue
                }

                entity_set_string(gift, EV_SZ_classname, GIFT_NAME)
                entity_set_int(gift, EV_INT_solid, SOLID_TRIGGER)

                new Float:gift_origin[3]
                for (new j = 0; j < 3; ++j)
                        gift_origin[j] = float(random_num(minor[j], maxor[j]))
                gift_origin[2] += 40
                entity_set_vector(gift, EV_VEC_origin, gift_origin)

                entity_set_model(gift, GIFT_MODEL)
        }
}

public touch_gift(gift, id) {
        give_item(id, GIFT_ITEM[random(GIFT_ITEM_NUM)])
        remove_entity(gift)
}

public event_round_time() {
        if (read_data(1) == get_cvar_num("mp_freezetime")) {
                new gift = 0
                while ((gift = find_ent_by_class(gift, GIFT_NAME)))
                        remove_entity(gift)
        }
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注个册吧

×
发表于 2009-1-10 16:42:43 | 显示全部楼层 来自 中国–广东–佛山–顺德区
可以修改成所有玩家吗?改什么权限?
回复

使用道具 举报

 楼主| 发表于 2009-1-10 18:30:34 | 显示全部楼层 来自 中国–黑龙江–齐齐哈尔
楼上什么意思 没看明白!
回复

使用道具 举报

发表于 2009-1-11 20:29:57 | 显示全部楼层 来自 中国–四川–成都
本帖最后由 sakulekingz 于 2009-1-11 20:31 编辑
  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <engine>
  4. #include <fun>

  5. #define MAX_PLAYERS 32

  6. #define GIFT_ITEM_NUM 8
  7. new const GIFT_ITEM[GIFT_ITEM_NUM][] = {
  8.         "item_assaultsuit",
  9.         "weapon_deagle",
  10.         "weapon_awp",
  11.         "weapon_ak47",
  12.         "weapon_m4a1",
  13.         "weapon_aug",
  14.         "weapon_sg552",
  15.         "weapon_hegrenade"
  16. }

  17. #define GIFT_MODEL "models/w_isotopebox.mdl"
  18. #define GIFT_NAME "gift"

  19. public plugin_init() {
  20.         register_plugin("New Round Gift", "0.1", "VEN")
  21.         register_logevent("logevent_round_start", 2, "0=World triggered", "1=Round_Start")
  22.         register_event("RoundTime", "event_round_time", "bc")
  23.         register_touch(GIFT_NAME, "player", "touch_gift")
  24.         register_cvar("amx_newround_gift", "1")
  25. }

  26. public plugin_modules() {
  27.         require_module("engine")
  28.         require_module("fun")
  29. }

  30. public plugin_precache() {
  31.         precache_model(GIFT_MODEL)
  32. }

  33. public logevent_round_start() {
  34.         if (!get_cvar_num("amx_newround_gift"))
  35.                 return

  36.         new pnum[2], origin[3], minor[2][3], maxor[2][3], bool:compare[2]
  37.         for (new i = 1; i <= MAX_PLAYERS; ++i) {
  38.                 if (!is_user_alive(i))
  39.                         continue

  40.                 new team = get_user_team(i) - 1
  41.                 if (team != 0 && team != 1)
  42.                         continue

  43.                 pnum[team]++
  44.                 get_user_origin(i, origin)
  45.                 if (compare[team]) {
  46.                         for (new j = 0; j < 3; ++j) {
  47.                                 if (origin[j] < minor[team][j])
  48.                                         minor[team][j] = origin[j]
  49.                                 if (origin[j] > maxor[team][j])
  50.                                         maxor[team][j] = origin[j]
  51.                         }
  52.                 }
  53.                 else {
  54.                         minor[team] = origin
  55.                         maxor[team] = origin
  56.                         compare[team] = true
  57.                 }
  58.         }
  59.         for (new i = 0; i < 2; ++i) {
  60.                 if (pnum[i] < 2)
  61.                         continue

  62.                 new gift = create_entity("info_target")
  63.                 if (!gift) {
  64.                         log_amx("ERROR: Couldn't create gift entity!")
  65.                         continue
  66.                 }

  67.                 entity_set_string(gift, EV_SZ_classname, GIFT_NAME)
  68.                 entity_set_int(gift, EV_INT_solid, SOLID_TRIGGER)

  69.                 new Float:gift_origin[3]
  70.                 for (new j = 0; j < 3; ++j)
  71.                         gift_origin[j] = float(random_num(minor[i][j], maxor[i][j]))
  72.                 gift_origin[2] += 40
  73.                 entity_set_vector(gift, EV_VEC_origin, gift_origin)

  74.                 entity_set_model(gift, GIFT_MODEL)
  75.         }
  76. }

  77. public touch_gift(gift, id) {
  78.         if (get_user_flags(id) & ADMIN_LEVEL_H)
  79.         {
  80.         new PlayerName[32], msg[512]
  81.         get_user_name( id, PlayerName, 31)
  82.         give_item(id, GIFT_ITEM[random(GIFT_ITEM_NUM)])
  83.         remove_entity(gift)
  84.         format(msg, 511, "^x04* 玩家:^x03%s^x04 打开了礼包,获得了一份神秘礼物!", PlayerName)
  85.         client_color(0, id, msg)  
  86.         }
  87.         else if(get_user_flags(id)&ADMIN_USER)
  88.         {
  89.                 client_color( id, print_chat, "^x04* 你还不是^x03VIP^x04无法捡取礼包!")
  90.         }
  91. }
  92. public event_round_time() {
  93.         if (read_data(1) == get_cvar_num("mp_freezetime")) {
  94.                 new gift = 0
  95.                 while ((gift = find_ent_by_class(gift, GIFT_NAME)))
  96.                         remove_entity(gift)
  97.         }
  98. }

  99. public client_color(playerid, colorid, msg[])
  100. {
  101.   message_begin(playerid?MSG_ONE:MSG_ALL,get_user_msgid("SayText"),_,playerid)
  102.   write_byte(colorid)
  103.   write_string(msg)
  104.   message_end()
  105. }  
复制代码
回复

使用道具 举报

 楼主| 发表于 2009-1-12 22:55:05 | 显示全部楼层 来自 中国–黑龙江–齐齐哈尔
把礼包里的东西修改成 请高手帮忙!!
护甲 weapon_m4a1 weapon_deagle 带满子弹 o3 o4 o5
护甲 weapon_ak47 weapon_deagle 带满子弹 o3 o4 o5
护甲 weapon_awp weapon_deagle 带满子弹 o3 o4 o5
护甲 weapon_aug weapon_deagle 带满子弹 o3 o4 o5
护甲 weapon_sg552 weapon_deagle 带满子弹  o3 o4 o5
回复

使用道具 举报

 楼主| 发表于 2009-1-19 06:58:28 | 显示全部楼层 来自 中国–黑龙江–齐齐哈尔
up.........
回复

使用道具 举报

发表于 2009-1-20 15:52:34 | 显示全部楼层 来自 中国–广西–百色
这个有点意思。。。
回复

使用道具 举报

发表于 2009-2-16 22:03:03 | 显示全部楼层 来自 中国–北京–北京
点通上发过 地图随机礼包 插件,可以设置奖励VIP,比这个插件好。
回复

使用道具 举报

发表于 2009-2-19 13:33:47 | 显示全部楼层 来自 中国–吉林–长春
点通上发过 地图随机礼包 插件,可以设置奖励VIP,比这个插件好。
landyhmm 发表于 2009-2-16 22:03

能把这个插件的地址给我么?谢谢了
回复

使用道具 举报

发表于 2009-2-22 10:34:06 | 显示全部楼层 来自 中国–四川–遂宁
dt_gift
这个插件
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表