有人能幫我看看這段源碼有什麼問題嗎...?

Home Home
引用 | 編輯 tony987852
2010-08-15 12:20
樓主
推文 x0
這段源碼是我從ZP的主插件出來的...
在活著的時候可以看到自己的狀態,可是死掉以後不能看其他人的狀態
所以,希望有人能告訴我哪裡出錯...

順便問一下....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]);
       }
}


獻花 x0
引用 | 編輯 chuchung712
2010-08-15 12:25
1樓
  
你就這樣拿著31行存成SMA檔去轉檔嗎…… Orz

獻花 x0
引用 | 編輯 tony987852
2010-08-15 13:07
2樓
  
當然不是...我把這段源碼加進去Base Builder...
這31行的就是主要的內容...
因為我不小心把BB插件的內容加了40KB...所以不方便放出...

獻花 x0
引用 | 編輯 chuchung712
2010-08-15 13:09
3樓
  
沒SMA檔怎修改

至少也說有什麼錯誤

獻花 x0
引用 | 編輯 tony987852
2010-08-15 13:13
4樓
  
就是沒有說錯誤阿...上面已經說了...
生存時可以看到自己的狀態,可是死掉後不能看到別人的狀態
就是這個問題...

獻花 x0
引用 | 編輯 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;
    }

獻花 x0
引用 | 編輯 tony987852
2010-08-15 13:57
6樓
  
剛試過了...死後是可以看到自己的狀態.........可是..我要的是別人的狀態...

獻花 x0
引用 | 編輯 chuchung712
2010-08-15 14:04
7樓
  
無能為力
另請高明吧 =V=

插件我都不太懂

獻花 x1
引用 | 編輯 a7811311622
2010-08-15 22:46
8樓
  
下面是引用 tony987852 於 2010-08-15 12:20 發表的 sma的問題,|有人能幫我看看這段源碼有什麼問題嗎...?: 到引言文
這段源碼是我從ZP的主插件出來的...
在活著的時候可以看到自己的狀態,可是死掉以後不能看其他人的狀態
所以,希望有人能告訴我哪裡出錯...
順便問一下....sma中有哪參數可以防止被人打停(就是在走的時候,如果有人向我開槍,我不會停下來)謝謝了...
[code]
.......

為何覺得你好像搞混了"id"和"taskid - 1337"使用的時間點呢…
你要不要重新複製原本的內容後再把ZP原本的「ID_SHOWHUD」全部取代成「taskid - 1337」
後在比較看看你原本寫的內容…至於「防止被人打停」…
用ZP的指令"zp_zombie_painfree"應該就能追查到寫法了吧…
表情 表情 表情

獻花 x0
引用 | 編輯 tony987852
2010-08-15 23:12
9樓
  
下面是引用 a7811311622 於 2010-08-15 22:46 發表的 : 到引言文
 
為何覺得你好像搞混了"id"和"taskid - 1337"使用的時間點呢…
你要不要重新複製原本的內容後再把ZP原本的「ID_SHOWHUD」全部取代成「taskid - 1337」
後在比較看看你原本寫的內容…至於「防止被人打停」…
用ZP的指令"zp_zombie_painfree"應該就能追查到寫法了吧…
表情  表情 表情
沒有搞混呀...

複製程式
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]);
       }
}


獻花 x0
引用 | 編輯 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, …)
 }
id = taskid - 1337同時卻又 id ≠ taskid - 1337…你沒感覺到矛盾嗎…?表情

獻花 x1
引用 | 編輯 tony987852
2010-08-16 08:18
11樓
  
下面是引用 a7811311622 於 2010-08-15 23:41 發表的 : 到引言文
 
呃…問題不在這裡…問題在於…請善用「Ctrl+H」的取代功能…表情  
光是一個地方就看出問題了…試問…既然「id = taskid - 1337」…
那這段
複製程式
 // Spectating someone else?
 if (id != taskid - 1337)
 {
  show_hudmessage(id, …)
 }
id = taskid - 1337同時卻又 id ≠ taskid - 1337…你沒感覺到矛盾嗎…?表情
所以...問題就在這...然後,我剛才就把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嗎...?
因為我想要只有特定的武器可以打停

獻花 x0
引用 | 編輯 a7811311622
2010-08-16 10:20
12樓
  
下面是引用 tony987852 於 2010-08-16 08:18 發表的 : 到引言文

所以...問題就在這...然後,我剛才就把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嗎...?
因為我想要只有特定的武器可以打停

錯誤不只那邊…我上面只是舉其中一個錯誤而已…所以才說善用「Ctrl+H」的取代功能…
話說ZP 4.3 有關「fw_TakeDamage_Post」的寫法還真節省啊…
你只要把「fw_TakeDamage_Post(victim)」改成「fw_TakeDamage_Post(victim, inflictor, attacker)」
就能用attacker了…

獻花 x1
引用 | 編輯 tony987852
2010-08-16 11:51
13樓
  
下面是引用 a7811311622 於 2010-08-16 10:20 發表的 : 到引言文
 
錯誤不只那邊…我上面只是舉其中一個錯誤而已…所以才說善用「Ctrl+H」的取代功能…
話說ZP 4.3 有關「fw_TakeDamage_Post」的寫法還真節省啊…
你只要把「fw_TakeDamage_Post(victim)」改成「fw_TakeDamage_Post(victim, inflictor, attacker)」
就能用attacker了…
HUD的問題解決了...
謝謝你^^

獻花 x0
引用 | 編輯 c7352458
2010-08-18 14:43
14樓
  
有轉過檔案媽???

獻花 x0