Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Manow, coloquei sua scripts no meu otserv, e quando falo !eject em frente a house nao acontence nada, e como estivesse falando !eject normal, oq poderia esta causando esse problema ?

Link para o post
Compartilhar em outros sites
  • Respostas 41
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Salve galerinha do TK. Hoje vim trazer um script muito útil e buscado hoje em dia nos otservers, é o sistema de !eject. Como funciona ? Caso o player fica X dias sem logar (configurável) qualqu

Perfeito, eu sempre procurei um script assim, reputado!

Muito bom, está de parabéns mesmo!!! Quanto a remover o tópico, nem adianta mais meu caro, já tem 151 visualizações, já foi espalhado, raramente será comprado! 

Posted Images

Manow, coloquei sua scripts no meu otserv, e quando falo !eject em frente a house nao acontence nada, e como estivesse falando !eject normal, oq poderia esta causando esse problema ?

 

No mínimo está com script errado, nome do arquivo lua pode não estar correspondendo ao XML, faça novamente com muita atenção.

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites

Esta tudo certo, eu tbm pensei q fosse isso. Mais tudo que eu coloquei foi copiado no crtl+c e crtl+v do seu post entao nao teria erro !

Link para o post
Compartilhar em outros sites

Esta tudo certo, eu tbm pensei q fosse isso. Mais tudo que eu coloquei foi copiado no crtl+c e crtl+v do seu post entao nao teria erro !

Versão do seu server? REV que está usando?

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites

Nome do mapa e Barão Ot 8.6, O distro e do Alissow server 0.4.1.0 !


Em eai, tem como ajudar ?

Link para o post
Compartilhar em outros sites

Funcionou perfeitamente, porém seria melhor se os items da house fossem enviados para o Depot !

Deu esse erro na distro '-'

 

-- > sqlite3_step <>: SQLITE_ERROR : cannot start a transaction within a transaction

-- > sqlite3_step <>: SQLITE_ERROR : cannot rollback transaction  - SQL statements in progress

 

Programador/Scripter/Mapper nível NOOB ?

 

Untitltasadasded-1.png.e24703844a8ee56fadbf0cdcf82cd9c7.png

Link para o post
Compartilhar em outros sites
  • 1 month later...

Estou o com o mesmo problema do companheiro acima, funciona perfeitamente mas da o mesmo erro na distro, poderia nos ajudar?!

Link para o post
Compartilhar em outros sites
  • 11 months later...
  • 1 month later...
  • 1 month later...
  • 2 years later...
  • 2 months later...
Em ‎08‎/‎06‎/‎2014 em 19:11, Absolute disse:

Salve galerinha do TK.
Hoje vim trazer um script muito útil e buscado hoje em dia nos otservers, é o sistema de !eject.
Como funciona ?

Caso o player fica X dias sem logar (configurável) qualquer outro jogador pode chegar na porta da house dizendo o comando !eject, então a house ficará sem dono e em seugida o player poderá compra-la normalmente, dizendo !buyhouse.

 

É um sript simples e que poderá dar lugar e novas houses a jogadores novos, expulsando os jogadores que não logam mais no seu servidor.

Nota: o script é vendido em uma "empresa" de open tibia onde estou colocando os créditos , disponibilizando aqui minha adaptação e o scrpit para vocês, achou errado? não gostou? ENTÃO COMPRA LÁ =p

Vamos ao que interessa;

 

Abra sua pasta talkactions/scripts e dentro dela crie um arquivo .lua com o nome de: expulse_house.lua e dentro coloque:


function onSay(cid, words, param)
    local position = getPlayerPosition(cid)

    if getPlayerLookDir(cid) == 0 then
        positions = {x=position.x, y=position.y-1, z=position.z}
    elseif getPlayerLookDir(cid) == 1 then
        positions = {x=position.x+1, y=position.y, z=position.z}
    elseif getPlayerLookDir(cid) == 2 then
        positions = {x=position.x, y=position.y+1, z=position.z}
    elseif getPlayerLookDir(cid) == 3 then
        positions = {x=position.x-1, y=position.y, z=position.z}
    end

    if getHouseFromPos(positions) == false then
        doPlayerSendTextMessage(cid, 27, "Voce precisa estar na frente a porta da casa para usar o comando.")
    return true
    end

    local days = 5*24*60*60
    local own = getHouseOwner(getHouseFromPos(positions))
    local qry = db.getResult("SELECT `lastlogin` FROM `players` WHERE `id` = "..own)
    
    if(qry:getID() ~= -1) then
        last = tonumber(qry:getDataInt("lastlogin"))
        if last < os.time() - days then
            setHouseOwner(getHouseFromPos(positions), NO_OWNER_PHRASE,true)
            doPlayerSendTextMessage(cid, 27, "A Casa agora esta sem dono, você ou outro jogador pode compra-la")
        end
        if last > os.time() - days then
            doPlayerSendTextMessage(cid, 27, "O proprierário desta casa ainda está ativo no servidor, tente outra casa.")
        end
    end
    return true
end

Pós ter feito isto, abra o seu arquivo talkactions.xml e coloque debaixo de uma linha qualquer a seguinte linha:


<talkaction words="!eject" event="script" value="expulse_house.lua"/>

Pronto. basta o player chegar na porta da casa e dizer !eject, caso o jogador esteja a 5 dias sem logar, os items do antigo dono irão para o DEPOT e a casa ficará sem dono.

 

 

@Configuração do script:


  local days = 5*24*60*60

Onde está o número 5 é o tanto de dias que o player tem que ficar sem logar para outro jogador executar o comando.

 

 

Para alterar para 3 dias, ficaria como exemplo:


    local days = 3*24*60*60

E assim sucessivamente.

 

 

Qualquer dúvida não deixe de me comunicar, estarei disposto a ajuda-lo.

 

Em ‎08‎/‎06‎/‎2014 em 19:11, Absolute disse:

 

tá dando esse  erro como resolvo fiz  tudo certo, já fiz  farias  vezes  mesmo assim continua...

 

[10/06/2018 22:30:30] [Error - LuaScriptInterface::loadFile] cannot open data/talkactions/scripts/expulse_house.lua: No such file or directory
[10/06/2018 22:30:30] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/expulse_house.lua)
[10/06/2018 22:30:30] cannot open data/talkactions/scripts/expulse_house.lua: No such file or directory

 

 

Créditos:

Keilost

 

Link para o post
Compartilhar em outros sites

@Helder Junio adm na xml o diretório é um, o nome do arquivo na pasta é outro, um não corresponde ao outro!

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

Link para o post
Compartilhar em outros sites
Em ‎10‎/‎06‎/‎2018 em 23:07, KotZletY disse:

@Helder Junio adm na xml o diretório é um, o nome do arquivo na pasta é outro, um não corresponde ao outro!

 

os  nomes  estão certos, mas  mesmo assim não funfa.

 

 

hh.thumb.png.39d019a155a8e47ed4331673ff7bfbed.png

 

Link para o post
Compartilhar em outros sites

você colocou nome "expulse_house.lua" e o correto é "expulse_house"

 

o LUA é a extensão do arquivo.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
2 horas atrás, Helder Junio adm disse:

ytryrtyty.thumb.png.dc8fabd673d2da193a3b9ab80c1a47b6.png

 

agora  ta  dando esse.

 

 

é o code do fórum bugando os scripts.

 

copia direto daqui:

 

https://pastebin.com/raw/nRtMPkyQ

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
Em ‎11‎/‎06‎/‎2018 em 16:06, Vodkart disse:

 

 

é o code do fórum bugando os scripts.

 

copia direto daqui:

 

https://pastebin.com/raw/nRtMPkyQ

obg, eu resovir  mas  realmente  erra  isso eu apenas  copiei de novo, obrigado, naquela hora  eu nunca  ia descobrir que era  por causa  do .lua no final kk.

 

tem como eu por um sistema que  me  eviaria  mensagem quando playes passasem 15 dias  sem longa, para  me  retirar  as houses  deles.

Link para o post
Compartilhar em outros sites
  • 3 weeks later...

@Absolute 

Em 08/06/2014 em 19:11, Absolute disse:

Salve galerinha do TK.
Hoje vim trazer um script muito útil e buscado hoje em dia nos otservers, é o sistema de !eject.
Como funciona ?

Caso o player fica X dias sem logar (configurável) qualquer outro jogador pode chegar na porta da house dizendo o comando !eject, então a house ficará sem dono e em seugida o player poderá compra-la normalmente, dizendo !buyhouse.

 

É um sript simples e que poderá dar lugar e novas houses a jogadores novos, expulsando os jogadores que não logam mais no seu servidor.

Nota: o script é vendido em uma "empresa" de open tibia onde estou colocando os créditos , disponibilizando aqui minha adaptação e o scrpit para vocês, achou errado? não gostou? ENTÃO COMPRA LÁ =p

Vamos ao que interessa;

 

Abra sua pasta talkactions/scripts e dentro dela crie um arquivo .lua com o nome de: expulse_house.lua e dentro coloque:


function onSay(cid, words, param)
    local position = getPlayerPosition(cid)

    if getPlayerLookDir(cid) == 0 then
        positions = {x=position.x, y=position.y-1, z=position.z}
    elseif getPlayerLookDir(cid) == 1 then
        positions = {x=position.x+1, y=position.y, z=position.z}
    elseif getPlayerLookDir(cid) == 2 then
        positions = {x=position.x, y=position.y+1, z=position.z}
    elseif getPlayerLookDir(cid) == 3 then
        positions = {x=position.x-1, y=position.y, z=position.z}
    end

    if getHouseFromPos(positions) == false then
        doPlayerSendTextMessage(cid, 27, "Voce precisa estar na frente a porta da casa para usar o comando.")
    return true
    end

    local days = 5*24*60*60
    local own = getHouseOwner(getHouseFromPos(positions))
    local qry = db.getResult("SELECT `lastlogin` FROM `players` WHERE `id` = "..own)
    
    if(qry:getID() ~= -1) then
        last = tonumber(qry:getDataInt("lastlogin"))
        if last < os.time() - days then
            setHouseOwner(getHouseFromPos(positions), NO_OWNER_PHRASE,true)
            doPlayerSendTextMessage(cid, 27, "A Casa agora esta sem dono, você ou outro jogador pode compra-la")
        end
        if last > os.time() - days then
            doPlayerSendTextMessage(cid, 27, "O proprierário desta casa ainda está ativo no servidor, tente outra casa.")
        end
    end
    return true
end

Pós ter feito isto, abra o seu arquivo talkactions.xml e coloque debaixo de uma linha qualquer a seguinte linha:


<talkaction words="!eject" event="script" value="expulse_house.lua"/>

Pronto. basta o player chegar na porta da casa e dizer !eject, caso o jogador esteja a 5 dias sem logar, os items do antigo dono irão para o DEPOT e a casa ficará sem dono.

 

 

@Configuração do script:


  local days = 5*24*60*60

Onde está o número 5 é o tanto de dias que o player tem que ficar sem logar para outro jogador executar o comando.

 

 

Para alterar para 3 dias, ficaria como exemplo:


    local days = 3*24*60*60

E assim sucessivamente.

 

 

Qualquer dúvida não deixe de me comunicar, estarei disposto a ajuda-lo.

 

 

 

 

Créditos:

Keilost

 

 e como é que eu faço para que os itens da pessoa que foi tirado da house va para o dp? nao é so pelo comando !eject mais se ele vender a house, dar leavehouse, os itens for pro dp

