找回密码
 点一下
查看: 1675|回复: 25

debug系统怎么使用

[复制链接]
发表于 2009-1-16 15:23:59 | 显示全部楼层 |阅读模式
玩家X输入""
set udg_S=输入的聊天信息
set udg_N=debugS2I(udg_S)
call CreateItem(udg_N,x,y)
关于这个
听说需要debug系统

不同的无法运行set udg_N=debugS2I(udg_S)

请高人解释下怎么用
发表于 2009-1-16 15:27:14 | 显示全部楼层
这个显然不是cj或者bj的函数,所以完全不知道是什么
回复

使用道具 举报

 楼主| 发表于 2009-1-16 15:30:45 | 显示全部楼层
我下的别人的教程地图
这个不被限制
我把这代码复制过去就不行
不知道原因啊
回复

使用道具 举报

发表于 2009-1-16 15:33:22 | 显示全部楼层
别人的图里是不是申明了这些函数?
回复

使用道具 举报

 楼主| 发表于 2009-1-16 15:42:12 | 显示全部楼层
[trigger]
CreateItem
事件
玩家 - 玩家1(红色) 输入的聊天信息包含 <空字符串> ,匹配方式: 包含字符串
条件
动作
设置 TS = (输入的聊天信息)
自定义代码: set udg_N= debugS2I(udg_TS)
自定义代码: call CreateItem(udg_N,0,0)
[/trigger]
回复

使用道具 举报

 楼主| 发表于 2009-1-16 15:44:37 | 显示全部楼层
里面就这几行
什么都没了
回复

使用道具 举报

发表于 2009-1-16 15:47:23 | 显示全部楼层
那么在自定义脚本里呢?

这些明显不是原有的函数
回复

使用道具 举报

 楼主| 发表于 2009-1-16 15:50:38 | 显示全部楼层
这个是地图

聊天输入创建物品.w3x

19 KB, 下载次数: 9

回复

使用道具 举报

发表于 2009-1-16 15:54:52 | 显示全部楼层
[codes=jass]//===========================================================================
// Convert a integer id value into a 4-letter id code.
//
function DebugIdInteger2IdString takes integer value returns string
      local string charMap = "..................................!.#$%&'()*+,-./0123456789:;<=>.@ABCDEFGHIJKLMNOPQRSTUVWXYZ[.]^_`abcdefghijklmnopqrstuvwxyz{|}~................................................................................................................................"
      local string result = ""
      local integer remainingValue = value
      local integer charValue
      local integer byteno

      set byteno = 0
      loop
            set charValue = ModuloInteger(remainingValue, 256)
            set remainingValue = remainingValue / 256
            set result = SubString(charMap, charValue, charValue + 1) + result

            set byteno = byteno + 1
            exitwhen byteno == 4
      endloop
      return result
endfunction

function debugS2I takes string targetstr returns integer
local string originstr="..................................!.#$%&'()*+,-./0123456789:;<=>.@ABCDEFGHIJKLMNOPQRSTUVWXYZ[.]^_`abcdefghijklmnopqrstuvwxyz{|}~................................................................................................................................"
local integer strlength=StringLength(targetstr)
local integer a=0                  //分部当前数字
local integer b=0               //当前处理字   
local integer numx=1      //位权
local integer result=0
loop
exitwhen b>strlength-1
      set numx=R2I(Pow(256,strlength-1-b))
      set a=1
      loop
      exitwhen a>255
      if SubString(targetstr,b,b+1)==SubString(originstr,a,a+1) then
      set result=result+a*numx
      set a=256
      endif
      set a=a+1
      endloop
      set b=b+1
endloop
return result
endfunction[/codes]

lz明显没有看自定义脚本的东西

顺便,这是以前我做的
参考链接
回复

使用道具 举报

 楼主| 发表于 2009-1-16 15:58:42 | 显示全部楼层
你这个一样可以达到效果
但是太麻烦了点
看的我迷糊
回复

使用道具 举报

发表于 2009-1-16 16:04:01 | 显示全部楼层
做地图嫌麻烦可不是什么好习惯

原理上是一样的,不过7楼的图用了jass将这些模块化了,而我是直接在触发里转换而已
回复

使用道具 举报

发表于 2009-1-16 19:31:49 | 显示全部楼层
说白了楼主只想要一个傻瓜式的可移植系统~~
回复

使用道具 举报

发表于 2009-1-16 22:05:54 | 显示全部楼层
如果只是想移植又不懂jass,很明显我发的那个T更容易些额
回复

使用道具 举报

 楼主| 发表于 2009-1-16 22:34:20 | 显示全部楼层
t是简单些
但是那个j就是搞不明白
为什么那个触发器可兼容错误

一样的we啊  就导入2个不同的wtg
1个可以出现那个条j
1个不可以出现

我找不到原因啊
回复

使用道具 举报

发表于 2009-1-16 22:36:46 | 显示全部楼层
我貌似说了很多次了,你没有把自定义脚本复制到你的地图里
回复

使用道具 举报

 楼主| 发表于 2009-1-16 23:24:30 | 显示全部楼层
set udg_N= debugS2I(udg_TS)

是这个自定义代码出错
我是复制这个进去出错啊

你指的脚本是什么
回复

使用道具 举报

发表于 2009-1-16 23:26:36 | 显示全部楼层
对于这张地图,就是我8楼的那段

触发编辑器里点击左上方的地图名就能看到

不会jass要移植最好还是补充些jass基础知识吧
回复

使用道具 举报

 楼主| 发表于 2009-1-16 23:31:16 | 显示全部楼层
function Trig_CreateItem_Actions takes nothing returns nothing
    set udg_TS = GetEventPlayerChatString()
    set udg_N= debugS2I(udg_TS)
    call CreateItem(udg_N,0,0)
endfunction

//===========================================================================
function InitTrig_CreateItem takes nothing returns nothing
    set gg_trg_CreateItem = CreateTrigger(  )
    call TriggerRegisterPlayerChatEvent( gg_trg_CreateItem, Player(0), "", false )
    call TriggerAddAction( gg_trg_CreateItem, function Trig_CreateItem_Actions )
endfunction


完全一样的代码
复制后再重置触发器
再贴进去,就不行了

看来还是用你那段算了
我没耐性了
都找不到原因
回复

使用道具 举报

发表于 2009-1-16 23:34:52 | 显示全部楼层
你根本就是在乱来,我可没叫你把触发转成jass,而是要你把地图的自定义脚本区域部分复制过去
回复

使用道具 举报

 楼主| 发表于 2009-1-16 23:38:36 | 显示全部楼层
老大您自己试试就知道了
这里面就2个自定义脚本
  set udg_N= debugS2I(udg_TS)
    call CreateItem(udg_N,0,0)

上面1个复制进去出错
这个代码据说是用了什么debug技术
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-25 07:12 , Processed in 0.112654 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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