Ir para conteúdo
  • Cadastre-se

Posts Recomendados

  • Moderador

Base:

 

 

Peguei o sistema do Mock para utilizar no meu servidor e estava tudo ok, porém derrepente apareceu esse erro:

 

[1:3:57.370] [Error - MoveEvents Interface]
[1:3:57.388] data/movements/scripts/epicvip.lua:onStepIn
[1:3:57.389] Description:
[1:3:57.390] data/movements/scripts/epicvip.lua:11: attempt to index global 'vip' (a number value)
[1:3:57.391] stack traceback:
[1:3:57.391]    data/movements/scripts/epicvip.lua:11: in function <data/movements/scripts/epicvip.lua:1>

 

Alguém poderia me ajudar?

 

epicvip.lua

 

function onStepIn(cid, item, position, fromPosition)

local tileConfig = {
kickPos = fromPosition, kickEffect = CONST_ME_POFF,
kickMsg = "[Soft OT] You need to be a VIP Player to access this area. Buy now on site.",
enterMsg = "[Soft OT] Welcome to VIP Area!",
enterEffect = CONST_ME_MAGIC_RED,
}

if isPlayer(cid) == true then
if vip.hasVip(cid) == FALSE then
doTeleportThing(cid, tileConfig.kickPos)
doSendMagicEffect(tileConfig.kickPos, tileConfig.kickEffect)
doPlayerSendCancel(cid, tileConfig.kickMsg)
return
end
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, tileConfig.enterMsg)
doSendMagicEffect(position, tileConfig.enterEffect)
return true
end
end

 

Link para o post
Compartilhar em outros sites
  • Moderador

@moviebr o mod não é do matk, se você ler o tópico vai ver que está By Mock, o cara que a criou.

Você ta querendo que passe somente player vip pelo tile certo ? 

data/movements/scripts cria um arquivo chamado passevip.lua e coloca essa script dentro:

Spoiler

function onStepIn(cid, item, position, fromPosition)
if getPlayerPremiumDays(cid) >= 1 then
	doSendMagicEffect(getThingPos(cid), 12)
	doPlayerSendTextMessage(cid, 25, "Seja Bem-vindo ".. getPlayerName(cid) .." !")
else
	doTeleportThing(cid, fromPosition, true)
	doSendMagicEffect(getThingPos(cid), 2)
	doPlayerSendTextMessage(cid, 25, "Apenas Players Vip's podem passa.")
end	
	return true
end

 

 

Tag do movements.xml

<movevent type="StepIn" actionid="xxxx" event="script" value="passevip.lua"/>

 

use assim, o mesmo vale para add vip days nos players, ou comprar vip days por algum item no jogo, use scripts comuns, não use vip system, nada pessoal(só uma dica), a não ser que seja necessário! 

 

Editado por KotZletY (veja o histórico de edições)

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
  • Moderador
1 minuto atrás, KotZletY disse:

@moviebr para de usar isto, é perda de tempo meu caro, scripts de premium days comum, step in check de vip, muito fácil fazer, essa de mod vip não é bom.

E o mod não é do matk, se você ler o tópico vai ver que está By Mock, o cara que a criou.

Você ta querendo que passe somente player vip pelo tile certo ? 

data/movements/scripts cria um arquivo chamado passevip.lua e coloca essa script dentro:

  Ocultar conteúdo


function onStepIn(cid, item, position, fromPosition)
if getPlayerPremiumDays(cid) >= 1 then
	doSendMagicEffect(getThingPos(cid), 12)
	doPlayerSendTextMessage(cid, 25, "Seja Bem-vindo ".. getPlayerName(cid) .." !")
else
	doTeleportThing(cid, fromPosition, true)
	doSendMagicEffect(getThingPos(cid), 2)
	doPlayerSendTextMessage(cid, 25, "Apenas Players Vip's podem passa.")
end	
	return true
end

 

 

Tag do movements.xml


<movevent type="StepIn" actionid="xxxx" event="script" value="passevip.lua"/>

 

use assim, o mesmo vale para add vip days nos players, ou comprar vip days por algum item no jogo, use scripts comuns, não use vip system, nada pessoal(só uma dica).

 

Mas por exemplo, eu que estou usando o gesior, com esse sistema de VIP ele fica integrado com o site já que usa o vip_time. Será que existe alguma possibilidade de usar assim e não com premiumdays?

Link para o post
Compartilhar em outros sites

Compreendo, tem sim, sempre tem, só não poderei te ajudar, não mexo com gesior, e pelo que vi no system, usa muita integração com esse tal vip time, então precisa de um scripter que também use gesior, para ver o que está acontecendo. Então...

