廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3322 個閱讀者
 
<< 上頁  1   2   3  下頁 >>(共 3 頁)
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 chuchung712 於 2010-07-16 19:43 發表的 : 到引言文
原來如此... = =
那麼
複製程式
RegisterHam(Ham_Weapon_PrimaryAttack, weapon_classname[i], "fw_WeapPriAttack")

這個會回傳玩家ID值嗎?
要分辨也不懂 = =

另外為什麼要 new i = 1 而不new id = 1 ?

還有上面HAM那個
到了public 裡又要ID嗎

好像問太多了...... = =

RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_???", "fw_WeapPriAttack")
回傳值並不是只有ID這麼單純…這段回傳的內容有點複雜…
「fw_WeapPriAttack(weapon)」裡的回傳值"weapon"其中的內容包括了武器屬名…
例如"weapon_knife"…就算是同樣武器…但是所持有的玩家ID值也不同…
所以"weapon"也回傳了玩家ID值…但是在這段forward裡取得玩家ID值是要用特殊寫法:
複製程式
 
 static id 
 id = pev(weapon, pev_owner) 

這段的用意是「取得該武器的持有者ID值」…而這時「持有者ID值」=「玩家ID值」…
所以此時的ID值是這樣取得的…

為何要用「new i = 1」…因為有時你的loop所在的forward裡面已經定義了"id"參數來
回傳玩家ID值…所以為了不互相衝突而假設成"i"…
當然…因為還是個取得玩家ID值的loop…
所以其中一個"i"所取得的玩家ID值會和"id"所取得的玩家ID值相同…
此時就依照需求來判斷是否要讓「id == i」的情況留下或是排除來達到這loop的目的…



尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [10 樓] From:台灣中華電信 | Posted:2010-07-16 22:50 |
Rubbish-Nec 手機 會員卡
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎 優秀管理員勳章 特殊貢獻獎-2
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x214 鮮花 x701
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 [AHK]XXX 於 2010-07-15 18:07 發表的 : 到引言文
能解釋一下嗎@@

依我看來的白目解釋是:

survivor_fail()
{
  for (new id = 1; id <= 32; id++) // 新增一個『ID』代表全部人
  {
      if (!is_user_connected(id) || !is_user_alive(id))  // 如果『ID』已連線、還沒有死就下去
          continue;    

      if (cs_get_user_team(id) == CS_TEAM_CT) // 如果『ID』是CT
      {
        user_kill(id,0)  // 幹掉他
      }
  }
  remove_task(TASK_AMBIENCE_SOUND)
  remove_task(TASK_BOSS_AMBIENCE_SOUND)
  StopSound(0)
  PlaySound(0, SOUND_SURVIVOR_FAIL)
}


已成過去的中二少年。
獻花 x0 回到頂端 [11 樓] From:沒有資料 | Posted:2010-07-16 23:39 |
chuchung712 會員卡
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎 優秀管理員勳章 特殊貢獻獎-2
知名人士
級別: 知名人士 該用戶目前不上站
推文 x774 鮮花 x1169
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

回a78大:
那為什麼大神的recoil插件要有那Loop?

複製程式
       for (new i = 0; i < sizeof weapon_classname; i++)
       {
              if (strlen(weapon_classname[i]) == 0)
                     continue;
              
              formatex(cvar_string, charsmax(cvar_string), "weap_%s_recoil", weapon_classname[i][7])
              g_weap_recoil[i] = register_cvar(cvar_string, weapon_recoil[i])
              
              RegisterHam(Ham_Weapon_PrimaryAttack, weapon_classname[i], "fw_WeapPriAttack")
              RegisterHam(Ham_Weapon_PrimaryAttack, weapon_classname[i], "fw_WeapPriAttack_Post", 1)
       }

很複雜 >_<


沒有理想的世界
獻花 x0 回到頂端 [12 樓] From:香港有線寬頻 | Posted:2010-07-17 12:00 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 chuchung712 於 2010-07-17 12:00 發表的 : 到引言文
回a78大:
那為什麼大神的recoil插件要有那Loop?
複製程式
 
       for (new i = 0; i < sizeof weapon_classname; i++) 
       { 
              if (strlen(weapon_classname[i]) == 0) 
                     continue; 
               
              formatex(cvar_string, charsmax(cvar_string), "weap_%s_recoil", weapon_classname[i][7]) 
              g_weap_recoil[i] = register_cvar(cvar_string, weapon_recoil[i]) 
               
              RegisterHam(Ham_Weapon_PrimaryAttack, weapon_classname[i], "fw_WeapPriAttack") 
              RegisterHam(Ham_Weapon_PrimaryAttack, weapon_classname[i], "fw_WeapPriAttack_Post", 1) 
       } 

