引用 | 编辑
tony987852
2010-08-15 12:20 |
楼主
▼ |
||
![]() 在活着的时候可以看到自己的状态,可是死掉以后不能看其他人的状态 所以,希望有人能告诉我哪里出错... 顺便问一下....sma中有哪参数可以防止被人打停(就是在走的时候,如果有人向我开枪,我不会停下来)谢谢了... 复制程式 const PEV_SPEC_TARGET = pev_iuser2 public ShowHUD(taskid) { static id id = taskid - 1337 // Player died? if (!is_user_alive(id)) { // Get spectating target id = pev(id, PEV_SPEC_TARGET) // Target not alive if (!is_user_alive(id)) return; } new Float:hud_time = get_pcvar_float(g_pcvar_healthtime); // Spectating someone else? if (id != taskid - 1337) { set_hudmessage(0, 255, 0, 0.6, 0.8, 0, hud_time, hud_time, 0.1, 0.2, 4); show_hudmessage(id, "%L", LANG_SERVER, "PLAYER_HEALTH", get_user_health(id), g_Point[id], combo[id], g_level[id], g_xp[id], g_next_lv[id]); } else { set_hudmessage(0, 255, 0, 0.6, 0.9, 0, hud_time, hud_time, 0.1, 0.2, 4); show_hudmessage(id, "%L", LANG_SERVER, "PLAYER_HEALTH", get_user_health(taskid - 1337), g_Point[taskid - 1337], combo[taskid - 1337], g_level[taskid - 1337], g_xp[taskid - 1337], g_next_lv[taskid - 1337]); } } ![]()
|
引用 | 编辑
chuchung712
2010-08-15 12:25 |
1楼
▲ ▼ |
你就这样拿着31行存成SMA档去转档吗…… Orz
![]() |
引用 | 编辑
tony987852
2010-08-15 13:07 |
2楼
▲ ▼ |
当然不是...我把这段源码加进去Base Builder...
这31行的就是主要的内容... 因为我不小心把BB插件的内容加了40KB...所以不方便放出... ![]() |
引用 | 编辑
chuchung712
2010-08-15 13:09 |
3楼
▲ ▼ |
没SMA档怎修改
至少也说有什么错误 ![]() |
引用 | 编辑
tony987852
2010-08-15 13:13 |
4楼
▲ ▼ |
就是没有说错误阿...上面已经说了...
生存时可以看到自己的状态,可是死掉后不能看到别人的状态 就是这个问题... ![]() |
引用 | 编辑
chuchung712
2010-08-15 13:20 |
5楼
▲ ▼ |
你有说过吗……?
====================== 试试不要这段 // Player died? if (!is_user_alive(id)) { // Get spectating target id = pev(id, PEV_SPEC_TARGET) // Target not alive if (!is_user_alive(id)) return; } ![]() |
引用 | 编辑
tony987852
2010-08-15 13:57 |
6楼
▲ ▼ |
刚试过了...死后是可以看到自己的状态.........可是..我要的是别人的状态...
![]() |
引用 | 编辑
chuchung712
2010-08-15 14:04 |
7楼
▲ ▼ |
无能为力
另请高明吧 =V= 插件我都不太懂 ![]() |
引用 | 编辑
a7811311622
2010-08-15 22:46 |
8楼
▲ ▼ |
下面是引用 tony987852 于 2010-08-15 12:20 发表的 sma的问题,|有人能帮我看看这段源码有什么问题吗...?: 为何觉得你好像搞混了"id"和"taskid - 1337"使用的时间点呢… 你要不要重新复制原本的内容后再把ZP原本的「ID_SHOWHUD」全部取代成「taskid - 1337」 后在比较看看你原本写的内容…至于「防止被人打停」… 用ZP的指令"zp_zombie_painfree"应该就能追查到写法了吧… ![]() ![]() ![]() ![]() |
引用 | 编辑
tony987852
2010-08-15 23:12 |
9楼
▲ ▼ |
下面是引用 a7811311622 于 2010-08-15 22:46 发表的 :没有搞混呀... 复制程式 enum (+= 100) { TASK_SHOWHUD } #define ID_SHOWHUD (taskid - TASK_SHOWHUD) 上面用法不是跟taskid - 1337一样吗? 假定TASK_SHOWHUD是100 ID_SHOEHUD不就 = taskid - 100 = taskid - 1337 吗? 复制程式 public ShowHUD(taskid) { static id id = taskid - 1337 // Player died? if (!is_user_alive(id)) { // Get spectating target id = pev(id, PEV_SPEC_TARGET) // Target not alive if (!is_user_alive(id)) return; } new Float:hud_time = get_pcvar_float(g_pcvar_healthtime); // Spectating someone else? if (id != taskid - 1337) { set_hudmessage(0, 255, 0, 0.6, 0.8, 0, hud_time, hud_time, 0.1, 0.2, 4); show_hudmessage(id, "%L", LANG_SERVER, "PLAYER_HEALTH", get_user_health(id), g_Point[id], combo[id], g_level[id], g_xp[id], g_next_lv[id]); } else { set_hudmessage(0, 255, 0, 0.6, 0.9, 0, hud_time, hud_time, 0.1, 0.2, 4); show_hudmessage(id, "%L", LANG_SERVER, "PLAYER_HEALTH", get_user_health(taskid - 1337), g_Point[taskid - 1337], combo[taskid - 1337], g_level[taskid - 1337], g_xp[taskid - 1337], g_next_lv[taskid - 1337]); } } ![]() |
引用 | 编辑
a7811311622
2010-08-15 23:41 |
10楼
▲ ▼ |
下面是引用 tony987852 于 2010-08-15 23:12 发表的 : 呃…问题不在这里…问题在于…请善用「Ctrl+H」的取代功能… ![]() 光是一个地方就看出问题了…试问…既然「id = taskid - 1337」… 那这段 复制程式 // Spectating someone else? if (id != taskid - 1337) { show_hudmessage(id, …) } ![]() ![]() |
引用 | 编辑
tony987852
2010-08-16 08:18 |
11楼
▲ ▼ |
下面是引用 a7811311622 于 2010-08-15 23:41 发表的 :所以...问题就在这...然后,我刚才就把show_hudmessage(id, …)那个id改成taskid - 1337 测试完后...结果: 还是这样... 所以,问题应该不在这里? 另外... 复制程式 RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage_Post", 1) public fw_TakeDamage_Post(victim) { if(cs_get_user_team(victim) != CS_TEAM_T) return; set_pdata_float(victim, OFFSET_PAINSHOCK, 1.0, OFFSET_LINUX) } 上面的可以加入attacker吗...? 因为我想要只有特定的武器可以打停 ![]() |
引用 | 编辑
a7811311622
2010-08-16 10:20 |
12楼
▲ ▼ |
下面是引用 tony987852 于 2010-08-16 08:18 发表的 : 错误不只那边…我上面只是举其中一个错误而已…所以才说善用「Ctrl+H」的取代功能… 话说ZP 4.3 有关「fw_TakeDamage_Post」的写法还真节省啊… 你只要把「fw_TakeDamage_Post(victim)」改成「fw_TakeDamage_Post(victim, inflictor, attacker)」 就能用attacker了… ![]() |
引用 | 编辑
tony987852
2010-08-16 11:51 |
13楼
▲ ▼ |