Ir para conteúdo

tirso

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Obrigado
    tirso recebeu reputação de LeoTK em Baú de Itens por classe.   
    Opa! 
    Consegui o sistema de itens por vocação...
     
    Crie um arquivo .Lua em Actions com...
    local vocs = { [1] = {{2190,1},{2175,1},{8820,1},{8819,1}}, [2] = {{2182,1},{2175,1}, {8820,1}, {8819,1}}, [3] = {{2410,1},{2530,1}, {2480,1}, {2464,1}}, [4] = {{2409,1},{2530,1},{2480,1},{2464,1}} } local storage = 548747 function onUse(cid, item, frompos, item2, topos) local var = vocs[getPlayerVocation(cid)] if not var then return true end if getPlayerStorageValue(cid, storage) > 0 then doPlayerSendTextMessage(cid,22,"It is empty.") return true end local backpack = doPlayerAddItem(cid, 1999, 1) -- backpackID for _, i_i in ipairs(var) do local item, amount = i_i[1],i_i[2] if isItemStackable(item) or amount == 1 then doAddContainerItem(backpack, item, amount) else for i = 1, amount do doAddContainerItem(backpack, item, 1) end end end setPlayerStorageValue(cid, storage, 1) doPlayerSendTextMessage(cid,22,"You have found a set from your vocation.") return true end [1]... São os IDs das classes
    {{2190,1},{2175,1},{8820,1},{8819,1}}, O item que irá dar para a classe.
     
    Agora em Actions XML adicione...
    Depois disso é só adicionar o ID no baú (Pelo RME) que você escolheu!
    Bem simples e funcional
    Fiz na versão 8.6 TFS 0.4!
     
    Créditos 100% do @Vodkart (Até onde eu sei! )
    Postei só pra ajudar o amigo ali...
    Espero que dê certo ai também! 
    Valeuu
     
  2. Gostei
    tirso deu reputação a jNo em (3º) | [8.60] - Epic Server   
    TKs,
     
    Olá, hoje eu trago esse OTServer com o objetivo de mudar a perspectiva dos usuários e OT-Admins em relação aos baiaks, bom, tentar mudar... enfim, esse servidor foi basicamente construído do “0”, diferente dos demais OTServer disponibilizados no fórum que são versões, e mais versões modificadas da base do Yurots (GOD BON), não que seja uma crítica, afinal, eu mesmo já fiz isso 2x, mas, tudo nessa vida precisa mudar ou para pior, ou para melhor, certo?
    Nesse server eu tentei desenvolver algumas mudanças drásticas, mas sem perder muito a essência de um Baiak padrão, é claro, que em relação a cidade principal algumas coisas ficaram diferente, mas a jogabilidade, hunts, sistemas e quests (bem elaborados por sinal), ficaram bem shows.
    O Epic Server foi construído e auxiliado com algumas partes de mapping e scripts de contribuintes do fórum, portanto o crédito não e só meu quando se olha esse aspecto, é de todo o fórum. Todos os sistemas e partes que compõe o server são atualizados, até a maioria dos scripts, e a datapack fornecida pelo grande @Fir3element
     
    Por conta da faculdade estar me tomando muito tempo e o meu desempenho não tem sido muito bom, deixei alguns itens sem solução, mas estarei fazendo as atualizações assim que possível (no momento o server esta 99/100%), então por enquanto descreverei abaixo alguns avisos.
     
    ALGUNS AVISOS:
     
    1 – O server foi produzido para SQL, dentro da pasta Others contém uma database já com as querrys instalada, e também a lista das mesmas, se quiser por em MYSQL, vai ter que achar uma database que funcione com um site, e inserir essas querrys que consta na pasta "querrys sql" e converter em mysql (algumas ja foram convertidas, e no próprio arquivo do ot tem um link que redireciona para uma database mysql+site). 2 – Sobre as Houses, eu não criei elas no RME, por motivos óbvios, vai facilitar que membros que tenham interesse em fazer algumas mudanças estéticas no mapa as façam facilmente. (Você vai perder no máximo 30 mins criando no mapa, só lembre de cria-las usando a town principal "epic city"). 3 – O Evento Six e Chest Bps estão incompletos por enquanto, ainda estou aguardando um auxílio do portal para finalizar, e quando isso acontecer eu vou atualizando o tópico aqui com esses eventos finalizados, mas você pode facilmente inserir outros no lugar. 4 – A senha do admin é tibiaking/juliano 5 – O server possui o bug do elfbot, o bug do fast attack, eu inseri nas sources os códigos que corrigem esse bug, porém eu não estava conseguindo recompilar o projeto, se você souber, facilmente corrigira esse bug. (Não que seja um problema, mas, é mais interessante você deixar um fast attack editável pelo ot e não por um bug de compilação) E o @fir3element quando voltar a ativa vai corrigir isso no tópico. 6.1 - Também possui o bug do openchat, ja modifiquei nas sources também, e no server ja tem os arquivos e codigos instalados, basta mesmo compilar novamente. http://www.tibiaking.com/forum/forums/topic/67233-860-the-forgotten-server-04-sqlite-e-mysql/ 7 – Eu não sou scripter, então vai ficar difícil eu resolver algumas dúvidas relacionadas, eu sei o básico, mas posso tentar auxiliar, basta postar a foto com o erro, ou criar um tópico na seção de suporte que é o mais indicado. 8 - Recomendo deixar o server com os avisos em english, até os comandos etc... pois pelo que andei observando, bastantes grigos tem jogado os servers BR. 9 - O Server ja possui um sistema de points donate, bastar usar o comando /addpoints Fulano, 15 (Caso insira site, não sei, acho que não tera conflito com esse sistema, só lembre de converter as querys sql para mysql necessárias do script) 10 - O Baiak foi desenvolvido para um padrão, low>middle>high, mas nada exagerado, podendo alcançar em média, level 1200 no max. Você pode editar isso também, como as experiências das criaturas são padronizadas, basta diminuir a exp stage no config.lua, ou, no arquivo xml você muda e coloca uns stages melhores.  
     
    Qualquer bug demais não citados, ou critica/sugestões, comente aqui no tópico!
     
     
    Obrigado aos usuários @Dwarfer, @Vodkart, @MaXwEllDeN, @Sekk, @pablobion, @JcA, @KotZletY, @DboExplorer, @rogaforyn2 @joadson e a toda comunidade! É nós, sem mais delongas:
     

     
     
     
     
     
     

     
     
  3. Gostei
    tirso deu reputação a Tricoder em The Elemental Spheres Quest   
    Categoria: Mapa.
    Versão: 8.60
    Créditos: Nurn
    Anexos: Download | Scan
     
    Screenshot;

  4. Gostei
    tirso deu reputação a Tricoder em Boss map   
    Categoria: Mapa.
    Versão: 8.60
    Créditos: Snuggles
    Anexos: Download | Scan
     
    Screenshot;

  5. Gostei
    tirso deu reputação a Lyu em Anti-Abuse [Proibir palavrões]   
    Fala pessoal, fiz este script para evitar palavrões em meu servidor e agora irei disponibilizá-lo.
     
    Crie um arquivo xml chamado antiabuse.xml e adicione isto dentro :
    <?xml version="1.0" encoding="UTF-8"?> <mod name="Anti-Abuse System" version="1.0" author="Ladyazaleia" contact="https://www.facebook.com/wustehs" enabled="yes"> <config name="antiabuse-config"><![CDATA[     words_ = {"porra","viado","caralho","buceta","puta","piroca","baiak","xereca","viadinho","cu","vai se fuder","filho da puta","seu cu","minha pica"}     cancel = "There is a word '%s' that you cannot use." ]]></config>      <talkaction default="yes" filter="quotation" logged="no" hidden="yes" event="script"><![CDATA[ domodlib('antiabuse-config')     for _, v in pairs(words_) do         if(words:lower():find(v)) then             return doPlayerSendCancel(cid, cancel:format(v))         end     end ]]></talkaction> </mod> Na tabela  words_..
    Adicione a palavra que você deseja proibir de ser dita em seu servidor.
     
    testado em TFS 0.4
    qualquer erro, nos avise.
     
    obs : desculpe os palavrões pesados ae u.u
    Créditos : EU
     
  6. Gostei
    tirso recebeu reputação de Miragem em Baú de Itens por classe.   
    Opa! 
    Consegui o sistema de itens por vocação...
     
    Crie um arquivo .Lua em Actions com...
    local vocs = { [1] = {{2190,1},{2175,1},{8820,1},{8819,1}}, [2] = {{2182,1},{2175,1}, {8820,1}, {8819,1}}, [3] = {{2410,1},{2530,1}, {2480,1}, {2464,1}}, [4] = {{2409,1},{2530,1},{2480,1},{2464,1}} } local storage = 548747 function onUse(cid, item, frompos, item2, topos) local var = vocs[getPlayerVocation(cid)] if not var then return true end if getPlayerStorageValue(cid, storage) > 0 then doPlayerSendTextMessage(cid,22,"It is empty.") return true end local backpack = doPlayerAddItem(cid, 1999, 1) -- backpackID for _, i_i in ipairs(var) do local item, amount = i_i[1],i_i[2] if isItemStackable(item) or amount == 1 then doAddContainerItem(backpack, item, amount) else for i = 1, amount do doAddContainerItem(backpack, item, 1) end end end setPlayerStorageValue(cid, storage, 1) doPlayerSendTextMessage(cid,22,"You have found a set from your vocation.") return true end [1]... São os IDs das classes
    {{2190,1},{2175,1},{8820,1},{8819,1}}, O item que irá dar para a classe.
     
    Agora em Actions XML adicione...
    Depois disso é só adicionar o ID no baú (Pelo RME) que você escolheu!
    Bem simples e funcional
    Fiz na versão 8.6 TFS 0.4!
     
    Créditos 100% do @Vodkart (Até onde eu sei! )
    Postei só pra ajudar o amigo ali...
    Espero que dê certo ai também! 
    Valeuu
     
  7. Gostei
    tirso deu reputação a xWhiteWolf em (Resolvido)[Pedido] Mandar todos para o templo!   
    vc pode tanto colocar no script que ele colocou e alterar as posições de temple = {x = ....}
    ou pode fazer uma query direto na DB pelo sqlite (tem nas opções lá mas acho que é F9)
    colocando o X, Y e Z
    UPDATE `players` SET `posx` = "150", `posy` = "60", `posz` = "7";
  8. Gostei
    tirso deu reputação a Absolute em (Resolvido)[pedido BOOK] texto sagrado   
    Irei fazer


    Em data/actions/actions.xml adicione a seguinte linha:
    <action itemid="196" script="tibiaking.lua"/>

    Em data/actions/scripts crie um arquivo com o nome de tibiaking.lua e adicione dentro:
    function onUse(cid, item, pos) doPlayerPopupFYI(cid, "COLOQUE AQUI SUA MENSAGEM") doRemoveItem(item.uid, 0) return true end
    Caso queira que o item seja removido altere o item.uid, 0 para item.uid, 1

    Caso queira mudar sem o pop-up (como você pediu da spells) coloque assim:
    function onUse(cid, item, pos) doPlayerSendTextMessage(cid, 27, "COLOQUE AQUI SUA MENSAGEM") doRemoveItem(item.uid, 0) return true end
    É importante lembrar que o item ID deve ser 196, caso não seja altere no actionid...
  9. Gostei
    tirso deu reputação a ViitinG em [Anti-Magebomb]   
    Eu uso este no meu servidor :
     
    "data/creaturescript/scripts/antimc.lua"
    local config = { max = 2, -- número de players permitido com o mesmo ip group_id = 1 -- kikar apenas player com o group id 1 } local accepted_ip_list = {""} -- lista dos players permitidos a usar MC, exemplo: {"200.85.3.60", "201.36.5.222"} local function antiMC(p) if #getPlayersByIp(getPlayerIp(p.pid)) >= p.max then doRemoveCreature(p.pid) end return true end function onLogin(cid) if getPlayerGroupId(cid) <= config.group_id then if isInArray(accepted_ip_list,doConvertIntegerToIp(getPlayerIp(cid))) == false then addEvent(antiMC, 1000, {pid = cid, max = config.max+1}) end end return true end "data/creaturescript/creaturescript.xml"
    <event type="login" name="AntiMC" event="script" value="antimc.lua"/>
  10. Gostei
    tirso deu reputação a Absolute em [MODS] Emoticons   
    Fala galera, trouxe para vocês um simples script que fiz de "Emoticons" para seus servidores em MODS, isto mesmo basta colocar na pasta MODS do servidor e pronto, simples não?
     



     
    Explicações;
     
    Para alterar as falas basta substiuir as palavras: talkaction words="xd, =d, xp ou acrescentar mais palavras da mesma forma, seguindo o padrão.
     
    Quando o player disser você pode optar em aparecer no log (says) e tanto em emotion aqui: hidden="yes", da forma que está ele vai ocultar no log e aparecer apenas o emoticon, caso queira que apareça ambos coloque hidden="no".
     
    exhaust = 5 -- in seconds, aqui será o tempo que o player vai ter para usar outro emoticon
     
    storage = 3000 -- storage value used to save exhaustion (Não mexa nesta linha pois este número é o que vai marcar o exhaust para o player usar de novo, digamos assim.
     
     

    Exemplo de emoticon simples:





     
     

    Simples mas legalzinho!
    Até mais scripts que desenvolverei =D
    Bom Dia.
  11. Gostei
    tirso deu reputação a Hadggar em [TalkAction] Sistema de Jail !   
    Opa galera blz? hoje vou trazer um sistema para vocês de jail, então vamos la !
     
    Algumas Funções !
     
    Funções:
     
    *Exemplo, GM quer prender um player que ta fazeno algu de errado, ai ele fala !jail ,4(no exemplo ele ficara 4 minutos preso), éo nome do fulano, !jail 4,fulano ,!jail 15,fulano ou !jail 30,fulano.
     
    * Verificação jogador o tempo de prisão (mostra data unjail) 
    * auto unjail jogadores 
    * Kick todos os jogadores da prisão depois de acidente / restart [teletransporte para jogador templo] 
     
    Primeiramente vá em \data\talkactions e abra o talkactions.xml é lá adicione:
    <talkaction words="!jail" script="jailsystem.lua"/> <talkaction words="!unjail" script="jailsystem.lua"/> <talkaction words="/jail" script="jailsystem.lua"/> <talkaction words="/unjail" script="jailsystem.lua"/> Agora vá em \data\talkactions\scripts é crie um arquivo chamado jailsystem.lua é la adicione :
    -- Default jail time in seconds -- default_jail = 30 -- The permission you need to jail someone -- grouprequired = 4 -- StorageValue that the player gets -- jailedstoragevalue_time = 1338 jailedstoragevalue_bool = 1339 -- Set the position of the jail: -- jailpos = { x = 1037, y = 1004, z =7 } -- Set the position once unjailed: -- unjailpos = { x = 1029, y = 1005, z =7 } -- auto kicker, dont edit jail_list = {} jail_list_work = 0 function checkJailList(param) addEvent(checkJailList, 1000, {}) for targetID,player in ipairs(jail_list) do if isPlayer(player) == TRUE then if getPlayerStorageValue(player, jailedstoragevalue_time) < os.time() then doTeleportThing(player, unjailpos, TRUE) setPlayerStorageValue(player, jailedstoragevalue_time, 0) setPlayerStorageValue(player, jailedstoragevalue_bool, 0) table.remove(jail_list,targetID) doPlayerSendTextMessage(player,MESSAGE_STATUS_CONSOLE_ORANGE,'You were kicked from jail! See you later :)') end else table.remove(jail_list,targetID) end end end function onSay(cid, words, param) if jail_list_work == 0 then jail_list_work = addEvent(checkJailList, 1000, {}) end if param == '' and (words == '!unjail' or words == '/unjail') then if getPlayerStorageValue(cid, jailedstoragevalue_time) > os.time() then doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'You are jailed until ' .. os.date("%H:%M:%S", getPlayerStorageValue(cid, jailedstoragevalue_time)) .. ' (now is: ' .. os.date("%H:%M:%S", os.time()) .. ').') else if getPlayerStorageValue(cid, jailedstoragevalue_bool) == 1 then table.insert(jail_list,cid) doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'You will be kicked from jail in one second.') else doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'You are not jailed.') end end return TRUE end local jail_time = -1 for word in string.gmatch(tostring(param), "(%w+)") do if tostring(tonumber(word)) == word then jail_time = tonumber(word) end end local isplayer = getPlayerByName(param) if isPlayer(isplayer) ~= TRUE then isplayer = getPlayerByName(string.sub(param, string.len(jail_time)+1)) if isPlayer(isplayer) ~= TRUE then isplayer = getPlayerByName(string.sub(param, string.len(jail_time)+2)) if isPlayer(isplayer) ~= TRUE then isplayer = getPlayerByName(string.sub(param, string.len(jail_time)+3)) end end end if jail_time ~= -1 then jail_time = jail_time * 60 else jail_time = default_jail end if words == '!jail' or words == '/jail' then if getPlayerGroupId ( cid ) >= grouprequired then if isPlayer(isplayer) == TRUE then doTeleportThing(isplayer, jailpos, TRUE) setPlayerStorageValue(isplayer, jailedstoragevalue_time, os.time()+jail_time) setPlayerStorageValue(isplayer, jailedstoragevalue_bool, 1) table.insert(jail_list,isplayer) doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'You jailed '.. getCreatureName(isplayer) ..' until ' .. os.date("%H:%M:%S", getPlayerStorageValue(isplayer, jailedstoragevalue_time)) .. ' (now is: ' .. os.date("%H:%M:%S", os.time()) .. ').') doPlayerSendTextMessage ( isplayer, MESSAGE_INFO_DESCR, 'You have been jailed by '.. getCreatureName(cid) ..' until ' .. os.date("%H:%M:%S", getPlayerStorageValue(isplayer, jailedstoragevalue_time)) .. ' (now is: ' .. os.date("%H:%M:%S", os.time()) .. ').') return TRUE else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Player with this name doesn\'t exist or is offline.") return FALSE end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don't have access to unjail other players.") return FALSE end elseif words == '!unjail' or words == '/unjail' then if getPlayerGroupId ( cid ) >= grouprequired then if isPlayer(isplayer) == TRUE then doTeleportThing(isplayer, unjailpos, TRUE) setPlayerStorageValue(isplayer, jailedstoragevalue_time, 0) setPlayerStorageValue(isplayer, jailedstoragevalue_bool, 0) table.remove(jail_list,targetID) doPlayerSendTextMessage(isplayer,MESSAGE_STATUS_CONSOLE_ORANGE,getCreatureName(cid) .. ' let you go out from jail! See you later :)') doPlayerSendTextMessage ( cid, MESSAGE_INFO_DESCR, 'You unjailed '.. getCreatureName(isplayer) ..'.') else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Player with this name doesn\'t exist or is offline.") return FALSE end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You don't have access to unjail other players.") return FALSE end end return FALSE end Algumas configurações
     
    grouprequired = 4 -- aki séra até o grupo que poderar usar no caso group 4 pra baixo.
    jailpos = { x = 1037, y = 1004, z =7 } -- aki séra a posição para aonde o player irar quando for preso.
    unjailpos = { x = 1029, y = 1005, z =7 }- -aki séra para aonde ele for quando ele n tiver mais preso, no caso unjail.
    Creditos: Gesior.pl EU.   Lembre-se eu testei em tibia 8.54 é 8.60 é funcionou perfeitamente !
     
     
     
     
     
     
     
  12. Gostei
    tirso deu reputação a MarcosFraga em double xp potion   
    Crie um arquivo na pasta data/actions/scripts com o nome
    doublexp.lua
    Cole dentro dele:
    Edite as linhas locais e de texto.
    function onUse(cid, item, frompos, item2, topos) local pausa = 1800000 -- (1000 = 1 segundos) Tempo que o script durará local texto = 'You receive double the experience to kill a monster for 30 minutes.' -- Texto que irá receber ao usar a potion. textofinal = 'Its just minutes.' -- Texto que irá receber quando o efeito da potion acabar. local exp = 2 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server. expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal. if item.itemid == 7443 then doRemoveItem(item.uid,1) doPlayerSetExperienceRate(cid,exp) doSendMagicEffect(frompos,13) doPlayerSendTextMessage(cid,22,texto) addEvent(potion,pausa,cid) end end function potion(pos, cid) doPlayerSetExperienceRate(pos,expfinal) doPlayerSendTextMessage(pos,22,textofinal) end E depois adicione no arquivo actions.xml localizado na pasta data/actions:
    e adicione a linha:
    <action itemid="ID DO ITEM" script="doublexplua" /> No script postado esta em azul 7443, edite para o seu item e depois adicione nessa ultima linha postada.
    Espero que ajude.
  13. Gostei
    tirso deu reputação a luangop em Será que poderiam me ajudar nesse Potion?   
    Falhei então... por isso odeio trabalhar com MOD. Foi mal
  14. Gostei
    tirso deu reputação a Elwyn em (Resolvido)Tile que enxe stamina   
    eventsId = {} local function rechargeStamina(cid)     if not isPlayer(cid) then         eventsId[cid] = nil         return     end     doPlayerSetStamina(cid, getPlayerStamina(cid) + 1)     eventsId[cid] = addEvent(rechargeStamina, 60 * 1000, cid) end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)     if isPlayer(cid) then         eventsId[cid] = addEvent(rechargeStamina, 60 * 1000, cid)     end     return true end function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)     if isPlayer(cid) then         stopEvent(eventsId[cid])         eventsId[cid] = nil     end     return true end  
    Agora ele só adicionará a cada minuto.
  15. Gostei
    tirso deu reputação a Elwyn em (Resolvido)Tile que enxe stamina   
    TFS 1.1:



     
    TFS 0.3.6 ~ 0.4:
    OTX 2:
     



    Salve como stamina_tile.lua em movements/script
     
    movements.xml:
        <movevent event="StepIn" itemid="407" script="stamina_tile.lua" />     <movevent event="StepOut" itemid="407" script="stamina_tile.lua" /> Mude itemid="407" para o itemid desejado, caso queira actionid é só mudar de itemid="id do item" para actionid="id da action".
  16. Gostei
    tirso deu reputação a Dennyz em Exhausted MagicWall rune!   
    Amigo tente
     
     
  17. Gostei
    tirso deu reputação a Cjaker em Será que teria como criar esse script?   
    Não sei se é possível alterar em .lua algo do config.lua, mas você pode tentar ver isso para aplicar o que precisa.
    https://github.com/peonso/forgottenserver036pl1/blob/master/src/monsters.cpp#L88
  18. Gostei
    tirso deu reputação a Heyron em (Resolvido)Help na magia Utito tempo san   
    Vá em Data/Spells/Support/Sharpshooter.lua e apague o código que estiver lá, e adicione esse novo:
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 150) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
  19. Gostei
    tirso deu reputação a dragonfight em (Resolvido)Podem me ajudar nesse script?   
    function onUse(cid, item) if (getCreatureSkullType(cid) == SKULL_RED or getCreatureSkullType(cid) == SKULL_BLACK) and (getTilePzInfo(getCreaturePosition(cid)) == TRUE) then doRemoveItem(item.uid, 1) return doCreatureSetSkullType(cid, SKULL_NONE) and true end return doPlayerSendCancel(cid, "Você não pode usar este item") and true end  
  20. Gostei
    tirso deu reputação a Summ em (Resolvido)Remover red e blackskull por item   
    function onUse(cid, item) if not getTileInfo(getThingPos(cid)).protection then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"You can't remove your skull in this area.") return true end if getCreatureSkullType(cid) == SKULL_RED or getCreatureSkullType(cid) == SKULL_black then db.executeQuery("UPDATE `killers` SET `unjustified` = 0 WHERE `id` IN (SELECT `kill_id` FROM `player_killers` WHERE `player_id` = " .. getPlayerGUID(cid) .. ")") db.executeQuery("UPDATE `players` SET `skulltime` = 0") doCreatureSetSkullType(cid, 0) doPlayerSendTextMessage(cid, 19, "Você removeu seus Frags/Skull com sucesso.") doSendMagicEffect(getThingPos(cid), 26) doRemoveItem(item.uid,1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your skull has been removed!") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You do not have red/black skull!") end return true end <action itemid="ITEMID" event="script" value="NOMEDOARQUIVO.lua"/> Já tava fazendo mesmo u.u, então postei   
  21. Gostei
    tirso deu reputação a Gabrielk em (Resolvido)[RUNA] Destroy Field Bugada   
    vai em actions e procura o arquivos destroyfield e troca por esse...
     
    function onUse(cid, item, frompos, item2, topos)
         fieldpos = topos
         fieldpos.stackpos = 254
         fielditem = getThingfromPos(fieldpos)
     
         if getPlayerMagLevel(cid) >= 3 then
             if fielditem.itemid > 0 and fielditem.itemid ~= 1497 and fielditem.itemid ~= 1498 then
                 doSendMagicEffect(topos,2)
                 doRemoveItem(fielditem.uid,1)
     
                 if item.type > 1 then
                     doChangeTypeItem(item.uid,item.type-1)
                 else
                     doRemoveItem(item.uid,1)
                 end
             else
                 doSendMagicEffect(frompos,2)
                 return 0
             end
         else
             doSendMagicEffect(frompos,2)
             doPlayerSendCancel(cid,"You don't have the required magic level to use that rune.")
         end
         return 1
     end
     
  22. Gostei
    tirso deu reputação a Absolute em [Ver Gold] Checar seu balance - !mygold   
    Fala galera do TK trago hoje algo bem simples, um comando que checa o balance do player.
     
    Exemplo, o player está em qualquer lugar e quer verificar o seu gold na bp sem precisar ver, então ele digita: !mygold
     
    É uma simples talkaction, fácil de adaptar
     

     
    Vamos lá:
     
    Em data/talkactions/scripts crie um arquivo com o nome de checkgold.lua e dentro adicione:
    function onSay(cid, words, param, channel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have " .. getPlayerMoney(cid) .. " gold.") return true end Em data/talkactions/talkactions.xml adicione a seguinte linha:
    <talkaction words="!mymoney" event="script" value="checkgold.lua"/> Pronto, adaptado em seu servidor!
     
     
     
    Script simples e útil para alguns.
     
     
     
     
    Dúvidas pergunte.
     
     
    Até o próximo sistema.
     
     
     
    Absolute.
  23. Gostei
    tirso recebeu reputação de Sekk em (Resolvido)Alguém pode me dar uma força?   
    Você acredita que tinha "" em vez de " ? 
    Aff que vergonha! kkk
    Funcionou 380% amigo, obrigado de verdade, me ajudou MUITO! 
    Vou te dar os REPs que posso hoje kk...
     
    Abraço ♥
     
  24. Gostei
    tirso deu reputação a Rusherzin em Comando "Spy" Players   
    Olá pessoal do TK, venho aqui trazer um script que não fui eu quem o criou, somente coloquei-o em português (e daí?).. Achei em um fórum e no final do tópico estarei disponibilizando o nome do criador.
     
    Utilidade do Script:
     
    Bom, o script serve para você com um character com acesso de GOD (configurável) possa ver quais itens um certo player está utilizando no momento. PS: Inclusive os itens presentes dentro da backpack do Player.
     
    Como funciona:
     
    Você digita a talkaction /spy seguida do nome do player a ser "espionado".
    Por Exemplo: /spy Rusherzin
    /spy Tibia King
     
    Testado em:
     
    Versão 8.54
     
    Imagem:



     
    Agora vamos ao script:
    Vá em data/talkactions/scripts/ copie e cole um arquivo .lua qualquer, renomeie para spy e cole isso dentro:



     
    E adicione essa tag no talkactions.xml:



     
     
     
    Créditos:  Azi
  25. Gostei
    tirso deu reputação a Tricombi em [Tutorial] Comando para fazer o player falar!   
    Bom galera estou trazendo aqui uma TalkAction bem legal pra vocês.
     
    Ela serve para fazer o PLAYER do seu OT falar o que você quiser com apenas um comando!, bom chega de enrolação e vamos começar logo!
     
     
    Va na pasta do seu OTserv e va em Data/Talkactions/Scripts e crie um arquivo chamado playersay.lua e adicione isso:
     
    -------------------------
     
    function onSay(cid, words, param, channel)
    if(param == '') then
    return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "É necessário um paramêtro."), TRUE
    end
    local prm = string.explode(param, ",")
    local pos = getCreaturePosition(cid)
    local plr = getPlayerByName(prm[1])
    if (plr == nil) then
    return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O player está offline ou não existe.")
    elseif (prm[2] == nil) then
    return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "É necessário a mensagem após a vírgula.")
    end
    return doCreatureSay(plr, prm[2], 1), TRUE
    end
     
     
    ---------------------------------------
     
    Depois va em talkaction.xml e adicione essa tag:
     
     
    <talkaction log="yes" words="!ps" access="5" event="script" value="playersay.lua"/>
     
     
     
    ----------------------------------------
    Créditos: @Tricombi - Por trazer ao fórum.
    Créditos ao criador: Desconhecido.
     
    Te AJUDEI? Da um REP + !
     
     
     
     
     
     
     
     
     

Informação Importante

Confirmação de Termo