很複雜 >_<

因為「RegisterHam(Ham_Weapon_PrimaryAttack…)」這段指定的武器只能用一把…
所以才會在前面先用個Array列出所以武器的名稱:

// Weapons calssname
new const weapon_classname[][] = { "", "weapon_p228", "", "weapon_scout", "", "weapon_xm1014", "", "weapon_mac10",  "weapon_aug", "", "weapon_elite", "weapon_fiveseven", "weapon_ump45", "weapon_sg550", "weapon_galil", "weapon_famas",  "weapon_usp", "weapon_glock18", "weapon_awp", "weapon_mp5navy", "weapon_m249", "weapon_m3", "weapon_m4a1",  "weapon_tmp", "weapon_g3sg1", "", "weapon_deagle", "weapon_sg552", "weapon_ak47", "", "weapon_p90" }

而大神那段的loop目的是讓用寫一次「RegisterHam」就讀取完全部的武器…
不然如果那段不用個loop的話就會變成每把武器都要寫一次「register_cvar」和「RegisterHam」:
複製程式
 
register_cvar("weap_p228_recoil", "-1.0") 
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_p228", "fw_WeapPriAttack", 1) 

register_cvar("weap_scout_recoil", "-1.0") 
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_scout", "fw_WeapPriAttack", 1) 

‧ 
‧ 
‧ 

那不是很繁雜嗎…?所以才會用個loop來讀取…

至於為何loop裡會有個「if (strlen(weapon_classname[ i ]) == 0) continue; 」是因為
「weapon_classname[][]」這個Array裡面有些是空值「""」…但是這讀取並無意義…
所以用這段假設來略過這些空值…

而「formatex(cvar_string, charsmax(cvar_string), "weap_%s_recoil", weapon_classname[ i ][7])」
這段的目的是將武器的名稱讀取出來…因為字串是可以用Array讀取的…
所以「weapon_classname[ i ][7]」這個假設就是讀取字串位置用的…而字串對上的Array位置如下:
weapon_
0123456
「weapon_classname[ i ][0]」對應「w」…「weapon_classname[ i ][1]」對應「e」…以此類推…
所以想讀取武器名稱時自然是從「weapon_classname[ i ][7]」開始讀取後面的字串…


[ 此文章被a7811311622在2010-07-17 13:54重新編輯 ]


尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [13 樓] From:台灣中華電信 | Posted:2010-07-17 13:48 |
chuchung712 會員卡
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎 優秀管理員勳章 特殊貢獻獎-2
知名人士
級別: 知名人士 該用戶目前不上站
推文 x774 鮮花 x1169
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

喔~

我明白了.......

即是如果只指定一個武器就不用loop了

辛苦大大了~   表情


話說可再問一個問題嗎
set_pev(owner, pev_punchangle, Float:{0.0, 0.0, 0.0})
以上後座力設定指令...
那一個才是倍數?


沒有理想的世界
獻花 x0 回到頂端 [14 樓] From:香港有線寬頻 | Posted:2010-07-17 14:47 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 chuchung712 於 2010-07-17 14:47 發表的 : 到引言文
喔~

我明白了.......

即是如果只指定一個武器就不用loop了

辛苦大大了~   表情


話說可再問一個問題嗎
set_pev(owner, pev_punchangle, Float:{0.0, 0.0, 0.0})
以上後座力設定指令...
那一個才是倍數?

這樣是單純的不讓畫面晃動而造成的無後座力效果…
嚴格來說那三個"0.0"目前並不算是倍數…只是個定值而已…
至於倍數的寫法…大略舉例如下:
複製程式
 
 static Float:punchangle[3] // 假設Array 
 pev(owner, pev_punchangle, punchangle) // 將畫面的角度導入假設的Array中 
 punchangle[0] *= 1.0 // 倍數 
 punchangle[1] *= 1.0 // 倍數 
 punchangle[2] *= 1.0 // 倍數 
 /* 
 如果覺得倍數的寫法三行太囉唆想縮短成一行的話就用個loop 
 for (new i = 0;i <= 2;i++) punchangle[ i ] *= 1.0 
 */ 
 set_pev(owner, pev_punchangle, punchangle) // 將改變後的數值回傳 

