引用 | 编辑
freeze02468
2014-01-11 14:40 |
楼主
▼ |
||
|
引用 | 编辑
a7811311622
2014-01-11 15:07 |
1楼
▲ ▼ |
下面是引用 freeze02468 于 2014-01-11 14:40 发表的 小弟又来问问题了...小弟又来问问题了...,|请问各位大大...:不…上次有说过了…那段已经是很旧又很烂的杀人图写法了… 后期的方法就直接修改 DeathMsg 了… 例如: 复制程式 public plugin_init() { register_message(get_user_msgid("DeathMsg"), "message_deathmsg") } public message_deathmsg(msg_id, msg_dest, msg_entity) { static attacker; attacker = get_msg_arg_int(1) //static victim; victim = get_msg_arg_int(2) //static headshot; headshot = get_msg_arg_int(3) static weapon[32]; get_msg_arg_string(4, weapon, sizeof weapon - 1) if (g_Had_DragonSword[attacker] && equal(weapon, "knife")) { set_msg_arg_string(4, "dragonsword") // hud.txt 里的SPR名称,例如这里的名称是 d_dragonsword } } ![]() |
引用 | 编辑
freeze02468
2014-01-11 15:11 |
2楼
▲ ▼ |
引用 | 编辑
freeze02468
2014-01-11 16:04 |
3楼
▲ ▼ |
||||||||||
对不起a78大大...小弟还有一个问题...Sorry
是关于购买青龙偃月刀时的问题... 大大您之前有教过我说要在 复制程式 public zp_extra_item_selected(id, ItemID) 的 复制程式 if(ItemID == g_DragonSword) 中加入 if (g_Had_DragonSword[id]) { client_print(id, print_center, "你已经拥有此武器") return ZP_PLUGIN_HANDLED; // ZP自订的回传值,效果就自让子弹包自己加回去 } 不过不知道为什么买了不会扣钱..而且还可以一直买...请问是小弟哪里写错了? ![]()
![]() |
引用 | 编辑
a7811311622
2014-01-11 21:48 |
4楼
▲ ▼ |
下面是引用 freeze02468 于 2014-01-11 16:04 发表的 :因为写错位置了…||= = 你的 get_dragonsword(id) 没放在 return ZP_PLUGIN_HANDLED; 之后… return 的效果当然没法影响到 get_dragonsword(id) … 复制程式 public zp_extra_item_selected(id, ItemID) { if(ItemID == g_DragonSword) get_dragonsword(id) // 可是程式是先执行这里后再往下执行,你给武器的内容在这里 { if (g_Had_DragonSword[id]) // 满足某条件? { client_print(id, print_center, "你已经拥有此武器") return ZP_PLUGIN_HANDLED; // 让下面的主要内容不执行 } // 主要内容 } } ![]() |
引用 | 编辑
freeze02468
2014-01-12 01:00 |
5楼
▲ ▼ |
下面是引用 a7811311622 于 2014-01-11 21:48 发表的 : 非常感谢大大的帮忙!! ![]() 改插件真的是太难了...虽然有些指令是知道他的意思...但是全部堆起来根本看不懂在做什么 ![]() 如果没有大大你的帮助我根本不行... ![]() ![]() |
引用 | 编辑
freeze02468
2014-01-12 01:36 |
6楼
▲ ▼ |
||||||||||
下面是引用 a7811311622 于 2014-01-11 21:48 发表的 : 请问大大...能够在问您一个问题吗? ![]() 小弟有将SPR的指令都写进去了... https://forums.alliedmods.net/showthread.php?t=175632 如果照着上面网站的教学做是能够正常显示 不过这样普刀和青龙偃月刀都是一样的SPR 就跟之前的这篇一样... http://bbs.mychat.to/reads.php?tid=993664 接着小弟将插件里的指令照着大大的方法修改过了... 就是像这样子 复制程式 public OnAddToPlayerKnife( const item, const player ) { if( pev_valid( item ) && is_user_alive( player ) ) // just for safety. { if( g_Had_DragonSword[ player ] ) { message_begin( MSG_ONE, MsgIndexWeaponList, .player = player ); write_string( "weapon_dragonsword" ); // WeaponName write_byte( -1 ); // PrimaryAmmoID write_byte( -1 ); // PrimaryAmmoMaxAmount write_byte( -1 ); // SecondaryAmmoID write_byte( -1 ); // SecondaryAmmoMaxAmount write_byte( 2 ); // SlotID (0...N) write_byte( 1 ); // NumberInSlot (1...N) write_byte( CSW_KNIFE ); // WeaponID write_byte( 0 ); // Flags message_end(); } else { message_begin( MSG_ONE, MsgIndexWeaponList, .player = player ); write_string( "weapon_knife" ); // WeaponName write_byte( -1 ); // PrimaryAmmoID write_byte( -1 ); // PrimaryAmmoMaxAmount write_byte( -1 ); // SecondaryAmmoID write_byte( -1 ); // SecondaryAmmoMaxAmount write_byte( 2 ); // SlotID (0...N) write_byte( 1 ); // NumberInSlot (1...N) write_byte( CSW_KNIFE ); // WeaponID write_byte( 0 ); // Flags message_end(); } } } ![]() 如果工程太浩大的话那小弟就不好意思麻烦大大了 ![]() 老是给您添麻烦真不好意思 ![]()
![]() |
引用 | 编辑
a7811311622
2014-01-12 09:45 |
7楼
▲ ▼ |
引用 | 编辑
freeze02468
2014-01-12 11:20 |
8楼
▲ ▼ |
||||||||||
下面是引用 a7811311622 于 2014-01-12 09:45 发表的 : 不好意思大大 register_clcmd 的后面那一串忘了改了.... ![]() 不过...我改完了之后还是一样没有跑出来... ![]() 或是小弟又那里打错了? 可以麻烦请大大帮下一吗? ![]() 对不起小弟比较笨...需要大大的帮忙...
![]() |
引用 | 编辑
freeze02468
2014-01-12 12:22 |
9楼
▲ ▼ |
||||||||||
很对不起大大...在这个问题还没解决之前又有另外一个问题衍生出来了
![]() 这个问题是另外一个插件... 还是关于可以一直买枪的问题... 当我修改完之后,要编译时出现了... ![]() 真的感到万分的抱歉!! ![]() 问了这么多的问题... ![]()
![]() |
引用 | 编辑
a7811311622
2014-01-12 16:40 |
10楼
▲ ▼ |
下面是引用 freeze02468 于 2014-01-12 11:20 发表的 :这是刀子…刀子通常不像武器…右边会显示SPR… 除非自己在 public get_dragonsword(id) 里面加入这段: 复制程式 message_begin( MSG_ONE, MsgIndexWeaponList, .player = player ); write_string( "weapon_dragonsword" ); // WeaponName write_byte( -1 ); // PrimaryAmmoID write_byte( -1 ); // PrimaryAmmoMaxAmount write_byte( -1 ); // SecondaryAmmoID write_byte( -1 ); // SecondaryAmmoMaxAmount write_byte( 2 ); // SlotID (0...N) write_byte( 1 ); // NumberInSlot (1...N) write_byte( CSW_KNIFE ); // WeaponID write_byte( 0 ); // Flags message_end(); 下面是引用 freeze02468 于 2014-01-12 12:22 发表的 :这插件的写法不是常见的写法… 第92行的 g_Had_BWGlock[id] 要改成 Get_BitVar(g_Had_BWGlock, id) … ![]() |
引用 | 编辑
freeze02468
2014-01-12 17:30 |
11楼
▲ ▼ |
引用 | 编辑
a7811311622
2014-01-13 13:44 |
12楼
▲ ▼ |
引用 | 编辑
freeze02468
2014-01-13 14:18 |
13楼
▲ |