Ir para conteúdo

keilost1

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    keilost1 recebeu reputação de Cat em [Function] Account Storage   
    Desculpa reviver o tópico, porém eu estava criando o evento de natal, e fui utilizar a função, e reparei que quando ela seta a primeira storage, vai tudo beleza, mas quando usa UPDATE na função, a logica e a sintaxe está incorreta:
     
    db.executeQuery("UPDATE `account_storage` SET `value` = " .. accid .. " WHERE `key`=" .. key .. " LIMIT 1');")  
    Aonde o certo é:
     
    db.executeQuery("UPDATE `account_storage` SET `value` = " .. value .. " WHERE `key`=" .. key .. " AND `account_id` = " .. accid .. " LIMIT 1;")  
    Repare que removi um ') do final e troquei o valor do campo value por value, antes estava accid e adicionei um AND onde filtra pela conta do player.
     
    Segue a função corrigida para os preguiçosos:
     
    function setAccountStorageValue(accid, key, value)     local getvalue = db.getResult("SELECT `value` FROM `account_storage` WHERE `account_id` = " .. accid .. " and `key` = " .. key .. " LIMIT 1;")     if(getvalue:getID() ~= -1) then         db.executeQuery("UPDATE `account_storage` SET `value` = " .. value .. " WHERE `key`=" .. key .. " AND `account_id` = " .. accid .. " LIMIT 1;")         getvalue:free()         return 1     else         db.executeQuery("INSERT INTO `account_storage` (`account_id`, `key`, `value`) VALUES (" .. accid .. ", " .. key .. ", '"..value.."');")         return 1     end end  
     
  2. Obrigado
    keilost1 recebeu reputação de Cain Jorge em [Talkaction] Deletar player   
    O comando é simples, ele funciona para deletar player e retirar o delete, vocês podem dizer "o rule violation já faz a função de deletar", no caso do meu ot não tinha o rule violation, então estou passando o conteúdo para o Tibia King pois achei útil para mim.

    Vamos ao script:

    Em talkactions/scripts crie um arquivo chamado deleteplayer.lua e então coloque esse conteúdo dentro:
    function onSay(cid, words, param) local t = string.explode(param, ",") if(t == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end local pid = getCreatureByName("".. t[1] .."") if isPlayer(pid) then doRemoveCreature(pid) end if t[2] == 1 then db.executeQuery("UPDATE `players` SET `deleted` = '1' WHERE `players`.`name` ='".. t[1] .."';") doPlayerSendTextMessage(cid, 27, "Player ".. t[1] .." foi deletado.") end if t[2] == 0 then db.executeQuery("UPDATE `players` SET `deleted` = '0' WHERE `players`.`name` ='".. t[1] .."';") doPlayerSendTextMessage(cid, 27, "O delete do player ".. t[1] .." foi retirado.") end return true end No seu talkactions.xml coloque:
    Como funciona o comando?

    Para deletar o player:
    /delete Nome,1

    Para remover o delete:
    /delete Nome,0


    Corrigido a query, havia esquecido de remover a tabela `otserv` (que é a que eu usava)
    Créditos:
    Keilost
  3. Gostei
    keilost1 recebeu reputação de Fanfas em [Function] Account Storage   
    Desculpa reviver o tópico, porém eu estava criando o evento de natal, e fui utilizar a função, e reparei que quando ela seta a primeira storage, vai tudo beleza, mas quando usa UPDATE na função, a logica e a sintaxe está incorreta:
     
    db.executeQuery("UPDATE `account_storage` SET `value` = " .. accid .. " WHERE `key`=" .. key .. " LIMIT 1');")  
    Aonde o certo é:
     
    db.executeQuery("UPDATE `account_storage` SET `value` = " .. value .. " WHERE `key`=" .. key .. " AND `account_id` = " .. accid .. " LIMIT 1;")  
    Repare que removi um ') do final e troquei o valor do campo value por value, antes estava accid e adicionei um AND onde filtra pela conta do player.
     
    Segue a função corrigida para os preguiçosos:
     
    function setAccountStorageValue(accid, key, value)     local getvalue = db.getResult("SELECT `value` FROM `account_storage` WHERE `account_id` = " .. accid .. " and `key` = " .. key .. " LIMIT 1;")     if(getvalue:getID() ~= -1) then         db.executeQuery("UPDATE `account_storage` SET `value` = " .. value .. " WHERE `key`=" .. key .. " AND `account_id` = " .. accid .. " LIMIT 1;")         getvalue:free()         return 1     else         db.executeQuery("INSERT INTO `account_storage` (`account_id`, `key`, `value`) VALUES (" .. accid .. ", " .. key .. ", '"..value.."');")         return 1     end end  
     
  4. Gostei
    keilost1 recebeu reputação de KotZletY em [TFS 1.X] getExperienceForLevel   
    E aí galera do TK....
     
    Estou passando meu OT para TFS 1.2 (OTXSERVER) e estou criando algumas funções para suprir a necessidade de alguns scripts....
     
     
    Segue a função
     
    function getExperienceForLevel(level) level = level - 1 return ((50 * level * level * level) - (150 * level * level) + (400 * level)) / 3 end  
  5. Gostei
    keilost1 recebeu reputação de gcmcorrea em [City War Event] Luta pela sobrevivência   
    Fake? Criado em 2011? Amigão, esse script é do demonbholder, da globalots, todo mundo aqui sabe que esse evento é do global war, quem quiser dá uma olhadinha no facebook do Global War e vai ver de quem é o script, você é uma farsa cara, você dá nojo.
     
    http://prntscr.com/3t7t9m
  6. Gostei
    keilost1 recebeu reputação de Andreeyyy em Anunciar Newsticker   
    E aí galera do TK,
     
    Estou trazendo mais uma inovação para o Tibia King, é o sistema de anunciar as ultimas 5 newstickers postadas no site!
     
    Vamos ao código, em globalevents.xml adicione:
    <globalevent name="information" interval="1800000" event="script" value="autobroadcast.lua"/> Ele vai anunciar de 30 em 30 minutos as mensagens, lembrando que não anuncia todas de uma vez, ele sorteia uma das 5.
     
    Em globalevents/scripts adicione um arquivo lua com o nome de autobroadcast e coloque isso dentro do conteúdo:
    function onThink(interval, lastExecution) local result = db.getResult("SELECT text FROM `z_news_tickers` ORDER by date DESC LIMIT 0,5") local sorteado = math.random(1, 5) local news = {} if result:getID() == -1 then return false end repeat if result:getID() ~= -1 then table.insert(news, result:getDataString("text")) end until not result:next() if not news[sorteado] then return false end doBroadcastMessage("News: " .. string.sub(news[sorteado], 1, 150) .. "", MESSAGE_EVENT_ADVANCE) return TRUE end Pronto, já estará funcionando seu sistema (se sua tabela de newsticker não for z_news_tickers é só mudar.
     
     
    Créditos:
    Keilost
    Globalwar
     
  7. Gostei
    keilost1 recebeu reputação de JujuLady em [TALKACTION] Staff no help   
    E aí galera do TK,
     
    Hoje vim trazer um script idiota simples e que é util para os tutores do meu servidor, onde eles utilizam um comando e anuncia a seguinte mensagem:
     
    00:13 O Tutor Keilost está no Help Channel respondendo duvidas.
     
    Ele tem uma limitação de 15 minutos para usar novamente, ah e fiz uma funçãozinha que ele identifica qual group é do player, caso um GM queria usar, CM, whatever...
    Vamos ao código:
     
    Em talkactions/talkactions.xml coloque a seguinte tag:
    <talkaction log="yes" words="/anunciar" access="2" event="script" script="staffbroad.lua"/> Agora em talkactions/scripts crie um arquivo lua chamado staffbroad e coloque o seguinte conteudo:
    function getNameGroup(group) local groups = {"Player", "Tutor", "Senior Tutor", "Gamemaster", "Community Manager", "Administrador"} return groups[group] end function onSay(cid, words, param, channel) local gbb = 82389239 if getPlayerStorageValue(cid, gbb) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "O comando só pode ser executado de 15 em 15 minutos.") return true end doBroadcastMessage("O "..getNameGroup(getPlayerGroupId(cid)).." "..getPlayerName(cid).." está no Help Channel respondendo duvidas.") setPlayerStorageValue(cid, gbb, os.time() + 15 * 60) return true end Bom é isso, qualquer duvida podem perguntar aqui
     
    Créditos
    Keilost(eu)
  8. Gostei
    keilost1 recebeu reputação de Wakon em [TFS 1.X] getExperienceForLevel   
    E aí galera do TK....
     
    Estou passando meu OT para TFS 1.2 (OTXSERVER) e estou criando algumas funções para suprir a necessidade de alguns scripts....
     
     
    Segue a função
     
    function getExperienceForLevel(level) level = level - 1 return ((50 * level * level * level) - (150 * level * level) + (400 * level)) / 3 end  
  9. Gostei
    keilost1 recebeu reputação de Christopher17288 em getTownList()   
    E aí galera do TK....
     
    Estou passando meu OT para TFS 1.2 (OTXSERVER) e estou criando algumas funções para suprir a necessidade de alguns scripts, quando me deparei com o problema de listar as cidades no meu comando fly, não existia a função getTownList(), se existe alguma função que faça isso, me desculpe eu não encontrei, então segue o código:
     
    function townExists(townId) local t = Town(townId) return t ~= nil and true or false end function getTownList() local listtowns = {} setmetatable(listtowns, {__index=table}) local town while townExists(#listtowns+1) do town = Town(#listtowns+1) listtowns:insert({id=town:getId(), name=town:getName()}) end return listtowns end  
    Para os novatos (não que eu não seja rs), você pode utilizar da seguinte forma:
     
    local str = "Cidades disponiveis para viajar: \n" for i, town in ipairs(getTownList()) do str = str .. town.name .. "\n" end player:showTextDialog(1950, str)  
    Vai ser printado algo como isto:

     
     
     
    Por hoje é só pessoal, beijos!
     
     
     
     
  10. Gostei
    keilost1 recebeu reputação de Vodkart em getTownList()   
    E aí galera do TK....
     
    Estou passando meu OT para TFS 1.2 (OTXSERVER) e estou criando algumas funções para suprir a necessidade de alguns scripts, quando me deparei com o problema de listar as cidades no meu comando fly, não existia a função getTownList(), se existe alguma função que faça isso, me desculpe eu não encontrei, então segue o código:
     
    function townExists(townId) local t = Town(townId) return t ~= nil and true or false end function getTownList() local listtowns = {} setmetatable(listtowns, {__index=table}) local town while townExists(#listtowns+1) do town = Town(#listtowns+1) listtowns:insert({id=town:getId(), name=town:getName()}) end return listtowns end  
    Para os novatos (não que eu não seja rs), você pode utilizar da seguinte forma:
     
    local str = "Cidades disponiveis para viajar: \n" for i, town in ipairs(getTownList()) do str = str .. town.name .. "\n" end player:showTextDialog(1950, str)  
    Vai ser printado algo como isto:

     
     
     
    Por hoje é só pessoal, beijos!
     
     
     
     
  11. Gostei
    keilost1 recebeu reputação de Wakon em getTownList()   
    E aí galera do TK....
     
    Estou passando meu OT para TFS 1.2 (OTXSERVER) e estou criando algumas funções para suprir a necessidade de alguns scripts, quando me deparei com o problema de listar as cidades no meu comando fly, não existia a função getTownList(), se existe alguma função que faça isso, me desculpe eu não encontrei, então segue o código:
     
    function townExists(townId) local t = Town(townId) return t ~= nil and true or false end function getTownList() local listtowns = {} setmetatable(listtowns, {__index=table}) local town while townExists(#listtowns+1) do town = Town(#listtowns+1) listtowns:insert({id=town:getId(), name=town:getName()}) end return listtowns end  
    Para os novatos (não que eu não seja rs), você pode utilizar da seguinte forma:
     
    local str = "Cidades disponiveis para viajar: \n" for i, town in ipairs(getTownList()) do str = str .. town.name .. "\n" end player:showTextDialog(1950, str)  
    Vai ser printado algo como isto:

     
     
     
    Por hoje é só pessoal, beijos!
     
     
     
     
  12. Gostei
    keilost1 recebeu reputação de davidvietro em (Resolvido)Duvida/pedido idle-time   
    Olá, desculpe pela demora, só fui me lembrar do Tibia King hoje rsrs...
     
    Eu não testei, vê se deu certo:
    function mudarVis(uid) look = getCreatureLookDirection(uid) look = look < 3 and look + 1 or 0 doCreatureSetLookDirection(uid, look) addEvent(mudarVis, 2000, uid) end local events1 = {} local trainerst = 456488 function onStepIn(cid) events1[getPlayerGUID(cid)] = addEvent(mudarVis, 1000, cid) doPlayerSendTextMessage(cid, 27, "Bem-vindo a sua sala de treinamento, você será movimentado automaticamente para que continue treinando!")   setPlayerStorageValue(cid,trainerst,1) return true end function onStepOut(cid) stopEvent(events1[getPlayerGUID(cid)]) setPlayerStorageValue(cid,trainerst,-1) return true end Isso você coloca em movements/scripts e as tags abaixo em movements.xml
     
    <!--Trainer--> <movevent type="StepIn" actionid="13549" event="script" value="train.lua" /> <movevent type="StepOut" actionid="13549" event="script" value="train.lua" />  
    Em creaturescripts/idle.lua vai ter essa linha (se não for exatamente igual me manda):
    if(getTileInfo(getCreaturePosition(cid)).noLogout or getCreatureNoMove(cid) or getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE) then return true end Você deve alterar para:
    if(getTileInfo(getCreaturePosition(cid)).noLogout or getCreatureNoMove(cid) or getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE) or getPlayerStorageValue(cid,456488) == 1) then return true end
  13. Gostei
    keilost1 recebeu reputação de rafanasser em [TALKACTION] Staff no help   
    E aí galera do TK,
     
    Hoje vim trazer um script idiota simples e que é util para os tutores do meu servidor, onde eles utilizam um comando e anuncia a seguinte mensagem:
     
    00:13 O Tutor Keilost está no Help Channel respondendo duvidas.
     
    Ele tem uma limitação de 15 minutos para usar novamente, ah e fiz uma funçãozinha que ele identifica qual group é do player, caso um GM queria usar, CM, whatever...
    Vamos ao código:
     
    Em talkactions/talkactions.xml coloque a seguinte tag:
    <talkaction log="yes" words="/anunciar" access="2" event="script" script="staffbroad.lua"/> Agora em talkactions/scripts crie um arquivo lua chamado staffbroad e coloque o seguinte conteudo:
    function getNameGroup(group) local groups = {"Player", "Tutor", "Senior Tutor", "Gamemaster", "Community Manager", "Administrador"} return groups[group] end function onSay(cid, words, param, channel) local gbb = 82389239 if getPlayerStorageValue(cid, gbb) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "O comando só pode ser executado de 15 em 15 minutos.") return true end doBroadcastMessage("O "..getNameGroup(getPlayerGroupId(cid)).." "..getPlayerName(cid).." está no Help Channel respondendo duvidas.") setPlayerStorageValue(cid, gbb, os.time() + 15 * 60) return true end Bom é isso, qualquer duvida podem perguntar aqui
     
    Créditos
    Keilost(eu)
  14. Gostei
    keilost1 recebeu reputação de samlecter em [TALKACTION] Staff no help   
    E aí galera do TK,
     
    Hoje vim trazer um script idiota simples e que é util para os tutores do meu servidor, onde eles utilizam um comando e anuncia a seguinte mensagem:
     
    00:13 O Tutor Keilost está no Help Channel respondendo duvidas.
     
    Ele tem uma limitação de 15 minutos para usar novamente, ah e fiz uma funçãozinha que ele identifica qual group é do player, caso um GM queria usar, CM, whatever...
    Vamos ao código:
     
    Em talkactions/talkactions.xml coloque a seguinte tag:
    <talkaction log="yes" words="/anunciar" access="2" event="script" script="staffbroad.lua"/> Agora em talkactions/scripts crie um arquivo lua chamado staffbroad e coloque o seguinte conteudo:
    function getNameGroup(group) local groups = {"Player", "Tutor", "Senior Tutor", "Gamemaster", "Community Manager", "Administrador"} return groups[group] end function onSay(cid, words, param, channel) local gbb = 82389239 if getPlayerStorageValue(cid, gbb) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "O comando só pode ser executado de 15 em 15 minutos.") return true end doBroadcastMessage("O "..getNameGroup(getPlayerGroupId(cid)).." "..getPlayerName(cid).." está no Help Channel respondendo duvidas.") setPlayerStorageValue(cid, gbb, os.time() + 15 * 60) return true end Bom é isso, qualquer duvida podem perguntar aqui
     
    Créditos
    Keilost(eu)
  15. Gostei
    keilost1 recebeu reputação de Sentsuizan em (Resolvido)Duvida/pedido idle-time   
    Olá, desculpe pela demora, só fui me lembrar do Tibia King hoje rsrs...
     
    Eu não testei, vê se deu certo:
    function mudarVis(uid) look = getCreatureLookDirection(uid) look = look < 3 and look + 1 or 0 doCreatureSetLookDirection(uid, look) addEvent(mudarVis, 2000, uid) end local events1 = {} local trainerst = 456488 function onStepIn(cid) events1[getPlayerGUID(cid)] = addEvent(mudarVis, 1000, cid) doPlayerSendTextMessage(cid, 27, "Bem-vindo a sua sala de treinamento, você será movimentado automaticamente para que continue treinando!")   setPlayerStorageValue(cid,trainerst,1) return true end function onStepOut(cid) stopEvent(events1[getPlayerGUID(cid)]) setPlayerStorageValue(cid,trainerst,-1) return true end Isso você coloca em movements/scripts e as tags abaixo em movements.xml
     
    <!--Trainer--> <movevent type="StepIn" actionid="13549" event="script" value="train.lua" /> <movevent type="StepOut" actionid="13549" event="script" value="train.lua" />  
    Em creaturescripts/idle.lua vai ter essa linha (se não for exatamente igual me manda):
    if(getTileInfo(getCreaturePosition(cid)).noLogout or getCreatureNoMove(cid) or getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE) then return true end Você deve alterar para:
    if(getTileInfo(getCreaturePosition(cid)).noLogout or getCreatureNoMove(cid) or getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE) or getPlayerStorageValue(cid,456488) == 1) then return true end
  16. Gostei
    keilost1 recebeu reputação de Angeles em [TALKACTION] Staff no help   
    E aí galera do TK,
     
    Hoje vim trazer um script idiota simples e que é util para os tutores do meu servidor, onde eles utilizam um comando e anuncia a seguinte mensagem:
     
    00:13 O Tutor Keilost está no Help Channel respondendo duvidas.
     
    Ele tem uma limitação de 15 minutos para usar novamente, ah e fiz uma funçãozinha que ele identifica qual group é do player, caso um GM queria usar, CM, whatever...
    Vamos ao código:
     
    Em talkactions/talkactions.xml coloque a seguinte tag:
    <talkaction log="yes" words="/anunciar" access="2" event="script" script="staffbroad.lua"/> Agora em talkactions/scripts crie um arquivo lua chamado staffbroad e coloque o seguinte conteudo:
    function getNameGroup(group) local groups = {"Player", "Tutor", "Senior Tutor", "Gamemaster", "Community Manager", "Administrador"} return groups[group] end function onSay(cid, words, param, channel) local gbb = 82389239 if getPlayerStorageValue(cid, gbb) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "O comando só pode ser executado de 15 em 15 minutos.") return true end doBroadcastMessage("O "..getNameGroup(getPlayerGroupId(cid)).." "..getPlayerName(cid).." está no Help Channel respondendo duvidas.") setPlayerStorageValue(cid, gbb, os.time() + 15 * 60) return true end Bom é isso, qualquer duvida podem perguntar aqui
     
    Créditos
    Keilost(eu)
  17. Gostei
    keilost1 recebeu reputação de Tiago12345 em [TALKACTION] Staff no help   
    E aí galera do TK,
     
    Hoje vim trazer um script idiota simples e que é util para os tutores do meu servidor, onde eles utilizam um comando e anuncia a seguinte mensagem:
     
    00:13 O Tutor Keilost está no Help Channel respondendo duvidas.
     
    Ele tem uma limitação de 15 minutos para usar novamente, ah e fiz uma funçãozinha que ele identifica qual group é do player, caso um GM queria usar, CM, whatever...
    Vamos ao código:
     
    Em talkactions/talkactions.xml coloque a seguinte tag:
    <talkaction log="yes" words="/anunciar" access="2" event="script" script="staffbroad.lua"/> Agora em talkactions/scripts crie um arquivo lua chamado staffbroad e coloque o seguinte conteudo:
    function getNameGroup(group) local groups = {"Player", "Tutor", "Senior Tutor", "Gamemaster", "Community Manager", "Administrador"} return groups[group] end function onSay(cid, words, param, channel) local gbb = 82389239 if getPlayerStorageValue(cid, gbb) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "O comando só pode ser executado de 15 em 15 minutos.") return true end doBroadcastMessage("O "..getNameGroup(getPlayerGroupId(cid)).." "..getPlayerName(cid).." está no Help Channel respondendo duvidas.") setPlayerStorageValue(cid, gbb, os.time() + 15 * 60) return true end Bom é isso, qualquer duvida podem perguntar aqui
     
    Créditos
    Keilost(eu)
  18. Gostei
    keilost1 recebeu reputação de Sematico em [TALKACTION] Staff no help   
    E aí galera do TK,
     
    Hoje vim trazer um script idiota simples e que é util para os tutores do meu servidor, onde eles utilizam um comando e anuncia a seguinte mensagem:
     
    00:13 O Tutor Keilost está no Help Channel respondendo duvidas.
     
    Ele tem uma limitação de 15 minutos para usar novamente, ah e fiz uma funçãozinha que ele identifica qual group é do player, caso um GM queria usar, CM, whatever...
    Vamos ao código:
     
    Em talkactions/talkactions.xml coloque a seguinte tag:
    <talkaction log="yes" words="/anunciar" access="2" event="script" script="staffbroad.lua"/> Agora em talkactions/scripts crie um arquivo lua chamado staffbroad e coloque o seguinte conteudo:
    function getNameGroup(group) local groups = {"Player", "Tutor", "Senior Tutor", "Gamemaster", "Community Manager", "Administrador"} return groups[group] end function onSay(cid, words, param, channel) local gbb = 82389239 if getPlayerStorageValue(cid, gbb) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "O comando só pode ser executado de 15 em 15 minutos.") return true end doBroadcastMessage("O "..getNameGroup(getPlayerGroupId(cid)).." "..getPlayerName(cid).." está no Help Channel respondendo duvidas.") setPlayerStorageValue(cid, gbb, os.time() + 15 * 60) return true end Bom é isso, qualquer duvida podem perguntar aqui
     
    Créditos
    Keilost(eu)
  19. Gostei
    keilost1 recebeu reputação de Ser Luck em [TALKACTION] Staff no help   
    E aí galera do TK,
     
    Hoje vim trazer um script idiota simples e que é util para os tutores do meu servidor, onde eles utilizam um comando e anuncia a seguinte mensagem:
     
    00:13 O Tutor Keilost está no Help Channel respondendo duvidas.
     
    Ele tem uma limitação de 15 minutos para usar novamente, ah e fiz uma funçãozinha que ele identifica qual group é do player, caso um GM queria usar, CM, whatever...
    Vamos ao código:
     
    Em talkactions/talkactions.xml coloque a seguinte tag:
    <talkaction log="yes" words="/anunciar" access="2" event="script" script="staffbroad.lua"/> Agora em talkactions/scripts crie um arquivo lua chamado staffbroad e coloque o seguinte conteudo:
    function getNameGroup(group) local groups = {"Player", "Tutor", "Senior Tutor", "Gamemaster", "Community Manager", "Administrador"} return groups[group] end function onSay(cid, words, param, channel) local gbb = 82389239 if getPlayerStorageValue(cid, gbb) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "O comando só pode ser executado de 15 em 15 minutos.") return true end doBroadcastMessage("O "..getNameGroup(getPlayerGroupId(cid)).." "..getPlayerName(cid).." está no Help Channel respondendo duvidas.") setPlayerStorageValue(cid, gbb, os.time() + 15 * 60) return true end Bom é isso, qualquer duvida podem perguntar aqui
     
    Créditos
    Keilost(eu)
  20. Gostei
    keilost1 recebeu reputação de daniofordon em Anunciar Newsticker   
    E aí galera do TK,
     
    Estou trazendo mais uma inovação para o Tibia King, é o sistema de anunciar as ultimas 5 newstickers postadas no site!
     
    Vamos ao código, em globalevents.xml adicione:
    <globalevent name="information" interval="1800000" event="script" value="autobroadcast.lua"/> Ele vai anunciar de 30 em 30 minutos as mensagens, lembrando que não anuncia todas de uma vez, ele sorteia uma das 5.
     
    Em globalevents/scripts adicione um arquivo lua com o nome de autobroadcast e coloque isso dentro do conteúdo:
    function onThink(interval, lastExecution) local result = db.getResult("SELECT text FROM `z_news_tickers` ORDER by date DESC LIMIT 0,5") local sorteado = math.random(1, 5) local news = {} if result:getID() == -1 then return false end repeat if result:getID() ~= -1 then table.insert(news, result:getDataString("text")) end until not result:next() if not news[sorteado] then return false end doBroadcastMessage("News: " .. string.sub(news[sorteado], 1, 150) .. "", MESSAGE_EVENT_ADVANCE) return TRUE end Pronto, já estará funcionando seu sistema (se sua tabela de newsticker não for z_news_tickers é só mudar.
     
     
    Créditos:
    Keilost
    Globalwar
     
  21. Gostei
    keilost1 deu reputação a Wakon em [TALKACTION] Staff no help   
    Tópico aprovado e movido a área correta, obrigado por compartilhar.
    Não seria melhor uma storage por player talvez?
  22. Gostei
    keilost1 recebeu reputação de Reds em [TALKACTION] Staff no help   
    E aí galera do TK,
     
    Hoje vim trazer um script idiota simples e que é util para os tutores do meu servidor, onde eles utilizam um comando e anuncia a seguinte mensagem:
     
    00:13 O Tutor Keilost está no Help Channel respondendo duvidas.
     
    Ele tem uma limitação de 15 minutos para usar novamente, ah e fiz uma funçãozinha que ele identifica qual group é do player, caso um GM queria usar, CM, whatever...
    Vamos ao código:
     
    Em talkactions/talkactions.xml coloque a seguinte tag:
    <talkaction log="yes" words="/anunciar" access="2" event="script" script="staffbroad.lua"/> Agora em talkactions/scripts crie um arquivo lua chamado staffbroad e coloque o seguinte conteudo:
    function getNameGroup(group) local groups = {"Player", "Tutor", "Senior Tutor", "Gamemaster", "Community Manager", "Administrador"} return groups[group] end function onSay(cid, words, param, channel) local gbb = 82389239 if getPlayerStorageValue(cid, gbb) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "O comando só pode ser executado de 15 em 15 minutos.") return true end doBroadcastMessage("O "..getNameGroup(getPlayerGroupId(cid)).." "..getPlayerName(cid).." está no Help Channel respondendo duvidas.") setPlayerStorageValue(cid, gbb, os.time() + 15 * 60) return true end Bom é isso, qualquer duvida podem perguntar aqui
     
    Créditos
    Keilost(eu)
  23. Gostei
    keilost1 recebeu reputação de Wend II em [TALKACTION] Staff no help   
    E aí galera do TK,
     
    Hoje vim trazer um script idiota simples e que é util para os tutores do meu servidor, onde eles utilizam um comando e anuncia a seguinte mensagem:
     
    00:13 O Tutor Keilost está no Help Channel respondendo duvidas.
     
    Ele tem uma limitação de 15 minutos para usar novamente, ah e fiz uma funçãozinha que ele identifica qual group é do player, caso um GM queria usar, CM, whatever...
    Vamos ao código:
     
    Em talkactions/talkactions.xml coloque a seguinte tag:
    <talkaction log="yes" words="/anunciar" access="2" event="script" script="staffbroad.lua"/> Agora em talkactions/scripts crie um arquivo lua chamado staffbroad e coloque o seguinte conteudo:
    function getNameGroup(group) local groups = {"Player", "Tutor", "Senior Tutor", "Gamemaster", "Community Manager", "Administrador"} return groups[group] end function onSay(cid, words, param, channel) local gbb = 82389239 if getPlayerStorageValue(cid, gbb) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "O comando só pode ser executado de 15 em 15 minutos.") return true end doBroadcastMessage("O "..getNameGroup(getPlayerGroupId(cid)).." "..getPlayerName(cid).." está no Help Channel respondendo duvidas.") setPlayerStorageValue(cid, gbb, os.time() + 15 * 60) return true end Bom é isso, qualquer duvida podem perguntar aqui
     
    Créditos
    Keilost(eu)
  24. Gostei
    keilost1 recebeu reputação de Pinduca da RBC em [TALKACTION] Staff no help   
    E aí galera do TK,
     
    Hoje vim trazer um script idiota simples e que é util para os tutores do meu servidor, onde eles utilizam um comando e anuncia a seguinte mensagem:
     
    00:13 O Tutor Keilost está no Help Channel respondendo duvidas.
     
    Ele tem uma limitação de 15 minutos para usar novamente, ah e fiz uma funçãozinha que ele identifica qual group é do player, caso um GM queria usar, CM, whatever...
    Vamos ao código:
     
    Em talkactions/talkactions.xml coloque a seguinte tag:
    <talkaction log="yes" words="/anunciar" access="2" event="script" script="staffbroad.lua"/> Agora em talkactions/scripts crie um arquivo lua chamado staffbroad e coloque o seguinte conteudo:
    function getNameGroup(group) local groups = {"Player", "Tutor", "Senior Tutor", "Gamemaster", "Community Manager", "Administrador"} return groups[group] end function onSay(cid, words, param, channel) local gbb = 82389239 if getPlayerStorageValue(cid, gbb) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "O comando só pode ser executado de 15 em 15 minutos.") return true end doBroadcastMessage("O "..getNameGroup(getPlayerGroupId(cid)).." "..getPlayerName(cid).." está no Help Channel respondendo duvidas.") setPlayerStorageValue(cid, gbb, os.time() + 15 * 60) return true end Bom é isso, qualquer duvida podem perguntar aqui
     
    Créditos
    Keilost(eu)
  25. Gostei
    keilost1 recebeu reputação de Wakon em [TALKACTION] Staff no help   
    E aí galera do TK,
     
    Hoje vim trazer um script idiota simples e que é util para os tutores do meu servidor, onde eles utilizam um comando e anuncia a seguinte mensagem:
     
    00:13 O Tutor Keilost está no Help Channel respondendo duvidas.
     
    Ele tem uma limitação de 15 minutos para usar novamente, ah e fiz uma funçãozinha que ele identifica qual group é do player, caso um GM queria usar, CM, whatever...
    Vamos ao código:
     
    Em talkactions/talkactions.xml coloque a seguinte tag:
    <talkaction log="yes" words="/anunciar" access="2" event="script" script="staffbroad.lua"/> Agora em talkactions/scripts crie um arquivo lua chamado staffbroad e coloque o seguinte conteudo:
    function getNameGroup(group) local groups = {"Player", "Tutor", "Senior Tutor", "Gamemaster", "Community Manager", "Administrador"} return groups[group] end function onSay(cid, words, param, channel) local gbb = 82389239 if getPlayerStorageValue(cid, gbb) - os.time() > 0 then doPlayerSendTextMessage(cid, 27, "O comando só pode ser executado de 15 em 15 minutos.") return true end doBroadcastMessage("O "..getNameGroup(getPlayerGroupId(cid)).." "..getPlayerName(cid).." está no Help Channel respondendo duvidas.") setPlayerStorageValue(cid, gbb, os.time() + 15 * 60) return true end Bom é isso, qualquer duvida podem perguntar aqui
     
    Créditos
    Keilost(eu)

Informação Importante

Confirmação de Termo