這樣才算是倍數…如果直接輸入數值就不算是倍數了…


尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [15 樓] From:台灣中華電信 | Posted:2010-07-17 21:11 |
chuchung712 會員卡
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎 優秀管理員勳章 特殊貢獻獎-2
知名人士
級別: 知名人士 該用戶目前不上站
推文 x774 鮮花 x1169
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

這樣是單純的不讓畫面晃動而造成的無後座力效果…
因此實際上仍有後座力?!

嚴格來說那三個"0.0"目前並不算是倍數…只是個定值而已…
至於倍數的寫法…大略舉例如下:
複製程式  
static Float:punchangle[3] // 假設Array
pev(owner, pev_punchangle, punchangle) // 將畫面的角度導入假設的Array中
punchangle[0] *= 1.0 // 倍數
punchangle[1] *= 1.0 // 倍數
punchangle[2] *= 1.0 // 倍數
/*
如果覺得倍數的寫法三行太囉唆想縮短成一行的話就用個loop
for (new i = 0;i <= 2;i++) punchangle[ i ] *= 1.0
*/
set_pev(owner, pev_punchangle, punchangle) // 將改變後的數值回傳
這樣才算是倍數…如果直接輸入數值就不算是倍數了…
看上去好像跟14樓的指令差不多 = ="

話說14樓的是從ZP無後座M4抽出的 表情


沒有理想的世界
獻花 x0 回到頂端 [16 樓] From:香港有線寬頻 | Posted:2010-07-18 11:23 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 chuchung712 於 2010-07-18 11:23 發表的 : 到引言文
因此實際上仍有後座力?!


看上去好像跟14樓的指令差不多 = ="

話說14樓的是從ZP無後座M4抽出的 表情

如果真的沒後座力的話…
為何調成無後座力時子彈沒法一直準確的命中在準心中心點…?

如果真的和14樓的差不多…你倒是可以試試
「set_pev(owner, pev_punchangle, Float:{1.0, 1.0, 1.0})」是否為「原後座力」…
測試完就明白所謂的「定值」和「變數」是不同的概念…
表情 表情 表情


尚無簽名,歡迎 [新增個性化簽名]
獻花 x0 回到頂端 [17 樓] From:台灣中華電信 | Posted:2010-07-18 13:09 |
chuchung712 會員卡
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎 優秀管理員勳章 特殊貢獻獎-2
知名人士
級別: 知名人士 該用戶目前不上站
推文 x774 鮮花 x1169
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

如果真的沒後座力的話…
為何調成無後座力時子彈沒法一直準確的命中在準心中心點…?

如果真的和14樓的差不多…你倒是可以試試
「set_pev(owner, pev_punchangle, Float:{1.0, 1.0, 1.0})」是否為「原後座力」…
測試完就明白所謂的「定值」和「變數」是不同的概念…
用了「定值」1.0後
只是畫面震動
沒原後座...

用「變數」後
不論調1.0, 0.5, 0.1 還是 0.0
最終也是原後座力 = =" Orz


是我的問題嗎


沒有理想的世界
獻花 x1 回到頂端 [18 樓] From:香港有線寬頻 | Posted:2010-07-18 14:48 |
a7811311622 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 優秀管理員勳章 社區建設獎
頭銜:我…在工作了…我…在工作了…
版主
級別: 版主 該用戶目前不上站
版區: CS提問區
推文 x771 鮮花 x2152
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

下面是引用 chuchung712 於 2010-07-18 14:48 發表的 : 到引言文

用了「定值」1.0後
只是畫面震動
沒原後座...

用「變數」後
不論調1.0, 0.5, 0.1 還是 0.0
最終也是原後座力 = =" Orz


是我的問題嗎

你確定你是放在
複製程式
RegisterHam(Ham_Weapon_PrimaryAttack, "weapon_???", "fw_WeapPriAttack", 1)
這段forward裡面的嗎…?別說你把後面的那個「, 1」拿掉喔…表情


尚無簽名,歡迎 [新增個性化簽名]
獻花 x1 回到頂端 [19 樓] From:台灣中華電信 | Posted:2010-07-18 15:48 |

<< 上頁  1   2   3  下頁 >>(共 3 頁)
首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.127902 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言