Editado por Emanueldk (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 weeks later...

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 looktsx
      Salve Rapaziada tudo bom .
      queria ajuda pra cria um teleport ou uma alavanca com tempo ..
      depois do player usa o teleport ou a lavanca ele so poderá usa depois de tal determinado tempo.
       
      SERVIDOR 12.91
      Se alguem poder me ajuda vou fica grato ,
      des de ja agradeço a todos.
      ..
    • Por willian646
      O evento é totalmente baseado no Foxy Quiz proveniente do GLA, no entanto é apenas uma base para vocês alterarem como acharem melhor.
      Para começar será necessario que você crie um arquivo em talkactions>scripts para entrar no evento, como por exemplo : participar.lua
      e entao colocar sua tag em talkactions.xml, como por exemplo: 
      <talkaction words="!participar;/participar" script="!participar.lua"/> Tendo feito isso você irá colar esse codigo dentro desse arquivo: 
      function onSay(cid, words, param)pos = {x=1236, y=1125, z=15} --POSIÇAO QUE O PLAYER IRÁ COM O COMANDO if getGlobalStorageValue(88788) == 1 then doSendMagicEffect(getPlayerPosition(cid),19) doTeleportThing(cid,pos) else doPlayerSendCancel(cid, "Desculpe mas o evento esta fechado !") end return true end Agora iremos para o script principal, vá em global events>scripts e crie o arquivo pokequiz.lua em seguida coloque sua tag em globalevents.xml como por exemplo: 
      <globalevent name="Pokequiz" interval="10" event="script" value="pokequiz.lua"/> Lembrando que o intervalo de inicio do evento é com vcs, Tendo feito isso abra o arquivo e cole o  seguinte código dentro : 
      quizstrg = 88788 local wave = 0 local CPpos = {x=1051, y=1047, z=7} --POSIÇAO QUE O PLAYER IRÁ SE ERRAR function wave_acresc() wave = wave + 1 addEvent(Quiz, 5000) end function Quiz() if wave == 1 then doBroadcastMessage("Na serie pokemon RAYQUAZA possui mega evolucao ?", RED) addEvent(Resposta, 10000) elseif wave == 2 then doBroadcastMessage("Na serie pokemon ARCEUS e considerado um pokemon RARO ?", RED) addEvent(Resposta, 10000) elseif wave == 3 then doBroadcastMessage("Na serie pokemon MEW criou os 3 caes lendarios ?", RED) addEvent(Resposta, 10000) elseif wave == 4 then doBroadcastMessage("Na serie pokemon ARCEUS tem o poder de mudar de tipo livremente ?", RED) addEvent(Resposta, 10000) elseif wave == 5 then doBroadcastMessage("Na serie pokemon GIRATINA possui 2 formas sendo elas alterada e fantasma ?", RED) addEvent(Resposta, 10000) elseif wave == 6 then doBroadcastMessage("Na serie pokemon DIALGA e PALKIA sao rivais ?", RED) addEvent(Resposta, 10000) elseif wave == 7 then doBroadcastMessage("Na serie pokemon CELEBI possui a habilidade de viajar entre dimensoes ?", RED) addEvent(Resposta, 10000) elseif wave == 8 then doBroadcastMessage("Na serie pokemon SOLGALEO e a primeira evolucao de cosmog ?", RED) addEvent(Resposta, 10000) elseif wave == 9 then doBroadcastMessage("Na serie pokemon MAGEARNA e uma das ultra beasts ?", RED) addEvent(Resposta, 10000) elseif wave == 10 then doBroadcastMessage("Na serie pokemon a cor original de MAGEARNA e laranja ?", RED) addEvent(Resposta, 10000) elseif wave == 11 then doBroadcastMessage("O evento Quiz terminou !", RED) addEvent(winPlayers, 5000) end end function Resposta() if wave == 1 then addEvent(TPFalso, 5000) elseif wave == 2 then addEvent(TPVerdadeiro, 5000) elseif wave == 3 then addEvent(TPVerdadeiro, 5000) elseif wave == 4 then addEvent(TPFalso, 5000) elseif wave == 5 then addEvent(TPVerdadeiro, 5000) elseif wave == 6 then addEvent(TPFalso, 5000) elseif wave == 7 then addEvent(TPVerdadeiro, 5000) elseif wave == 8 then addEvent(TPVerdadeiro, 5000) elseif wave == 9 then addEvent(TPVerdadeiro, 5000) elseif wave == 10 then addEvent(TPFalso, 5000) end end function TPFalso() for _, sid in ipairs(getPlayersOnline()) do local posi = {x=1236, y=1122, z=15} local posf = {x=1243, y=1128, z=15} local pos = getPlayerPosition(sid) if isInArea(pos, posi, posf) then doTeleportThing(sid,CPpos) end addEvent(wave_acresc, 5000) end end function TPVerdadeiro() for _, sid in ipairs(getPlayersOnline()) do local posi = {x=1228, y=1122, z=15} local posf = {x=1235, y=1128, z=15} local pos = getPlayerPosition(sid) if isInArea(pos, posi, posf) then doTeleportThing(sid,CPpos) end addEvent(wave_acresc, 5000) end end function winPlayers() for _, sid in ipairs(getPlayersOnline()) do local posi = {x=1228, y=1122, z=15} local posf = {x=1243, y=1128, z=15} local pos = getPlayerPosition(sid) if isInArea(pos, posi, posf) then doTeleportThing(sid,CPpos) doPlayerAddItem(sid,2159, 10) end wave = 0 setGlobalStorageValue(88788, 0) end end --AVISOS DE INICIO function finalEventWarning() if getGlobalStorageValue(quizstrg) == 1 then setGlobalStorageValue(88788, 2) doBroadcastMessage("O evento Quiz fechou, a primeira pergunta surgira em 30 segundos.", RED) addEvent(wave_acresc, 30000) end end function secondEventWarning() if getGlobalStorageValue(quizstrg) == 1 then doBroadcastMessage("O evento Quiz ira iniciar em 1 minuto, usem o comando !participar ou /participar.", RED) addEvent(finalEventWarning, 60000) end end function firstEventWarning() if getGlobalStorageValue(quizstrg) == 1 then doBroadcastMessage("O evento Quiz ira iniciar em 3 minutos, usem o comando !participar ou /participar.", RED) addEvent(secondEventWarning, 120000) end end function onThink(interval, lastExecution) if getGlobalStorageValue(quizstrg) == 0 then setGlobalStorageValue(88788, 1) doBroadcastMessage("O evento Quiz ira iniciar em 5 minutos, usem o comando !participar ou /participar.", RED) addEvent(firstEventWarning, 120000) end return true end Já ia me esquecendo, a unica coisa ao qual vocês devem mudar de acordo com as coordenadas do seu mapa e área do evento são as funções TPVerdadeiro , TPFalso, winPlayers , elas servem para indicar qual área é a errada e teleportar quem tiver nessa área pro cp, caso o lado errado seja o esquerdo então será usado a função  TPVerdadeiro, e é a msm coisa para o outro lado, no caso da winPlayers é toda a área do evento.
       
      Aqui vai um exemplo: 
       
      E é isso rapaziada, não sei se já possui algum evento parecido por essas bandas, mas eu não encontrei ,então fiz  e resolvi contribuir com a comunidade, peço que se for repostar em algum outro lugar dê os devidos créditos, obg e até a próxima.
    • Por amoxicilina
      Olá Kings, venho aqui trazer uma TalkAction pra você comprar premium account, sei que pode ser algo meio inútil por existir a store.
      Então vamos script:
       
       
    • Por Ghaz
      Fala pessoal tudo bem?
       
      Estou com dificuldades em um script e preciso da ajuda dos magos do LUA rs.
       
      Tenho um script que quando o player morre (onDeath), ele faz algumas coisas e depois ele chama uma função que deveria retornar uma table (array) para eu fazer o for com o ipairs certinho. Segue abaixo o código:
       
       
      Segue abaixo a função getPlayersInArea:
       
       
      Acontece que no código de cima (do primeiro spoiler) eu dou um print no retorno da função getPlayersInArea, porém ela não tá me retornando a table, tá me retornando só: 2
       
       
       
      Alguém consegue me ajudar em, como raios eu faço a função retornar a lista de players ao invés da quantidade? Acredito que ta retornando o count da table, e não os itens do array.
       
       
      Agradeço desde já, valeu tchurma!
    • Por sannn
      --[[ /////////////////////////////////////////////////////////////////////////////////////////////////////// Discord: San#7791 -- Loja System 2.0 -- TFS 0.3.6 -- para adicionar qualquer item na loja: basta adicionar na tabelinha, seguindo o exemplo do vip! valor = quantidade de DIAMOND a ser cobrada; itemID = item a ser recebido; quantidade = quantidade de itens a ser recebidos; msg = mensagem que o player vai receber após comprar! Feito por San Discord: San#7791 exemplo de como comprar: !loja vip podendo ser adicionado a modules também. tag talkactions.xml // <talkaction words="!loja" case-sensitive="no" event="script" value="Loja System 2.0.lua"/> ////////////////////////////////////////////////////////////////////////////////////////////////////// depois de tantos sistemas com mil elseifs, vim trazer esta contribuição simples, para facilitar a vida de muitos adms! Contribuição pra comunidade =D ]]-- LOJA_CANCEL = "Você não possui diamantes o suficiente." LOJA_INVALID = "Não temos este item a venda na loja!" INVALID = "Comando incorreto" DIAMOND = 2145 -- item que será cobrado; tabelinha = { ["vip"] = {valor = 5, itemID = 2160, quantidade = 1, msg = "Obrigado por comprar um VIP em nossa loja!"}, -- coloque sempre minusculo o nome ! ["vip"]... etc } function onSay(cid, words, param, channel) local msg = string.lower(param) -- Não mexa! if msg == "" then doPlayerSendTextMessage(cid, 22, INVALID) return true end -- verificação if tabelinha[msg] == nil then doPlayerSendTextMessage(cid, 22, INVALID) return true end -- verificação if tabelinha[msg].valor then if getPlayerItemCount(cid, DIAMOND) >= tabelinha[msg].valor then doPlayerRemoveItem(cid, DIAMOND, tabelinha[msg].valor) doPlayerAddItem(cid, tabelinha[msg].itemID, tabelinha[msg].quantidade) doPlayerSendTextMessage(cid, 20, tabelinha[msg].msg) else doPlayerSendTextMessage(cid, 22, LOJA_CANCEL) return true end else doPlayerSendTextMessage(cid, 22, LOJA_INVALID) end return true end  



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo