广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 3104 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
lydjjlyd
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x157
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[1.6][插件] 关于zp_presents补给包问题
为啥用zp这个补给包会出现一个补给包出现多种枪,就像是坐标重叠,我有源码,但不知道该怎么写,让随机坐标不重复刷。

希望各位大神帮帮忙!


下面就是这插件关键部位,武器设置什么的就没发了,毕竟太多了。


public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)

register_event("HLTV", "event_round_start", "a", "1=0", "2=0")

register_touch("maximusbroodPresent", "player", "event_presentTouch");

g_persents_time = register_cvar("zp_presents_time", "45")
g_persents_num_o = register_cvar("zp_presents_randm_a", "1")
g_persents_num_t = register_cvar("zp_presents_randm_b", "3")

new cfgdir[32]
get_configsdir(cfgdir, 255)

new mapname[32];
get_mapname(mapname, 31);

format(g_orginFilePath, 255, "%s/presents/%s.ini", cfgdir, mapname);

loadData();

set_task(0.3,"event_round_start") 
}


public event_round_start()
{
removePresents()
set_task(get_pcvar_float(g_persents_time), "set_present",111111,_,_,"b") 
}


public zp_round_ended(winteam)
{
remove_task(111111)
}


public plugin_precache() 
{
precache_sound(sound_present)
precache_sound(sound_get)
precache_model("models/presents.mdl")
}

loadData()
{
g_totalOrigins = 0;

new buffer[128];
new strX[12], strY[12], strZ[12];
if( file_exists(g_orginFilePath) ) 
{
new readPointer = fopen(g_orginFilePath, "rt");

if(!readPointer)
return;

while( !feof(readPointer) )
{
fgets(readPointer, buffer, 127);

if(buffer[0] == ';' || !buffer[0])
continue;

parse(buffer, strX, 11, strY, 11, strZ, 11);

g_spawnOrigins[g_totalOrigins][0] = float(str_to_num(strX));
g_spawnOrigins[g_totalOrigins][1] = float(str_to_num(strY));
g_spawnOrigins[g_totalOrigins][2] = float(str_to_num(strZ));

++g_totalOrigins;
}

fclose(readPointer);
}
}


public removePresents()
{
new currentEntity;


while ( (currentEntity = find_ent_by_class(currentEntity, "maximusbroodPresent")) != 0)
{
remove_entity(currentEntity);
}
}


public spawnPresent()
{
new f,entid

f = random_num(1,g_totalOrigins - 1)

entid = create_entity("info_target")


entity_set_string(entid, EV_SZ_classname, "maximusbroodPresent")

entity_set_model(entid, "models/presents.mdl")

entity_set_origin(entid, g_spawnOrigins[f])


entity_set_int(entid, EV_INT_solid, 1)
entity_set_int(entid, EV_INT_movetype, 6)


return PLUGIN_CONTINUE;
}


public event_presentTouch(pTouched, pToucher)
{
if(zp_get_user_zombie(pToucher))
return PLUGIN_HANDLED;

if(!is_valid_ent(pToucher) || !is_valid_ent(pTouched) || !is_user_connected(pToucher))
return PLUGIN_HANDLED;

client_cmd(pToucher, "spk %s", sound_get)

remove_entity(pTouched);

new t

t = random_num(1,6)

get_user_name(pToucher, szName, 31);

if (t == 1)
{
get_sg552(pToucher)
client_print(0, print_center, "%s 捡到旋风AK",szName);
}
else if (t == 2)
{
get_he(pToucher)
client_print(0, print_center, "%s 捡到两颗高爆手雷",szName);
}
else if (t == 3)
{
get_m249(pToucher)
client_print(0, print_center, "%s 捡到MG3毁灭者",szName);
}
else if (t == 4)
{
get_m4a1(pToucher)
client_print(0, print_center, "%s 捡到迷彩M4A1",szName);
}
else if (t == 5)
{
get_mac10(pToucher)
client_print(0, print_center, "%s 捡到双持MP7A1",szName);
}
else if (t == 6)
{
get_bpammo(pToucher)
client_print(0, print_center, "%s 捡到一些弹药",szName);
}
return PLUGIN_CONTINUE;
}


public set_present()
{
new g


g = random_num(get_pcvar_num(g_persents_num_o),get_pcvar_num(g_persents_num_t))

client_print(0, print_center, "补给箱已经到达!!!");
client_cmd(0, "spk %s", sound_present) 

removePresents()


for (new i = 0; i < g + 1; i++) 
{
set_task(1.0,"spawnPresent")
}
}



献花 x0 回到顶端 [楼 主] From:欧洲 | Posted:2017-12-01 16:59 |
lydjjlyd
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x0 鲜花 x157
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

通过自己的努力已经解决了 表情 表情


献花 x0 回到顶端 [1 楼] From:未知地址 | Posted:2017-12-11 19:16 |
弑血
个人头像
个人文章 个人相簿 个人日记 个人地图
社区建设奖 特殊贡献奖 创作大师奖
小有名气
级别: 小有名气 该用户目前不上站
推文 x108 鲜花 x238
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

下面是引用 lydjjlyd 于 2017-12-11 19:16 发表的 : 到引言文
通过自己的努力已经解决了 表情   表情



晚了9个多月才注意到这篇
方法就在 format(g_orginFilePath, 255, "%s/presents/%s.ini", cfgdir, mapname);
在config资料夹&presents资料夹内新增每张地图名称ini档案内容
说到座标新增 可以用板上 nst内容开放出来的point去设置 每张地图的ini座标位置
就算是要设制在奇怪的地方 也是可以的



目前传授教学&有兴趣者可以问我
BOT瞄准攻击NPC&模仿事件触发计算出场&新增地图重生位置等等
已修复entity的attachment错误问题,开始尝试写出各种npc_boss成品
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
按这里检视影片,登入论坛可以直接观看
献花 x0 回到顶端 [2 楼] From:台湾中华电信股份有限公司 | Posted:2018-09-22 12:35 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.024281 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言