Boa sorte! 

 

xD

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
  • Moderador
1 minuto atrás, KotZletY disse:

Compreendo, tem sim, sempre tem, só não poderei te ajudar, não mexo com gesior, e pelo que vi no system, usa muita integração com esse tal vip time, então precisa de um scripter que também use gesior, para ver o que está acontecendo. Então...

Boa sorte! 

 

xD

Mesmo assim agradeço sua ajuda!

Link para o post
Compartilhar em outros sites
  • Moderador
20 horas atrás, otservcode disse:

E aí beleza?

 

Bom, o que tem a ver gesior com o código rsrs?

 

O problema é que o código não consegue achar a função vip.hasVip, você adicionou corretamente o arquivo a sua lib?

Fiz a instalação corretamente, até porque as vezes o código funciona, as vezes não.

 

O código funciona com o Gesior pois mostra na tela de contas quanto tempo ela tem..

Link para o post
Compartilhar em outros sites

Certo, mas não tem nada a ver, o gesior apenas pega o campo vip e converte para data legivel, isso não depende nada do website... Enfim, na pasta LIB, me envia como tá o seu arquivo.

Editado por otservcode (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Moderador

049-vipsys

 

vip = {
name = "VIP System";
author = "Mock";
version = "1.0.0.0";
query="ALTER TABLE `accounts` ADD `vip_time` INTEGER";
query2="ALTER TABLE `accounts` ADD `vip_time` INT(15) NOT NULL"
}

function vip.setTable()
dofile('config.lua')
if sqlType == "sqlite" then
db.query(vip.query)
else
db.query(vip.query2)
end
end

function vip.getVip(cid)
assert(tonumber(cid),'Parameter must be a number')
if isPlayer(cid) == FALSE then error('Player don\'t find') end;
ae = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `name` = '"..getPlayerAccount(cid).."';")
if ae:getID() == -1 then
return 0
end

local retee = ae:getDataInt("vip_time") or 0
ae:free()
return retee
end

function vip.getVipByAcc(acc)
assert(acc,'Account is nil')
local a = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `name` = '"..acc.."';")
if a:getID() ~= -1 then
return a:getDataInt("vip_time") or 0, a:free()
else
error('Account don\'t find.')
end
end

function vip.setVip(cid,time)
dofile("config.lua")
assert(tonumber(cid),'Parameter must be a number')
assert(tonumber(time),'Parameter must be a number')
if isPlayer(cid) == FALSE then error('Player don\'t find') end;
db.query("UPDATE `"..sqlDatabase.."`.`accounts` SET `vip_time` = '"..(os.time()+time).."' WHERE `accounts`.`name` ='".. getPlayerAccount(cid).."';")
end

function vip.getVipByAccount(acc)
assert(acc,'Account is nil')
return db.getResult("SELECT `vip_time` FROM `accounts` WHERE `name` = '"..acc.."';"):getDataInt("vip_time") or 0
end

function vip.hasVip(cid)
assert(tonumber(cid),'Parameter must be a number')
if isPlayer(cid) == FALSE then return end;
local t = vip.getVip(cid) or 0
if os.time(day) < t then
return TRUE
else
return FALSE
end
end

function vip.hasVips(cid)
assert(tonumber(cid),'Parameter must be a number')
if isPlayer(cid) == FALSE then return end;
local t = vip.getVip(cid)
if os.time(day) < t then
return TRUE
else
return FALSE
end
end

function vip.accountHasVip(acc)
assert(acc,'Account is nil')
if os.time() < vip.getVipByAccount(acc) then
return TRUE
else
return FALSE
end
end
function vip.getDays(days)
return (3600 * 24 * days)
end

function vip.addVipByAccount(acc,time)
assert(acc,'Account is nil')
assert(tonumber(time),'Parameter must be a number')
local a = vip.getVipByAcc(acc)
a = os.difftime(a,os.time())
if a < 0 then a = 0 end;
a = a+time
return vip.setVipByAccount(acc,a)
end

function vip.setVipByAccount(acc,time)
dofile("config.lua")
assert(acc,'Account is nil')
assert(tonumber(time),'Parameter must be a number')
db.query("UPDATE `accounts` SET `vip_time` = '"..(os.time()+time).."' WHERE `accounts`.`name` ='"..acc.."';")
return TRUE
end

function vip.returnVipString(cid)
assert(tonumber(cid),'Parameter must be a number')
if isPlayer(cid) == TRUE then
return os.date("%d %B %Y %X ", vip.getVip(cid))
end
end

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo