kshou 发表于 2015-6-21 15:07:55

求指导

单独运行test

可如果套进函数



这里的nil本该是8猜对
function on_sell(name,line,wildcards)
               if name=="giftget" then

local ss=wildcards

local bb=wildcards

csts(bb)

local aa=jisuan(bb)

csts(aa)

end
end

function test()
               csts("bb的值为".."十件")

local ss=jisuan("十件")

local ss=tostring(ss)

csts("计算后结果为"..ss)
end

function jisuan(str)
               local str=str

         if str=="十件" then return 10 end

if str=="九件" then return 9 end

if str=="八件" then return 8 end

if str=="七件" then return 7 end

if str=="六件" then return 6 end

if str=="五件" then return 5 end

if str=="四件" then return 4 end

if str=="三件" then return 3 end

if str=="二件" then return 2 end
end


求大神指导 为什么单独可以测试 套到函数就为空

北大侠客行MUD,中国最好的MUD

popmud 发表于 2015-6-21 22:40:58

把把几个函数顺序调整一下,主函数放在最后,前面顺序按主函数调用顺序排列。

xiaocao 发表于 2015-6-22 09:14:02

为啥不用大小写切换函数

popmud 发表于 2015-6-22 21:21:13

大小写切换函数,怎么做,能举个例子嘛

ltblue 发表于 2015-6-23 10:44:17

我这里有个汉字转换成数字的函数,看你能用上不
function getnumber(n)
--把汉字翻译为数字
local num=0

local h_pos=0

local l_pos=0

local retext

for i=1,string.len(n),2 do

local w=string.sub(n,i,i+1)

if w=="亿" then

num=num+h_pos*10000000

h_pos=0

elseif w=="万" then

num=num+h_pos*10000

h_pos=0

elseif w=="千" then

num=num+h_pos*1000

h_pos=0

elseif w=="百" then

num=num+h_pos*100

h_pos=0

elseif w=="十" then

if h_pos==0 then

num=num+10

else

num=num+h_pos*10

h_pos=0

end

elseif w=="一" then

h_pos=1

elseif w=="二" then

h_pos=2

elseif w=="三" then

h_pos=3

elseif w=="四" then

h_pos=4

elseif w=="五" then

h_pos=5

elseif w=="六" then

h_pos=6

elseif w=="七" then

h_pos=7

elseif w=="八" then

h_pos=8

elseif w=="九" then

h_pos=9

elseif w=="零" then

h_pos=0

else

retext=string.sub(n,i,-1)

break

end

end

num=num+h_pos

return num,retext
end


两个返回值,第一个是数字,第二个是去除数字的其他字符
比如输入:两双袜子
那么返回值就是:
2
双袜子


大体就是这样
代码也是我抄的别人的,超过10万会识别错,不过一般mud用不到那么大......
页: [1]
查看完整版本: 求指导