找回密码
 点一下
查看: 2391|回复: 1

多人游戏独立任务演示

[复制链接]
发表于 2006-8-21 11:51:16 | 显示全部楼层 |阅读模式
对不同玩家显示不同任务的实现,其实很简单的东西,利用LocalPlayer,加一个判断就可以了。

我这里的WE是英文的,看不懂就自己用WE打开看:

[trigger]QuestTest
    事件
        单位 - A unit 死亡
    环境
        (Unit-type of (Triggering unit)) 等于 苦工
        QuestKP[(Player number of (Owner of (Killing unit)))] 小于 3
    动作
        Set TempInteger = (Player number of (Owner of (Killing unit)))
        Set QuestKP[TempInteger] = (QuestKP[TempInteger] + 1)
        Custom script:   if GetLocalPlayer() == GetOwningPlayer(GetKillingUnit()) then
        Custom script:   call DisplayTextToPlayer(GetLocalPlayer(),0,0,"屠杀苦工完成?" + I2S(udg_QuestKP[udg_TempInteger]) + "/3)")
        任务 - Change the description of TestQuest_Req to (屠杀苦工完成? + ((String(QuestKP[TempInteger])) + /3)))
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - 环境
                QuestKP[TempInteger] 等于 3
            Then - 动作
                任务 - Mark TestQuest as 完成
                任务 - Mark TestQuest_Req as 完成
                任务 - Flash the quest dialog button
            Else - 动作
        Custom script:   endif[/trigger]

两句Custom Script之间的代码是只对单人运行的。

GetLocalPlayer() :本地玩家,可以理解为屏幕前的人,所以对每个玩家的值都是不同的。在基于LocalPlayer的if判断就能实现仅对某玩家运行代码。

注意:GetLocalPlayer() 涉及到同步问题,如果对该函数不能很好的理解,千万不要乱用。

[ 本帖最后由 Red_Wolf 于 2006-8-21 11:54 编辑 ]
发表于 2006-9-9 13:34:20 | 显示全部楼层
不错,我也想这样....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-4-28 20:32 , Processed in 0.141314 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表