找回密码
 点一下
查看: 884|回复: 8

求大大们看看,为何不能多人使用

[复制链接]
发表于 2011-10-21 15:19:30 | 显示全部楼层 |阅读模式
function EquipSystem_SimError takes player forPlayer, string msg returns nothing
    local sound error
    set error = CreateSoundFromLabel("InterfaceError",false,false,false,10,10)
    set msg="\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n|cffffcc00"+msg+"|r"
    if (GetLocalPlayer() == forPlayer) then
        call ClearTextMessages()
        call DisplayTimedTextToPlayer( forPlayer, 0.52, 0.96, 2.00, msg )
        call StartSound( error )
    endif   
    set error = null
endfunction
这个是自定义脚本代码

function Trig_HeroSpeedActions takes nothing returns nothing
    local integer i
    local player p
    set p = GetTriggerPlayer()
    set i = GetPlayerId(p) + 1
    if ((udg_PHero == null)) then
        call EquipSystem_SimError(p,"|cffffcc00"+"你还没有选择英雄."+"|r")
    else
        call DisplayTimedTextToPlayer( p, 0, -0, 10.00, ( udg_PlayerC + ( GetUnitName(udg_PHero) + ( "|r" + ( "的移动速度为:" + I2S(R2I(GetUnitMoveSpeed(udg_PHero))) ) ) ) ) )
    endif
endfunction

//===========================================================================
function InitTrig_HeroSpeed takes nothing returns nothing
    local trigger trg
    set trg = CreateTrigger()
#ifdef DEBUG
    call YDWESaveTriggerName(trg, "HeroSpeed")
#endif
#include <YDTrigger/TriggerRegisterAnyPlayerEvent.h>
    call TriggerRegisterPlayerChatEvent( trg, YDWEGetAllPlayer(), "-hs", true )
#include <YDTrigger/TriggerRegisterAnyPlayerEvent.h>
    call TriggerAddAction(trg, function Trig_HeroSpeedActions)
endfunction
发表于 2011-10-21 17:16:00 | 显示全部楼层
完全不懂J……
不过单人能用,而多人不能用的情况经常是调用了本地参数,因为各个玩家的本地参数不一样而导致游戏错误……
回复

使用道具 举报

发表于 2011-10-21 17:55:02 | 显示全部楼层
发J区把。。
回复

使用道具 举报

发表于 2011-10-21 19:25:48 | 显示全部楼层
不知道YD函数是啥意思
全局变量不明所以
另外,你得说清楚不能多人化的是哪一个部分,就你给出的信息,或许是因为全局变量没用数组
回复

使用道具 举报

发表于 2011-10-21 20:19:20 | 显示全部楼层
真的很奇怪.....

这个触发器本身并没有什么延时或者线程冲突,所以全部用全局变量都素安全的~lz其实东西米有发全呢~

怀疑你有另一个触发器,玩家选择单位事件;那个触发器的动作为设置udg_PHero=触发单位;

问题如楼上所说,没有使用数组,所有玩家都共用了一个变量~
回复

使用道具 举报

 楼主| 发表于 2011-10-21 22:28:56 | 显示全部楼层
怎么我复制上来是 全部被没了?我的函数里面是有设置数组的。
回复

使用道具 举报

 楼主| 发表于 2011-10-21 22:29:32 | 显示全部楼层

回 5楼(yassky) 的帖子

yassky:怎么我复制上来是 全部被没了?我的函数里面是有设置数组的。
(2011-10-21 22:28)
晕了,不能写【 i 】 啊
回复

使用道具 举报

发表于 2011-10-21 22:49:12 | 显示全部楼层
这个在windcode里是斜体……你可以换个变量做数组索引
回复

使用道具 举报

发表于 2011-10-21 22:58:33 | 显示全部楼层
不要换b、u、s、hr、url之类的就行……
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 20:42 , Processed in 0.035797 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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