[ZP4.2]仿Tig 感染模式出幸存者和复仇者

Home Home
引用 | 编辑 dennis888
2011-02-15 07:15
楼主
推文 x0
出复仇者的内容是根据Rubbish-Nec 大大写的修改,出幸存者就是小弟自己写,抱歉加漏了==(26/3修改了,应该没有问题==)
1.寻找 // Game vars
2.在// Game vars上加上
// For Nemesis
new g_nemesis_in_game[33] // 选定不幸的彊尸
new bool:g_nemesis_appear
new bool:g_nemesis_die
new bool:OK_to_make
3.寻找 public event_round_start(),开新一行加上
        // Nemesis Something
        g_nemesis_appear = false
        g_nemesis_die = false
        OK_to_make = false
        set_task(random_float(20.0,180.0), "make_rubbish_nemesis")
4.在 public event_round_start() 这段完了,下面加上
public make_rubbish_nemesis()
{
        OK_to_make = true
}
5.寻找 public respawn_player(taskid),把我这个复制然后贴上
public respawn_player(taskid)
{
    // Get player's team
    static team
    team = fm_get_user_team(ID_SPAWN)
   
    // Respawn on infection rounds only
    if (!g_endround && !g_survround && !g_swarmround && !g_nemround && !g_plagueround && team != CS_TEAM_SPECTATOR && team != CS_TEAM_UNASSIGNED && !is_user_alive(ID_SPAWN))
    {
        // Set proper team before respawning, so that the TeamInfo message that's sent doesn't confuse PODBots
        if (g_respawn_as_zombie[ID_SPAWN])
                {
                        fm_set_user_team(ID_SPAWN, CS_TEAM_T)
                       
                        if(g_nemround)
                            return;
                        if (g_plagueround)
                            return;
                        if (g_nemesis_die)
                            return;
                       
                        new g_hahachance = random_num(1,10)
                       
                        if(g_hahachance == 1 && fnGetZombies() <= 10)
                        {
                                if(!g_nemesis_appear && OK_to_make)
                                {
                                        g_nemesis_in_game[ID_SPAWN] = true
                                        g_nemesis_appear = true
                                }
                        }
                }
                else
                fm_set_user_team(ID_SPAWN, CS_TEAM_CT)
               
                // Respawning a player has never been so easy
                ExecuteHamB(Ham_CS_RoundRespawn, ID_SPAWN) // 这指令是重生……能活动、能咬人的那种
               
                if(g_nemesis_in_game[ID_SPAWN]) // 能活动就了召唤复仇者吧,嘿嘿嘿
                {
                        zombieme(ID_SPAWN, 0, 1, 0)
                       
                        set_hudmessage(200, 0, 0, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0, -1)
                        ShowSyncHudMsg(0, g_MsgSync, "NEMESIS 出现……各位小心!!", LANG_PLAYER)
                       
                        g_nemesis_in_game[ID_SPAWN] = false
                       
                        g_nemesis_appear = true
                       
                        remove_task(TASK_AMBIENCESOUNDS)
                        ambience_sound_stop()
                        set_task(0.0, "ambience_sound_effects", TASK_AMBIENCESOUNDS)
                }
                if(!g_nemesis_appear && fnGetHumans() <= 4)
                {
                        new g_leaderchance = random_num(1,8)
                       
                        if(g_leaderchance == 1)
                        {
                                humanme(ID_SPAWN, 1)
                               
                                set_hudmessage(0, 0, 200, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0, -1)
                                ShowSyncHudMsg(0, g_MsgSync, "SurvivorLeaderDetected!!", LANG_PLAYER)
                               
                                PlaySound(sound_survivor[random_num(0, sizeof sound_survivor -1)]);
                        }
                }
                if(g_nemesis_appear && fnGetHumans() <= 4)
                {
                        new g_chance = random_num(1,8)
                       
                        if(g_chance == 1)
                        {
                                humanme(ID_SPAWN, 1)
                               
                                set_hudmessage(0, 0, 200, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0, -1)
                                ShowSyncHudMsg(0, g_MsgSync, "SurvivorLeaderDetected!!", LANG_PLAYER)
                               
                                PlaySound(sound_survivor[random_num(0, sizeof sound_survivor -1)]);
                        }
                }
    }
}
6.寻找public ambience_sound_effects(taskid)
7.把if (g_nemround) // Nemesis Mode 变成else if (g_nemround) // Nemesis Mode
8.在else if (g_nemround) // Nemesis Mode上面加上
        if(g_nemesis_die)
        {
        isound = random_num(0, sizeof sound_ambience1 - 1)
        copy(amb_sound, sizeof amb_sound -1, sound_ambience1[isound])
        duration = sound_ambience1_duration[isound]
        }
        else if(g_nemesis_appear)
        {
        isound = random_num(0, sizeof sound_ambience2 - 1)
        copy(amb_sound, sizeof amb_sound -1, sound_ambience2[isound])
        duration = sound_ambience2_duration[isound]
        }
9.寻找 if (g_nemesis[victim]),把我这个复制然后贴上
    if (g_nemesis[victim])
        {
                SetHamParamInteger(3, 2)
               
                set_hudmessage(200, 0, 0, HUD_EVENT_X, HUD_EVENT_Y, 0, 0.0, 3.0, 2.0, 1.0, -1)
                ShowSyncHudMsg(0, g_MsgSync, "NEMESIS 已被杀死,丧尸将不可再重生!", LANG_PLAYER)
               
                g_nemesis_die = true
               
                remove_task(TASK_AMBIENCESOUNDS)
                ambience_sound_stop()
                set_task(0.0, "ambience_sound_effects", TASK_AMBIENCESOUNDS)
        }
10.教学完。不过ZP4.2没有fnGetNemesis()和fnGetSurvivor()的指令,出过幸存者会再出,如果已经有复仇者,也会出,不过出了复仇者后不会再出(因g_nemesis_in_game[ID_SPAWN] = false,由true变成false )

献花 x0
引用 | 编辑 Hangbaby
2011-02-15 18:10
1楼
  
有没有zp4.3教学

献花 x0
引用 | 编辑 dennis888
2011-02-15 22:07
2楼
  
zp4.3教学有两个
http://bbs-mychat.com/reads.php?tid=907292 <-- 这个要Rubbish-Nec 大大发的复仇者在感染模式出现的插件
http://bbs-mychat.com/reads.php?tid=907946 <-- 这个不需要Rubbish-Nec 大大发的复仇者在感染模式出现的插件

献花 x0
引用 | 编辑 alvin321
2011-02-20 18:58
3楼
  
好乱...

献花 x0
引用 | 编辑 dennis888
2011-02-20 22:37
4楼
  
都不知道你有没有认真看==
只是说很乱
小弟自问很认真发文
而且认真看也能够改到主插件可以出幸存者和复仇者
你是不是只是为了加威望和$ ,而回一篇这么短又无意义的回覆?

献花 x0
引用 | 编辑 784063999
2011-03-02 14:15
5楼
  
如果没有fnGetNemesis()和fnGetSurvivor()
可以自行增加其他指令

献花 x0
引用 | 编辑 glay2005
2011-03-26 21:43
6楼
  
不过我改完转档OK后去测试好像无反应的样子....
而且新回合并没有随机变成丧尸....
管理选单也变无效....

献花 x0
引用 | 编辑 feifei767
2011-04-08 23:16
7楼
  
这是字海??
好对不起.我放弃去看..

献花 x0
引用 | 编辑 xiaozai
2011-04-26 11:32
8楼
  
哇,这么长啊 ,看的我头晕! 表情

献花 x0
引用 | 编辑 kaiabc777
2011-07-29 17:55
9楼
  
请问是随机抽选一个还是抽选多个?

献花 x1
引用 | 编辑 apapff58584
2012-10-31 14:59
10楼
  
Game vars在哪里? 我用搜寻都找不到..... 还是因为我的资料夹没有= =

献花 x0