引用 | 编辑
mischna09
2013-02-04 23:54 |
楼主
▼ |
||||||||||||
x2
===========================================轻松写插件~ ~写插件轻松 =========================================== 大家好~我又是Y14Y了~ [依然是AMXX新手] ~!@#$%^&*() 今天你将活用变数 来控制等级 这种东西 Let's GO! -------------------------------------------------------------------------------------- 如果你不知道变数是什么 请先到我的第一集 http://bbs.mychat.to/reads.php?tid=976916 -------------------------------------------------------------------------------------- 我将用一个自制速成型插件 功能是 * 我会放原插件内容 和 口语化的翻译 让你能更清楚每句话的意义 更快学会! ~~~~~~~~~~~~~~~~~~插件原文~~~~~~~~~~~~~~~~~~~~~~~~~ //此插件只提供参考 请勿自行修改后 自称自创品 #include <amxmodx> #include <hamsandwich> #include <cstrike> #include <fakemeta> #include <fun> #define PLUGIN "变数实用范例 {2} - 购买血量等级" #define VERSION "1.0" #define AUTHOR "Y14Y" new g_heal_level[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) RegisterHam(Ham_Spawn, "player", "fw_Spawn_Post", 1) register_clcmd("maxhp_up", "example") } public example(id) { if(!is_user_alive(id)) { client_print(id, print_chat, "[系统]请等到复活后再使用!") } else if(is_user_alive(id) && cs_get_user_money(id) >= 3000 && g_heal_level[id] <= 40) { cs_set_user_money(id, cs_get_user_money(id) - 3000 ,0) g_heal_level[id]++ set_user_health(id, get_user_health(id) + 20) client_print(id, print_chat, "[系统]你提升了血量上限至[%d]", (g_heal_level[id] * 20 + 100)) } else if(is_user_alive(id) && cs_get_user_money(id) < 3000) { client_print(id, print_chat, "[系统]你的金钱不够!") } else if(is_user_alive(id) && g_heal_level[id] == 41) { client_print(id, print_chat, "[系统]你的血量上限已达最高!") } } public fw_Spawn_Post(id) { set_user_health(id, get_user_health(id) + (g_heal_level[id] * 20)) } ~~~~~~~~~~~~~~~~~~文原件插~~~~~~~~~~~~~~~~~~~~~~~~~ 翻译: (基础类的不多加说明) #include <amxmodx> //不多加说明 #include <hamsandwich> //不多加说明 #include <cstrike> //不多加说明 #include <fakemeta> //不多加说明 #include <fun> //不多加说明 #define PLUGIN "变数实用范例 {2} - 购买血量等级" //不多加说明 #define VERSION "1.0" //不多加说明 #define AUTHOR "Y14Y" //不多加说明 新变数 名字g_heal_level[33] public plugin_init() //不多加说明 { register_plugin(PLUGIN, VERSION, AUTHOR) //不多加说明 注册(事件[复活] 对象[玩家] 此发生时事件触发"fw_Spawn_Post"这个FUCTION) 注册指令(输入"maxhp_up", 触发"example") } public example(id) //不多加说明 { 如果(玩家没有生存(id)) { client_print(id, print_chat, "[系统]请等到复活后再使用!") //不多加说明 } 其他的 如果(玩家生存(id) 并且 取得玩家美金大于等于3000 并且 g_heal_level[id]这个变数 小于等于 40) { 设定美金(对象:触发此FUCTION的玩家, 取得玩家金钱(id) 扣除3000 ,0) //后面的0不懂的勿动 g_heal_level[id]此变数加1 设置血量(对象:id , 取得玩家血量 + 20) client_print(id, print_chat, "[系统]你提升了血量上限至[%d]", (g_heal_level[id] * 20 + 100)) //不多加说明 } 其他的 如果(玩家生存(id) 并且 取得玩家美金(id) 小于 3000) { client_print(id, print_chat, "[系统]你的金钱不够!") //不多加说明 } 其他的 如果(玩家生存(id) 并且 g_heal_level[id]此变数等于41) { client_print(id, print_chat, "[系统]你的血量上限已达最高!") //不多加说明 } } public fw_Spawn_Post(id) //经解释后 现在是玩家重生发生的事 { 设置血量(对象:id , 取得玩家血量 加上 (g_heal_level[id]的数量 乘于 20)) } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 如果身为高手的你觉得哪里讲错或有更好的讲法 欢迎说出~ ^^ 今天的教学就到这里了~祝你能成SMA高手 如果你觉得对你有用 就让我吃朵花花 或推推吧~
x3
|
引用 | 编辑
烈Gama英仙座
2013-02-05 07:50 |
1楼
▲ ▼ |
嗯嗯~
怎么感觉你出文比上帝大大来的快呢 一天一篇 不早点起床抢不到头香呢 头香(洗头) 重点: 看过之后 并不会觉的你很嫩 真的 不需要在文章后加那一句 整篇文章算还不错的 x2 |
引用 | 编辑
Marchillus
2013-02-17 17:13 |
3楼
▲ ▼ |
呢 咱跟汝的阶级好像已经差不多了呢...(话说快开学了QAQ
x0 |
引用 | 编辑
弑血
2013-04-23 01:53 |
5楼
▲ ▼ |
加油喔
希望多出点,原因当然是,希望出现高手!!! 还有我这个人看到很多密密麻麻的字就 想删掉一些多余的字 我可以提醒你一下 这是你的 if(!is_user_alive(id)) { client_print(id, print_chat, "[系统]请等到复活后再使用!") } else if(is_user_alive(id) && cs_get_user_money(id) >= 3000 && g_heal_level[id] <= 40) { cs_set_user_money(id, cs_get_user_money(id) - 3000 ,0) g_heal_level[id]++ set_user_health(id, get_user_health(id) + 20) client_print(id, print_chat, "[系统]你提升了血量上限至[%d]", (g_heal_level[id] * 20 + 100)) } else if(is_user_alive(id) && cs_get_user_money(id) < 3000) { client_print(id, print_chat, "[系统]你的金钱不够!") } else if(is_user_alive(id) && g_heal_level[id] == 41) { client_print(id, print_chat, "[系统]你的血量上限已达最高!") } } 我觉得 修改过后 会减少很多 这我帮你修改的,看你要不要使用 if(!is_user_alive(id)) { client_print(id, print_chat, "[系统]请等到复活后再使用!") } else { if(cs_get_user_money(id) >= 3000 && g_heal_level[id] <= 40) { cs_set_user_money(id, cs_get_user_money(id) - 3000 ,0) g_heal_level[id]++ set_user_health(id, get_user_health(id) + 20) client_print(id, print_chat, "[系统]你提升了血量上限至[%d]", (g_heal_level[id] * 20 + 100)) } else if(cs_get_user_money(id) < 3000) { client_print(id, print_chat, "[系统]你的金钱不够!") } else if(g_heal_level[id] == 41) { client_print(id, print_chat, "[系统]你的血量上限已达最高!") } } 我是觉得...你已经判断好了前者,为啥后者要不断的给他勒 你不觉得你已经给了if(!is_user_alive(id)) 那为什么 else之后 就是另类的意思 还多给他3个is_user_alive(id) 这并不是在指点你 ,而是想说 让大家明白使用else的方式。 x0 |
引用 | 编辑
adi37545vfg
2013-09-11 18:29 |
9楼
▲ ▼ |
楼主大大好强 我不会写插件= = 感谢你发教学文 让我们看^^
x0 |
引用 | 编辑
dpes964211
2013-09-27 20:22 |
10楼
▲ ▼ |
载点不能下载= = health_example.txt 里面都是乱码
x0 |
引用 | 编辑
j12412211202
2014-05-11 09:59 |
12楼
▲ ▼ |
因为大大的教学。令我学会了如何制作sma
x0 |