Ir para conteúdo
  • 0

God Nao Cria Itens E Nao Sobe Escadas


JustinnoTibianno

Pergunta

Oi estou aqui porque estou com um problema no otserver que estou fazendo, eu mudei a versao dele de 9.44 para 9.60, mas meu God nao cria itens, nao consegue fazer os comandos /i /m /t /n etc. Outro problema é que ele nao consegue subir akelas escadas, ele tambem nao consegue descer aqueles bueiros.

 

ladder : id 1386

sewer grate : id 430

 

 

assim está o god no tallkcactions :

 

<!-- Gods -->

<talkaction log="yes" words="/attr" access="5" event="function" value="thingProporties"/>

<talkaction log="yes" words="/serverdiag" access="5" event="function" value="diagnostics"/>

<talkaction log="yes" words="/closeserver" access="5" event="script" value="closeopen.lua"/>

<talkaction log="yes" words="/openserver" access="5" event="script" value="closeopen.lua"/>

<talkaction log="yes" words="/promote;/demote" access="5" event="script" value="promote.lua"/>

<talkaction log="yes" words="/skill;/addskill" access="5" event="script" value="skill.lua"/>

<talkaction log="yes" words="/shutdown" access="5" event="script" value="shutdown.lua"/>

<talkaction log="yes" words="/mode" access="5" event="script" value="mode.lua"/>

<talkaction log="yes" words="/bless" access="5" event="script" value="blessings.lua"/>

<talkaction log="yes" words="/banish" access="5" event="script" value="banish.lua"/>

 

 

 

Quando tento cria iten aparece isso no executor:

stack traceback:

data/lib/011-starting.lua: in function 'explode'

data/tallkaction/createiten.lua:7: in function <data/tallkaction/scripts/createiten.lua:1>

 

Quando tento cria monstro:

stack traceback:

data/lib/011-starting.lua: in function 'explode'

data/tallkaction/creature.lua:7: in function <data/tallkaction/scripts/creature.lua:1>

 

Quando tento usar o comando /t :

stack traceback:

data/lib/011-starting.lua: in function 'explode'

data/tallkaction/teleporttown.lua:15: in function <data/tallkaction/scripts/teleporttown.lua:1>

Editado por JustinnoTibianno
Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Você não tem o script de criar itens, certo? Se for isso, crie um arquivo.lua em data/talkactions/scripts e cole isto dentro:

 

function onSay(cid, words, param, channel)
   if(param == '') then
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.")
       return true
   end

   local t = string.explode(param, ",")
   local ret = RETURNVALUE_NOERROR
   local pos = getCreaturePosition(cid)

   local id = tonumber(t[1])
   if(not id) then
       id = getItemIdByName(t[1], false)
       if(not id) then
           doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item wich such name does not exists.")
           return true
       end
   end

   local amount = 100
   if(t[2]) then
       amount = t[2]
   end

   local item = doCreateItemEx(id, amount)
   if(t[3] and getBooleanFromString(t[3])) then
       if(t[4] and getBooleanFromString(t[4])) then
           pos = getCreatureLookPosition(cid)
       end

       ret = doTileAddItemEx(pos, item)
   else
       ret = doPlayerAddItemEx(cid, item, true)
   end

   if(ret ~= RETURNVALUE_NOERROR) then
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Couldn't add item: " .. t[1])
       return true
   end

   doDecayItem(item)
   if(not isPlayerGhost(cid)) then
       doSendMagicEffect(pos, CONST_ME_MAGIC_RED)
   end

   return true
end

 

Em talkactions.xml cole a tag:

 

<talkaction log="yes" words="/i" access="4" event="script" value="NOMEDOSEUARQUIVO.lua"/>

Link para o comentário
Compartilhar em outros sites

  • 0

Esse daí é o script de criar item pelo /i. Se não funcionou e você fez tudo certo, pode ser que ao tentar passar de versão, tenha afetado algumas funções do server.

Link para o comentário
Compartilhar em outros sites

  • 0

Muito estranho dar erro na "string.explode".

Poste seu arquivo lua 011-starting.lua em lib.

 

Se prefeir tente trocar pois pode ser uma falha no codigo da lib.

string.split = function (str)

local t = {}

return not str:gsub("%w+", function(s) table.insert(t, s) return "" end):find("%S") and t or {}

end

 

string.trim = function (str)

return str:gsub("^%s*(.-)%s*$", "%1")

end

 

string.explode = function (str, sep, limit)

if(type(sep) ~= 'string' or isInArray({tostring(str):len(), sep:len()}, 0)) then

return {}

end

 

local i, pos, tmp, t = 0, 1, "", {}

for s, e in function() return string.find(str, sep, pos) end do

tmp = str:sub(pos, s - 1):trim()

table.insert(t, tmp)

pos = e + 1

 

i = i + 1

if(limit ~= nil and i == limit) then

break

end

end

 

tmp = str:sub(pos):trim()

table.insert(t, tmp)

return t

end

 

string.expand = function (str)

return string.gsub(str, "$(%w+)", function(n) return _G[n] end)

end

 

string.diff = function (diff)

local format = {

{"week", diff / 60 / 60 / 24 / 7},

{"day", diff / 60 / 60 / 24 % 7},

{"hour", diff / 60 / 60 % 24},

{"minute", diff / 60 % 60},

{"second", diff % 60}

}

 

local t = {}

for k, v in ipairs(format) do

local d, tmp = math.floor(v[2]), ""

if(d > 0) then

tmp = (k < table.maxn(format) and (table.maxn(t) > 0 and ", " or "") or " and ") .. d .. " " .. v[1] .. (d ~= 1 and "s" or "")

table.insert(t, tmp)

end

end

 

return t

end

string.timediff = string.diff

 

string.boolean = function (input)

local tmp = type(input)

if(tmp == 'boolean') then

return input

end

 

if(tmp == 'number') then

return input > 0

end

 

local str = string.lower(tostring(input))

return (str == "yes" or str == "true" or (tonumber(str) ~= nil and tonumber(str) > 0))

end

getBooleanFromString = string.boolean

Link para o comentário
Compartilhar em outros sites

  • 0

Bem parece tudo normal mais ja que que sua lib esta incompleta e vi algumas coisinhas tente colocar esta:

 

string.split = function (str)

local t = {}

return not str:gsub("%w+", function(s) table.insert(t, s) return "" end):find("%S") and t or {}

end

string.trim = function (str)

return str:gsub("^%s*(.-)%s*$", "%1")

end

string.explode = function (str, sep, limit)

if(type(sep) ~= 'string' or isInArray({tostring(str):len(), sep:len()}, 0)) then

return {}

end

local i, pos, tmp, t = 0, 1, "", {}

for s, e in function() return string.find(str, sep, pos) end do

tmp = str:sub(pos, s - 1):trim()

table.insert(t, tmp)

pos = e + 1

i = i + 1

if(limit ~= nil and i == limit) then

break

end

end

tmp = str:sub(pos):trim()

table.insert(t, tmp)

return t

end

string.expand = function (str)

return string.gsub(str, "$(%w+)", function(n) return _G[n] end)

end

string.timediff = function (diff)

local format = {

{"week", diff / 60 / 60 / 24 / 7},

{"day", diff / 60 / 60 / 24 % 7},

{"hour", diff / 60 / 60 % 24},

{"minute", diff / 60 % 60},

{"second", diff % 60}

}

local t = {}

for k, v in ipairs(format) do

local d, tmp = math.floor(v[2]), ""

if(d > 0) then

tmp = (k < table.maxn(format) and (table.maxn(t) > 0 and ", " or "") or " and ") .. d .. " " .. v[1] .. (d ~= 1 and "s" or "")

table.insert(t, tmp)

end

end

return t

end

Link para o comentário
Compartilhar em outros sites

  • 0

Bem parece tudo normal mais ja que que sua lib esta incompleta e vi algumas coisinhas tente colocar esta:

 

string.split = function (str)

local t = {}

return not str:gsub("%w+", function(s) table.insert(t, s) return "" end):find("%S") and t or {}

end

string.trim = function (str)

return str:gsub("^%s*(.-)%s*$", "%1")

end

string.explode = function (str, sep, limit)

if(type(sep) ~= 'string' or isInArray({tostring(str):len(), sep:len()}, 0)) then

return {}

end

local i, pos, tmp, t = 0, 1, "", {}

for s, e in function() return string.find(str, sep, pos) end do

tmp = str:sub(pos, s - 1):trim()

table.insert(t, tmp)

pos = e + 1

i = i + 1

if(limit ~= nil and i == limit) then

break

end

end

tmp = str:sub(pos):trim()

table.insert(t, tmp)

return t

end

string.expand = function (str)

return string.gsub(str, "$(%w+)", function(n) return _G[n] end)

end

string.timediff = function (diff)

local format = {

{"week", diff / 60 / 60 / 24 / 7},

{"day", diff / 60 / 60 / 24 % 7},

{"hour", diff / 60 / 60 % 24},

{"minute", diff / 60 % 60},

{"second", diff % 60}

}

local t = {}

for k, v in ipairs(format) do

local d, tmp = math.floor(v[2]), ""

if(d > 0) then

tmp = (k < table.maxn(format) and (table.maxn(t) > 0 and ", " or "") or " and ") .. d .. " " .. v[1] .. (d ~= 1 and "s" or "")

table.insert(t, tmp)

end

end

return t

end

stack traceback:

data/lib/011-starting.lua:9: in function 'explode'

data/tallkaction/createiten.lua:7: in function <data/tallkaction/scripts/createiten.lua:1>

 

agora ta dando erro só que em vez de lua 7 deu lua 9, será que seria melhor trocar a pasta lib?

 

 

lol troquei o lib com o ot que peguei o distro, deu certo, vlw aew, vc que falo pra eu troca caotic, REP+

Editado por JustinnoTibianno
Link para o comentário
Compartilhar em outros sites

  • 0

Reportando fechamento de topico!

 

toda vez que um topico de pedido ou duvida for sanado reporte imaediatamente para ser fechado e movido para a sessao de duvidas sandas, pois la ele tem maior impacto em busca de outros membros facilitando a busca de todos!

 

Obrigado!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...