a7811311622
我…在工作了…
級別: 版主
版區: CS提問區
x771
x2152
|
分享:
▲
▼
下面是引用 史來姆 於 2010-07-20 09:55 發表的 : 果然是太難了嗎 不過也謝謝大大你了 唯有我自己努力 希望終日弄到選擇後就會變的吧 如果你想改…我就教你吧… 1.先假設變數: 複製程式
2.到「zombieme(id, infector, nemesis, specialmode)」裡增加: 複製程式
3.將「public menu_zclass(id, key)」裡的: // Store selection for the next infection g_zombieclassnext[id] = ZCLASSES_SELECTION;
換成 複製程式
// Store selection for the next infection
if (!g_be_infected[id])
{
g_zombieclassnext[id] = ZCLASSES_SELECTION;
}
else
{
g_zombieclass[id] = ZCLASSES_SELECTION;
改變人物模組和V檔模組的內容…
g_be_infected[id] = false;
}
中間改變模組的內容全是複製ZP裡的內容… 以下是我懶著過濾內容直接複製貼上的…(暫時只圖結果…) 複製程式
// Store selection for the next infection
if (!g_be_infected[id])
{
g_zombieclassnext[id] = ZCLASSES_SELECTION;
}
else
{
g_zombieclass[id] = ZCLASSES_SELECTION;
// Set the right model, after checking that we don't already have it
static currentmodel[32], already_has_model, i, iRand
already_has_model = false
// Get current model and compare it with current one
fm_get_user_model(id, currentmodel, sizeof currentmodel - 1)
if (g_nemesis[id])
{
for (i = 0; i < sizeof model_nemesis; i++)
if (equal(model_nemesis[i], currentmodel)) already_has_model = true;
if (!already_has_model)
{
iRand = random_num(0, sizeof model_nemesis -1)
copy(g_playermodel[id], sizeof g_playermodel[] - 1, model_nemesis[iRand])
#if defined SET_MODELINDEX_OFFSET
fm_set_user_model_index(id, g_modelindex_nemesis[iRand])
#endif
}
}
else
{
if (get_pcvar_num(cvar_adminmodelszombie) && get_user_flags(id) & ACCESS_FLAG3)
{
for (i = 0; i < sizeof model_admin_zombie; i++)
if (equal(model_admin_zombie[i], currentmodel)) already_has_model = true;
if (!already_has_model)
{
iRand = random_num(0, sizeof model_admin_zombie -1)
copy(g_playermodel[id], sizeof g_playermodel[] - 1, model_admin_zombie[iRand])
#if defined SET_MODELINDEX_OFFSET
fm_set_user_model_index(id, g_modelindex_admin_zombie[iRand])
#endif
}
}
else
{
if (equal(g_zclass_model[g_zombieclass[id]], currentmodel)) already_has_model = true;
if (!already_has_model)
{
copy(g_playermodel[id], sizeof g_playermodel[] - 1, g_zclass_model[g_zombieclass[id]])
#if defined SET_MODELINDEX_OFFSET
fm_set_user_model_index(id, g_zclass_modelindex[g_zombieclass[id]])
#endif
}
}
}
// Need to change the model?
if (!already_has_model)
{
// An additional delay is offset at round start
// since SVC_BAD is more likely to be triggered there
if (g_newround)
set_task(5.0*MODELCHANGE_DELAY, "fm_user_model_update", id+TASK_MODEL)
else
fm_user_model_update(id+TASK_MODEL)
}
switch (g_currentweapon[id])
{
case CSW_KNIFE: // Custom knife models
{
if (g_zombie[id] && !g_newround && !g_endround)
{
if (g_nemesis[id]) // Nemesis
{
set_pev(id, pev_viewmodel2, model_vknife_nemesis)
set_pev(id, pev_weaponmodel2, "")
}
else // Zombies
{
static mdl[100]
formatex(mdl, sizeof mdl - 1, "models/zombie_plague/%s", g_zclass_clawmodel[g_zombieclass[id]])
set_pev(id, pev_viewmodel2, mdl)
set_pev(id, pev_weaponmodel2, "")
}
}
else // Humans
{
set_pev(id, pev_viewmodel2, model_vknife_human)
set_pev(id, pev_weaponmodel2, "models/p_knife.mdl")
}
}
case CSW_M249: // Survivor's M249
{
if (g_survivor[id])
set_pev(id, pev_viewmodel2, model_vm249_survivor)
}
case CSW_HEGRENADE: // Infection bomb or fire grenade
{
if (g_zombie[id] && !g_newround && !g_endround)
set_pev(id, pev_viewmodel2, model_grenade_infect)
else
set_pev(id, pev_viewmodel2, model_grenade_fire)
}
case CSW_FLASHBANG: // Frost grenade
{
set_pev(id, pev_viewmodel2, model_grenade_frost)
}
case CSW_SMOKEGRENADE: // Flare grenade
{
set_pev(id, pev_viewmodel2, model_grenade_flare)
}
}
#if defined HANDLE_MODELS_ON_SEPARATE_ENT
fm_set_weaponmodel_ent(id)
#endif
g_be_infected[id] = false;
}
示範影片: 按這裡檢視影片,登入論壇可以直接觀看知道為何我會嫌麻煩了吧…
|
|
x3
[12 樓]
From:台灣中華電信 | Posted:2010-07-20 16:52 |
|
|
史來姆
|
分享:
▲
▼
大大你真是太強了 讓你這麼麻煩,真是抱歉啦 我也回你一花吧 不過有兩個warning該怎辦?無視嗎? loose indentation喔.. 還有我好像發現了一個bug 果然真夠麻煩當轉換疆屍時,模組變了,但是,好像速度,重力和血量沒變,技能也有些少影響 就以我為例,我的是個仿cso的zp 原本是莎菈疆屍的(低重力,高速) 之後轉成達叔(高重力,低速)後 除了轉了模組,重力,速度以及血量也如之前一樣(就是低重力,高速) 並且,說我已經沒有陷阱可用了(明明我弄了20個陷阱-3-) 除了達叔的技能有問題之外,其他殭屍的技能也沒問題 只是全部的重力和速度,以及血量有些問題 看來"即時變"真的太麻煩了
[ 此文章被史來姆在2010-07-20 17:45重新編輯 ]
|
|
x1
[13 樓]
From:香港網上行 | Posted:2010-07-20 17:18 |
|
|
a7811311622
我…在工作了…
級別: 版主
版區: CS提問區
x771
x2152
|
分享:
▲
▼
下面是引用 史來姆 於 2010-07-20 17:18 發表的 : 大大你真是太強了 讓你這麼麻煩,真是抱歉啦 我也回你一花吧
不過有兩個warning該怎辦?無視嗎? loose indentation喔..
還有我好像發現了一個bug 果然真夠麻煩 當轉換疆屍時,模組變了,但是,好像速度,重力和血量沒變,技能也有些少影響 就以我為例,我的是個仿cso的zp 原本是莎菈疆屍的(低重力,高速) 之後轉成達叔(高重力,低速)後 除了轉了模組,重力,速度以及血量也如之前一樣(就是低重力,高速) 並且,說我已經沒有陷阱可用了(明明我弄了20個陷阱-3-)
除了達叔的技能有問題之外,其他殭屍的技能也沒問題 只是全部的重力和速度,以及血量有些問題
看來"即時變"真的太麻煩了 我是用ZP 4.2 的說…速度是沒問題…我測試過了… 重力的確是忘記加條件了…而且我好像也忘了設定血量… 只要在剛才那段超長的裡面加上: 複製程式
fm_set_user_health(id, g_zclass_hp[g_zombieclass[id]])
set_pev(id, pev_gravity, g_zclass_grav[g_zombieclass[id]]) 即可將血量和重力同步改變… 速度照理來說是隨時都會被偵測並加以修正的… 所以我不確是是不是ZP版本還是其他的預料外狀況… 而擊退率也是同步修正的…不用理會…
|
|
x1
[14 樓]
From:台灣中華電信 | Posted:2010-07-20 17:56 |
|
|
a7811311622
我…在工作了…
級別: 版主
版區: CS提問區
x771
x2152
|
分享:
▲
▼
下面是引用 史來姆 於 2010-07-20 18:17 發表的 : 我肯定是zp4.2的了 技能是會轉變沒錯 只不過就是達叔按r使用時 center彈出一句[你沒有陷阱了] 像其他的殭屍,以雷比亞進化體為例 變了他後,確實光波是射出的 就是說只有達叔的技能出了點錯誤
此外,血量那裡 本來第一只殭屍是會血量x3的,就是殭屍sma裡設定2000,會變成6000 轉了殭屍後,變了該殭屍的血量(3500),但是卻沒有x3
第一只殭屍只得3500,31個bot不用5秒便殺了我 那把「fm_set_user_health(id, g_zclass_hp[g_zombieclass[id]])」改成: 複製程式
fm_set_user_health(id, g_firstzombie[id] ? floatround(g_zclass_hp[g_zombieclass[id]]*get_pcvar_float(cvar_zombiefirsthp)) : g_zclass_hp[g_zombieclass[id]]) 這樣就能判斷第一隻殭屍的血量了… 感覺以上內容都能發到教學區了…
|
|
x1
[18 樓]
From:台灣中華電信 | Posted:2010-07-20 18:23 |
|
|
|