Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''Action%2525252FTalkaction''.

O índice de pesquisa está sendo processado. Os resultados atuais podem não estar completos.
  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Portal Tibiaking
    • Portal
    • Sobre o Fórum
    • Projetos Open Source
    • Regras
  • OTServer Tibia & Derivados
    • Suporte & Pedidos
    • OTServer Downloads
    • OTServer Scripts
    • Ferramentas OpenTibia
    • Linguagens de Programação
    • Mapas
    • Websites
    • Show Off
    • Gráficos e Design
    • Divulgações
  • Tibia e Bots
    • Tibia
    • Bots & Macro
  • Diversos
    • Playground (Off-topic)

Calendários

  • Calendário Oficial
  • Calendário de OTServs
  • Calendários Diversos

Blogs

Não há resultados


Encontrar resultados em...

Encontrar resultados que contenham...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Localização


Meu personagem


OTServ favorito


Bot preferido


Interesses

  1. vá em data/talkactions/scrpits/ e crie um novo arquivo chamado templo.lua e adicione isso dentro verde = Posições de x,y e z Azul = Mensagem que ira aparecer agora vá em data/talkactions.xml e coloque isso Créditos: MatheusVidaLoka & Ootsutsuki Se Ajudei REP+ vlw,flw Acaso nao funcione entre em contato comigo ou atraves desse topico ou mensagem privada
  2. Fala galera do TK, vi em alguns servidores grandes 10.x+ o comando de /war invite, ou seja todos os servidores que baixamos não contém este sistema, então resolvi pegar o script original como base e adapta-lo para tfs 1.0, trocando as funções e tudo mais. Sem mimimi vamos ao que interessa: Em data/talkactions/scripts crie um arquivo chamado: gwarabsolute.lua e dentro adicione o seguinte conteúdo: function onSay(cid, words, param) local player = Player(cid) local guild = player:getGuild() if(guild == nil) then player:sendCancelMessage("You need to be in a guild in order to execute this talkaction.") return false end local guild = getPlayerGuildId(cid) if not guild or (player:getGuildLevel() < GUILDLEVEL_LEADER) then player:sendCancelMessage("You cannot execute this talkaction.") return false end local t = string.split(param, ",") if(not t[2]) then player:sendChannelMessage("", "Not enough param(s).", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end local enemy = getGuildId(t[2]) if(not enemy) then player:sendChannelMessage("", "Guild \"" .. t[2] .. "\" does not exists.", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end if(enemy == guild) then player:sendChannelMessage("", "You cannot perform war action on your own guild.", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end local enemyName, tmp = "", db.storeQuery("SELECT `name` FROM `guilds` WHERE `id` = " .. enemy) if tmp ~= false then enemyName = result.getDataString(tmp, "name") result.free(tmp) end if(isInArray({"accept", "reject", "cancel"}, t[1])) then local query = "`guild1` = " .. enemy .. " AND `guild2` = " .. guild if(t[1] == "cancel") then query = "`guild1` = " .. guild .. " AND `guild2` = " .. enemy end tmp = db.storeQuery("SELECT `id`, `started`, `ended`, `payment` FROM `guild_wars` WHERE " .. query .. " AND `status` = 0") if(tmp == false) then player:sendChannelMessage("", "Currently there's no pending invitation for a war with " .. enemyName .. ".", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end if(t[1] == "accept") then local _tmp = db.storeQuery("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = result.getDataInt(_tmp, "balance") < result.getDataInt(tmp, "payment") result.free(_tmp) if(state) then player:sendChannelMessage("", "Your guild balance is too low to accept this invitation.", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end db.query("UPDATE `guilds` SET `balance` = `balance` - " .. result.getDataInt(tmp, "payment") .. " WHERE `id` = " .. guild) end query = "UPDATE `guild_wars` SET " local msg = "accepted " .. enemyName .. " invitation to war." if(t[1] == "reject") then query = query .. "`ended` = " .. os.time() .. ", `status` = 2" msg = "rejected " .. enemyName .. " invitation to war." elseif(t[1] == "cancel") then query = query .. "`ended` = " .. os.time() .. ", `status` = 3" msg = "canceled invitation to a war with " .. enemyName .. "." else query = query .. "`started` = " .. os.time() .. ", `ended` = " .. (result.getDataInt(tmp, "ended") > 0 and (os.time() + ((result.getDataInt(tmp, "started") - result.getDataInt(tmp, "ended")) / 86400)) or 0) .. ", `status` = 1" end query = query .. " WHERE `id` = " .. result.getDataInt(tmp, "id") result.free(tmp) db.query(query) broadcastMessage(getPlayerGuildName(cid) .. " has " .. msg, MESSAGE_EVENT_ADVANCE) return false end if(t[1] == "invite") then local str = "" tmp = db.storeQuery("SELECT `guild1`, `status` FROM `guild_wars` WHERE `guild1` IN (" .. guild .. "," .. enemy .. ") AND `guild2` IN (" .. enemy .. "," .. guild .. ") AND `status` IN (0, 1)") if(tmp ~= false) then if(result.getDataInt(tmp, "status") == 0) then if(result.getDataInt(tmp, "guild1") == guild) then str = "You have already invited " .. enemyName .. " to war." else str = enemyName .. " have already invited you to war." end else str = "You are already on a war with " .. enemyName .. "." end result.free(tmp) end if(str ~= "") then player:sendChannelMessage("", str, TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end local frags = tonumber(t[3]) if(frags ~= nil) then frags = math.max(10, math.min(1000, frags)) else frags = 100 end local payment = tonumber(t[4]) if(payment ~= nil) then payment = math.floor(payment)+1000 tmp = db.storeQuery("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = result.getDataInt(tmp, "balance") < payment result.free(tmp) if(state) then player:sendChannelMessage("", "Your guild balance is too low for such payment.", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end db.query("UPDATE `guilds` SET `balance` = `balance` - " .. payment .. " WHERE `id` = " .. guild) else payment = 0 end local begining, ending = os.time(), tonumber(t[5]) if(ending ~= nil and ending ~= 0) then ending = begining + (ending * 86400) else ending = 0 end db.query("INSERT INTO `guild_wars` (`guild1`, `guild2`, `started`, `ended`, `frags`, `payment`) VALUES (" .. guild .. ", " .. enemy .. ", " .. begining .. ", " .. ending .. ", " .. frags .. ", " .. payment .. ");") broadcastMessage(getPlayerGuildName(cid) .. " has invited " .. enemyName .. " to war till " .. frags .. " frags.", MESSAGE_EVENT_ADVANCE) return false end if(not isInArray({"end", "finish"}, t[1])) then return false end local status = (t[1] == "end" and 1 or 4) tmp = db.storeQuery("SELECT `id` FROM `guild_wars` WHERE `guild1` = " .. guild .. " AND `guild2` = " .. enemy .. " AND `status` = " .. status) if(tmp ~= false) then local query = "UPDATE `guild_wars` SET `ended` = " .. os.time() .. ", `status` = 5 WHERE `id` = " .. result.getDataInt(tmp, "id") result.free(tmp) db.query(query) broadcastMessage(getPlayerGuildName(cid) .. " has " .. (status == 4 and "mend fences" or "ended up a war") .. " with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return false end if(status == 4) then player:sendChannelMessage("", "Currently there's no pending war truce from " .. enemyName .. ".", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end tmp = db.storeQuery("SELECT `id`, `ended` FROM `guild_wars` WHERE `guild1` = " .. enemy .. " AND `guild2` = " .. guild .. " AND `status` = 1") if(tmp ~= false) then if(result.getDataInt(tmp, "ended") > 0) then result.free(tmp) player:sendChannelMessage("", "You cannot request ending for war with " .. enemyName .. ".", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end local query = "UPDATE `guild_wars` SET `status` = 4, `ended` = " .. os.time() .. " WHERE `id` = " .. result.getDataInt(tmp, "id") result.free(tmp) db.query(query) broadcastMessage(getPlayerGuildName(cid) .. " has signed an armstice declaration on a war with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return false end player:sendChannelMessage("", "Currently there's no active war with " .. enemyName .. ".", TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end Ainda em data/talkactions/scripts crie um arquivo com nome de absolutebalance.lua e dentro adicione: local function isValidMoney(value) if(value == nil) then return false end return (value > 0 and value <= 99999999999999) end function onSay(cid, words, param) local player = Player(cid) local guild = player:getGuild():getId() if(guild == nil) then return true end local t = string.split(param, ' ', 1) if(player:getGuildLevel() == GUILDLEVEL_LEADER and isInArray({'pick'}, t[1])) then if(t[1] == 'pick') then local money = {tonumber(t[2])} if(not isValidMoney(money[1])) then player:sendChannelMessage('', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end local resultId = db.storeQuery("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) if resultId == false then return false end money[2] = result.getDataInt(resultId, "balance") result.free(resultId) if(money[1] > money[2]) then player:sendChannelMessage('', 'The balance is too low for such amount.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return false end if(not db.query('UPDATE `guilds` SET `balance` = `balance` - ' .. money[1] .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;')) then return false end doPlayerAddMoney(cid, money[1]) player:sendChannelMessage('', 'You have just picked ' .. money[1] .. ' money from your guild balance.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) else player:sendChannelMessage('', 'Invalid sub-command.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) end elseif(t[1] == 'donate') then local money = tonumber(t[2]) if(not isValidMoney(money)) then player:sendChannelMessage('', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return true end if(getPlayerMoney(cid) < money) then player:sendChannelMessage('', 'You don\'t have enough money.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) return true end if(not doPlayerRemoveMoney(cid, money)) then return false end db.query('UPDATE `guilds` SET `balance` = `balance` + ' .. money .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;') player:sendChannelMessage('', 'You have transfered ' .. money .. ' money to your guild balance.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) else local resultId = db.storeQuery('SELECT `name`, `balance` FROM `guilds` WHERE `id` = ' .. guild) if resultId == false then return false end player:sendChannelMessage('', 'Current balance of guild ' .. result.getDataString(resultId, "name") .. ' is: ' .. result.getDataInt(resultId, "balance") .. ' bronze coins.', TALKTYPE_CHANNEL_R1, CHANNEL_GUILD) result.free(resultId) end end Pós isto, abra seu talkactions.xml e dentro adicione: <!--War System TALK by Absolute --> <talkaction words="/war" separator=" " script="gwarabsolute.lua" /> <talkaction words="/balance" separator=" " script="absolutebalance.lua" /> Nota: Você deve conter as colunas na database (Praticamente todas já possuem). Tabela de comando in-game para players: Observação Final: Você pode manter tanto a página quanto a talkaction para seu GuildWAR. Este conteúdo é feito por mim e exclusivo ao fórum tibiaking.com, não autorizo cópias ou demais postagens. Demais dúvidas utilize o fórum para perguntar. Espero ter ajudado. Absolute.
  3. Com essa talkaction (comando), é possível que o player retire suas skulls (white, red, black) e/ou retire seus frags, ou também consulte os valores dos custos de cada remoção. Os valores são configuráveis, basta alterar informei no script (os 4 últimos valores: 50000, 150000, 250000, 100000). Arquivo remover.lua (data/talkactions/scripts): function onSay(cid, words, param, channel) local gskull, white, red, black, frags = getCreatureSkullType(cid), 50000, 150000, 250000, 100000 -- Basta alterar os 4 últimos valores pelo custo de cada remoção, a sequência de custos é pk(50k)/red(150k)/black(250k)/frags(100k) if(param == "") then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você pode remover suas skulls: !remove skulls ~ ou pode remover seus frags: !remove frags ~ e/ou pode também conferir os custos: !remover custos") end if(param == "custos") then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Custos ~ PK/WHITE: ".. white .."k, RED: ".. red .."k, BLACK: ".. black .."k, FRAGS: ".. frags .."k.") end if(param == "skulls") then if(gskull == SKULL_WHITE and doPlayerRemoveMoney(cid, white)) then doCreatureSetSkullType(cid, SKULL_NONE) doRemoveCondition(cid, CONDITION_INFIGHT) elseif(gskull == SKULL_RED and doPlayerRemoveMoney(cid, red)) then doCreatureSetSkullType(cid, SKULL_NONE) elseif(gskull == SKULL_BLACK and doPlayerRemoveMoney(cid, black)) then doCreatureSetSkullType(cid, SKULL_NONE) elseif(gskull == SKULL_NONE) then doPlayerSendCancel(cid, "Você não está com nenhuma skull.") else doPlayerSendCancel(cid, "Você não tem dinheiro o suficiente. Digite !remove para conferir os custos.") end end if(param == "frags") then if(getPlayerFrags(cid) >= 1 and doPlayerRemoveMoney(cid, frags)) then doRemoveCreature(cid) db.executeQuery("UPDATE killers SET unjustified = 0 WHERE id IN (SELECT kill_id FROM player_killers WHERE player_id = " .. getPlayerGUID(cid) .. ");") elseif(getPlayerFrags(cid) == 0) then doPlayerSendCancel(cid, "Você não tem nenhum frag.") else doPlayerSendCancel(cid, "Você não tem dinheiro o suficiente. Digite !remove para conferir os custos.") end end return 1 end Adicione a seguinte tag ao arquivo talkactions.xml (data/talkactions): <talkaction words="!remover" event="script" value="remover.lua"/> Parâmetros: !remover skulls !remover frags !remover custos Havia visto vários scripts de remoção de skulls/frags, porém nenhum exatamente desse tipo, em conjunto. Créditos: meus.
  4. Olá galera do TK, trago hoje um script que já vi em alguns servidores, o TEST VIP. Ao atingir o level 200 você poderá executar uma talkaction onde receberá 2 dias VIP pra testar, isto chamará atenção dos players e poderá vender VIP Account. Em data/talkactions/talkactions.xml adicione a seguinte linha: <talkaction words="!testarvip" script="absolutevip.lua"/> Em data/talkactions/scripts crie um arquivo com o nome de absolutevip.lua e dentro adicione: -- Script criado por Absolute dando TEST VIP como bonificação ao atingir determinado level. function onSay(cid, words, param, channel) local level = getPlayerLevel(cid) local lvmin = 200 local yesMsg = "Voce ganhou 2 dias de VIP Account, aproveite para testar!!." local lvlMsg = "Voce precisa de level ".. lvmin .." para testar a VIP." local noMsg = "Voce já recebeu esse bonus safadenho!" test = db.getResult("SELECT `absolutevip` FROM `accounts` WHERE `id` = "..getPlayerAccountId(cid)..";") vip = test:getDataInt("absolutevip") if vip == 0 and level >= lvmin then doPlayerAddPremiumDays(cid, 2) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, yesMsg ) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_BLUE) db.executeQuery("UPDATE `accounts` SET `absolutevip` = 1 WHERE `id` = "..getPlayerAccountId(cid)..";") elseif level < lvmin then doPlayerSendCancel(cid, lvlMsg ) elseif vip > 0 then doPlayerSendCancel(cid, noMsg) end end No seu banco de dados (PHPMYADMIN) execute a seguinte query: CREATE TABLE IF NOT EXISTS `accounts` ( `absolutevip` int(15) NOT NULL DEFAULT '0' Ao atingir level 200 o player poderá usar o comando !testarvip onde irá ganhar 2 dias de VIP para teste. É óbvio que o player poderá usar apenas uma vez o comando, ao usar ele "seta uma storage na db" onde não poderá usar novamente no mesmo char. local noMsg = "Voce já recebeu esse bonus safadenho!" É isso ai galera, creio que vai ajudar muita gente! Caso haja alguma dúvida poste aqui. Abraços, Absolute.
  5. Bom, já tem um ditto system(meu) aqui no TK, mas ele é meio chato, ao transformar tem que puxar e botar o pokemon novamente, esse novo não precisa de nada disso. Primeiramente, vá no some functions.lua - Localizado na pasta lib. E adicione isto no final(depois do ultimo end): Bom, essas são as funções de transformar e destransformar. Agora, vá no order.lua - Localizado no actions/scripts. E procure por: -------- TRANSFORM ---------- Apague tudo aqui dentro, até o: -------- LIGHT -------------- Ali dentro, bote: Pronto, ditto ja está tranformando, agora falta o !revert, para isso vá em talkactions/scripts e crie um arquivo(.lua) com nome de dittorevert, e dentro coloque: Agora, no talkactions.xml adicione esta linha: <talkaction words = "!revert;/revert" hide="yes" event = "script" value = "dittorevert.lua"/> Se fizer tudo corretamente, funcionará normalmente. Gif: Créditos: Gabrielbsales(sou op faço tudo solo)
  6. Ola Galerinha Fiz um Pedido a Um tempo Atrás Para o grande @Xwhitewolf, Um tipo de comando que voce pode mudar as roupas igual ao transfomar dos servidores de Naruto só que porem um pouco diferente: Permite uma facilidade e você Nao precisa fazer 20 vocations como naruto para transfomar So criar 1 vocation e transformar na Roupa desejada. Vamos ao script: Obs: Um pouco chato de configurar Mais facil de instalar 1ºVa em data/talactions/script e crie ou copie um arquivo .lua e altere seu nome para o Desejado. local saga = { [1] = {[1] = 180, [2] = 438, [3] = 182, effect = 10}, --[Vocation] = {[1] = Roupa, effect = Efeito da transformação} [2] = {[1] = 64, effect = 10} --TESTE } local level = 25 -- Limite para liberar uma saga nova function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.") return true end if not saga[getPlayerVocation(cid)] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce nao pode trocar de saga.") return true end local t = string.explode(param, ",") if(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Could not understand.") return true end if not (tonumber(t[1])) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite o número da saga que você deseja.") return true end if tonumber(t[1]) > #saga[getPlayerVocation(cid)] or tonumber(t[1]) < 1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Essa saga não existe.") return true end if getPlayerLevel(cid) >= (tonumber(t[1])*level) then doSetCreatureOutfit(cid, {lookType = saga[getPlayerVocation(cid)][tonumber(t[1])]}, -1) doSendMagicEffect(getThingPos(cid), saga[getPlayerVocation(cid)].effect) doPlayerSendTextMessage(cid, 25, "Voce escolheu uma nova saga!") doPlayerSay(cid, "Saga!!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, você precisa de level "..(tonumber(t[1]) * level).." usar essa saga.") end return true end Tag: <talkaction words="!saga" event="script" value="saga.lua"/> BOM TA AI CREDITO: xwhitewolf Por criar PTDG Por Modificar alguns detalhes
  7. Eai pessoal, vim trazer hoje um sistema de passagem secreta que um amigo viu no Baiak-wars. Não sei qual server é esse e eu não jogo tibia então pra mim tanto faz mas ele gravou um vídeo, pediu um igual e obviamente eu não fiz um igual porque o sistema dos caras era muito ruim uhauheuhauheuhauheuhuhauhe Enfim, comecei um script do 0 pra fazer exatamente oque ele queria e foi isso daqui que eu consegui: Explicação: Você clica em algum item escondido pelo mapa e abre uma passagem secreta que vai durar X segundos (configurável), após esse tempo a passagem se fecha; Note que nessas imagens ele não tá escondido já que tem uma FUCKING ARVORE NO MEIO DE UM DESERTO mas você pode colocar uma tocha em cima de uma parede e colocar o actionid na tocha pra ativar e vai ficar super foda e com muito rpg Ué, mas oque tem de diferente dos outros scripts? Bem, ele é super fácil de configurar e ele dá a sensação de que o item foi arrastado :] Bom, se isso não foi o bastante pra você entender então observe essas fotinhas Tendo entendido tudo vamos à parte mais legal da coisa (SCRIPTAR!!!!) Você vai precisar criar um arquivo em actions\scripts chamado hidden.lua com o seguinte conteúdo: local positions = { [1] = {pos = {x=139, y=77, z=7}, id = 1718}, [2] = {pos = {x=140, y=77, z=7}, id = 1718}, [3] = {pos = {x=139, y=76, z=7}, id = 6855, toid = 6884}, [4] = {pos = {x=140, y=76, z=7}, id = 6855, toid = 6884}, } local createpos = { [1] = {pos = {x=138, y=77, z=7}, id = 1718}, [2] = {pos = {x=141, y=77, z=7}, id = 1718} } local tempo = 5 function onUse(cid, item, frompos, item2, topos) if getTileItemById(positions[1].pos, positions[1].id).uid < 100 then doPlayerSendCancel(cid, "Is already open.") return true end doCreatureSay(cid, "You have ".. tempo .." seconds.", 19) function criar_paredes() for i = 1, #positions do if i <= (#positions/2) then doCreateItem(positions[i].id, 1, positions[i].pos) local obst = getTileItemById(createpos[i].pos, createpos[i].id).uid doSendMagicEffect(createpos[i].pos, 2) doRemoveItem(obst, 1) elseif i > (#positions/2) then local obst = getTileItemById(positions[i].pos, positions[i].toid).uid doTransformItem(obst, positions[i].id) end end return true end for i = 1, #positions do local obst = getTileItemById(positions[i].pos, positions[i].id).uid if i <= (#positions/2) and obst ~= 0 then doRemoveItem(obst, 1) doSendMagicEffect(positions[i].pos, 2) doCreateItem(createpos[i].id, 1, createpos[i].pos) elseif i > (#positions/2) and obst ~=0 then doTransformItem(obst, positions[i].toid) end end addEvent(criar_paredes, tempo*1000) return true end Feito isso vc vai precisar declarar no actions.xml a forma que você quer utilizar o script <action actionid="27004" script="hidden.lua"/> note que vc pode colocar algum itemid, actionid ou uniqueid de sua escolhe, só lembre de mudar no map editor dependendo da forma que vc escolher. Agora eu vou ensinar vocês a configurarem o meu monstrinho *-* aqui você tem o tempo que a passagem vai ficar aberta aqui você vai editar o seguinte: na primeira são as posições dos itens e seus respectivos id's posição das duas prateleiras e seus id's posição das paredes, id dela e pra qual id ela vai ser transformada. aqui você tem as posições que sua prateleira vai se mover e os id's dela. Lembrando que você pode se sentir livre pra adicionar oque vc quiser e deixar do seu gosto, só lembrando que se vc quiser adicionar mais items ou diminuir itens é só alterar nas duas tabelas seguindo a mesma lógica. Metade pra prateleira, metade pra parede e uma tabela pra fazer as prateleiras se moverem. Os créditos são 60% meus e 40% do @MaXwEllDeN por ter me dado um norte no começo do script. Qualquer coisa comenta aí e dá aquele rep+ pra ajudar ;]
  8. E ai pessoal do TK, tudo bom? Hoje eu irei ensinar a vocês como criar um item que da quantos dias de VIP você quiser! Bom, primeiro vá em data/actions/actions.xml e coloque em algum lugar isto: Em 8267, coloque o ID do item que dará o VIP. Agora em data/actions/scripts crie um arquivo chamado vip.lua, dentro coloque isto aqui: --Como configurar Em local DAYS = 30 <- no 30, mude a quantidade de dias que irá ganhar ao usar o item. Em doPlayerSendTextMessage(cid, 23, "Mensagem que irá aparecer quando o player usar o item") <- no 23, coloque o tipo da mensagem, e na frase azul, troque pela frase que irá aparecer quando o player usar o item. Em doSendMagicEffect(getCreaturePosition(cid), 12) <- no 12 coloque o efeito que irá sair, você pode ver cada efeito no seu servidor usando o comando /z efeito (em efeito o número do efeito ) Em doRemoveItem(item.uid, 1) <- no 1, a quantidade do item que irá remover, por exemplo: 1 = irá remover apenas 1 item. Bom pessoal, é isso ai espero que tenham gostado REP+
  9. Olá :v como o titulo ja diz, irei disponibilizar a vcs um script de um bau que ao clicar, venha um pokemon que vc determinar.. 1º - Abra a pasta Servidor/data/actions/scripts, crie um arquivo em .lua, e coloque isso: Para Servidores PDA sem level System: Para Servidores Com Level System: 2º - Abra o arquivo actions.xml e adicione isso: Coloque o actionid no bau que vc quer q dê o pokemon pelo mapa. Em baupokemon.lua é o nome do arquivo q vc criou.. Espero ter ajudado, se ajudei, clique em gostei pf. Até a Próxima
  10. Outro pedido de um user, fiz esse script há um bom tempo. É um script de pistola. Você equipa em uma das mãos, usa a arma em algum monster ou player e boa, atira. Script: data/actions/scripts/pistol.lua: data/actions/actions.xml: <action itemid="xxxx" script="pistol.lua" allowfaruse="1"/> No lugar de xxxx, coloque o id do item que será usado como pistola. Configure aqui: Bom uso, até. Créditos; Luck Oake
  11. tenho recebido msg no skype e no tk private pedindo ajuda e resolvi postar aqui para ajudar.. esse e 1 exemplo para quests basicas --By Cerberus-- function onUse (cid,item,frompos,item2,topos) pos2 = getPlayerPosition(cid) ID = 6005 STORAGE_VALUE = 6005 --Storage da quest ID_DO_PREMIO = 2152 -- Premio 1 ID_DO_PREMIO2 = 12275 -- Premio 2 level = XXX --- level que tem que ter para fazer quest qt1 = 10 -- quantidade do ID_DO_PREMIO vai dar qt2 = 1 -- quantidade do ID_DO_PREMIO2 vai dar if getPlayerLevel(cid) >= level then if item.actionid == ID then -- aqui se pode mudar para para de baixo e so tirar essa linha e o -- da de baixo --Action --if item.uid == ID -- se quiser que seja unique quest -- Unique queststatus = getPlayerStorageValue(cid,STORAGE_VALUE) if queststatus == -1 then doPlayerSendTextMessage(cid,22,"Parabens voce completou a Quest level "..level..". .") -- Msg que ira aparecer doPlayerAddItem(cid,ID_DO_PREMIO,qt1) doPlayerAddItem(cid,ID_DO_PREMIO2,qt2) setPlayerStorageValue(cid,STORAGE_VALUE,1) doTeleportThing(cid, {x= 114, y= 141, z= 7}) -- se quiser teleportar para algum lugar ao fazer a quest, se não e so tirar. doSendMagicEffect(pos2, CONST_ME_TELEPORT) else doPlayerSendTextMessage(cid,22,"Vazio.") end end else doPlayerSendCancel(cid,'Somente level "..level.."+ conseguem abrir este bau.') end return true end Tag depende doque vc escoler <action actionid="6005" event="script" value="ScriptQuest.lua"/> <action uniqueid="6005" event="script" value="ScriptQuest.lua"/> lembrando que quest unique so pode ter 1 no serve se não irar aparecer na distro duplicate unique quest action quests ja pode repetir o id delas lem cima no script na linha vc pode escoler ou unique ou action ..
  12. Eai galera do tibiaking hoje venho trazer para vocês um sistema bem maneiro, você da cargo para determinado player que vc quiser basta vc fazer o item e da para ele. Bom agora você não precisa mais procurar o player que você deu um determinado cargo para renomear o nome dele vc perde muito tempo procurando agora seus problemas acabaram com esse novo sistema vou mostra pra vocês vamos ao que intereça vai na pasta acha um arquivo qualquer la abra e cole isso dentro dela ai você salva com o nome god.lua agora você vai em otserver/data/actions.xml e cole isso dentro explicando Verde claro Numero do id do iten que serar removido do bag do player lembrando que o item não pode conter no server Laranja Mensagem que ira aparecer para o player quando ele usar o item Vermelho Nome do cargo que o player ocupara Azul Numero do cargo que o player ira ganhar se eu coloquei esse post na área errada peso pa que mova para o local certo sou novo nisso to iniciando galera eu iria ensina como adicionar um novo item no seu seu server mais acho que aqui já tem esse tutorial mais se vocês quiserem que eu faça um tutorial ensinado a add novos itens é só pedi Se gosto da Rep+ galera se vcs preferir podem baixar o arquivo ta em anexo aqui GOD.lua
  13. Potions Heal Friend TFS 1.0 Em alguns ots que usam tfs 1.0 as potions tem um bug que não da pra healar outros players, então vou postar o scripts desbugado funcionando 100% local ultimateHealthPot = 8473 local greatHealthPot = 7591 local greatManaPot = 7590 local greatSpiritPot = 8472 local strongHealthPot = 7588 local strongManaPot = 7589 local healthPot = 7618 local manaPot = 7620 local smallHealthPot = 8704 local antidotePot = 8474 local greatEmptyPot = 7635 local strongEmptyPot = 7634 local emptyPot = 7636 local antidote = createCombatObject() setCombatParam(antidote, COMBAT_PARAM_TYPE, COMBAT_HEALING) setCombatParam(antidote, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(antidote, COMBAT_PARAM_TARGETCASTERORTOPMOST, TRUE) setCombatParam(antidote, COMBAT_PARAM_AGGRESSIVE, FALSE) setCombatParam(antidote, COMBAT_PARAM_DISPEL, CONDITION_POISON) local exhaust = createConditionObject(CONDITION_EXHAUST_HEAL) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (configManager.getNumber(configKeys.EX_ACTIONS_DELAY_INTERVAL) - 100)) -- 1000 - 100 due to exact condition timing. -100 doesn't hurt us, and players don't have reminding ~50ms exhaustion. function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.itemid ~= 1 or itemEx.type ~= THING_TYPE_PLAYER then return true end if(getCreatureCondition(cid, CONDITION_EXHAUST_HEAL) == TRUE) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return TRUE end if(item.itemid == antidotePot) then if(doCombat(cid, antidote, numberToVariant(cid)) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(cid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == smallHealthPot) then if(doTargetCombatHealth(0, itemEx.uid, COMBAT_HEALING, 75, 125, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == healthPot) then if(doTargetCombatHealth(0, itemEx.uid, COMBAT_HEALING, 130, 180, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == manaPot) then if(doTargetCombatMana(0, itemEx.uid, 70, 130, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == strongHealthPot) then if(not(isKnight(cid) or isPaladin(cid)) or (getPlayerLevel(cid) < 50)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by paladins and knights of level 50 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatHealth(0, itemEx.uid, COMBAT_HEALING, 270, 320, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == strongManaPot) then if(not(isSorcerer(cid) or isDruid(cid) or isPaladin(cid)) or (getPlayerLevel(cid) < 50)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by sorcerers, druids and paladins of level 50 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatMana(0, itemEx.uid, 115, 185, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == greatSpiritPot) then if(not(isPaladin(cid)) or (getPlayerLevel(cid) < 80)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by paladins of level 80 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatHealth(0, itemEx.uid, COMBAT_HEALING, 250, 350, CONST_ME_MAGIC_BLUE) == LUA_ERROR or doTargetCombatMana(0, cid, 100, 200, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == greatHealthPot) then if(not(isKnight(cid)) or (getPlayerLevel(cid) < 80)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by knights of level 80 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatHealth(0, itemEx.uid, COMBAT_HEALING, 425, 575, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == greatManaPot) then if(not(isSorcerer(cid) or isDruid(cid)) or (getPlayerLevel(cid) < 80)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by sorcerers and druids of level 80 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatMana(0, itemEx.uid, 150, 250, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) elseif(item.itemid == ultimateHealthPot) then if(not(isKnight(cid)) or (getPlayerLevel(cid) < 130)) and not(getPlayerGroupId(cid) >= 2) then doCreatureSay(cid, "This potion can only be consumed by knights of level 130 or higher.", TALKTYPE_ORANGE_1) return TRUE end if(doTargetCombatHealth(0, itemEx.uid, COMBAT_HEALING, 650, 850, CONST_ME_MAGIC_BLUE) == LUA_ERROR) then return FALSE end doAddCondition(cid, exhaust) doCreatureSay(itemEx.uid, "Aaaah...", TALKTYPE_ORANGE_1) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, 14582, getPlayerStorageValue(cid, 14582) + 1) end return TRUE end e isso pessoal.
  14. Já vi alguns tutoriais, alguns scripts sobre doors e key doors e sinceramente quase nenhum me agradou, nem atendeu a alguns requisitos que eu queria. Entao vi um topico aqui no Suporte e resolvi fazer o script pro cara que tava pedindo e tambem vou usar no meu server. Funciona assim: Voce pega uma key especifica, e clica numa porta especifica, entao a key some e voce pode passar pela porta pra sempre. E so quem tiver a key e usar ela na porta, vai poder passar. PS: coloque uma porta normal, não locked. faça um arquivo chamado doorkeystorage.lua e coloque em actions/scripts function onUse(cid, item, frompos, item2, topos) local storage = 304392 -- coloque o storage aqui local porta = 7049 -- id da porta local uniqueidporta = 12000 if item2.uid == uniqueidporta and item2.itemid == porta then setPlayerStorageValue(cid, storage, 1) doRemoveItem(cid, item.uid, 1) else doPlayerSendTextMessage(cid, 22, "Porta errada!") end return TRUE end Em actions.xml: <action itemid="ID DA CHAVE" script="doorkeystorage.lua"/> <action uniqueid="12000" script="doorkeystorage.lua"/> Aí você põe na porta no map, o uniqueid 12000 e a chave tal, quando usada na porta, dá o storage pro jogador. em movements/scripts crie um arquivo com o nome doorkeystorage.lua function onStepIn(cid, item, position, fromPosition, toPosition) local storage = getPlayerStorageValue(cid, 304392) if storage == 1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Siga em frente.") else doTeleportThing(cid, fromPosition) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Somente players que liberaram esta passagem, podem passar.") end return true end Em movements.xml adicione: <movevent type="StepIn" actionid="ACTION QUE VC VAI POR NO PISO EM BAIXO DA PORTA" event="script" value="doorkeystorage.lua"/>
  15. Olá caros membros do TK, vejo em vários servidores problema da bless não ser 100%, portando uma solução prévia seria lançar um "aol protegido" Seria um script de bless que adicionaria todas as blesses e um aol no seu devido slot, para que quando o player compre já fique seguro. Enfim, vamos lá: Em data/talkactions/scripts crie um arquivo com o nome de aolprotegido.lua e adicione dentro: local bless = {1, 2, 3, 4, 5} local cost = 50000 function onSay(cid, words, param) for i = 1, table.maxn(bless) do if(getPlayerBlessing(cid, bless[i])) then doPlayerPopupFYI(cid, "Você ja tem seu aol protegido.") doSendMagicEffect(getPlayerPosition(cid), 31) return TRUE end end if(doPlayerRemoveMoney(cid, cost) == TRUE) then for i = 1, table.maxn(bless) do doPlayerAddBlessing(cid, bless[i]) doPlayerAddItem(cid, 2173, 1) end doCreatureSay(cid, "Aol Protected!!!" ,19) doSendMagicEffect(getPlayerPosition(cid), 49) doSendMagicEffect(getPlayerPosition(cid), 48) else doPlayerPopupFYI(cid, "Você precisa de 25k para comprar aol protegido.") end return TRUE end Pós isso abra seu talkactions.xml e adicione a seguinte linha: <talkaction words="!aolprotect" event="script" value="aolprotegido.lua"/> Enfim, o player vai ter o aol e por causa das blesseds não vai poder comprar enquanto morrer, então morreu retorna, executa o comando e fica todo protegido. Qualquer dúvida, poste aqui! Espero ter ajudado. Absolute.
  16. Olá Boa tarde, antes de tudo quero dizer que esse script é de autoria de Luck Oake Quem já jogou DotA sabe que existe um item chamado soul ring. Aos que nunca jogaram, aqui vai a explicação de como ele funciona: É um anel que, ao ser usado, consome 150 de vida e te dá 200 de mana temporariamente. Se você não utilizar essa mana no tempo máximo, você perde ela. Script: data/actions/scripts/soul_ring.lua: data/actions/actions.xml: <action itemid="xxxx" script="soul_ring.lua"/> Substitua xxxx pelo id do item que você usará como soul ring. Configurações: Bom uso, até.
  17. Olá lindos e lindas do TK, trago hoje a vocês um sistema simples e bem pensado que fiz rapidamente! Sabe aquele cara chato que leva o char level 8 que não pode pegar PK só pra atrapalhar a WAR inimiga? Pois é chega disso! Quando o player menor que level 100 (configurável) estiver atrapalhando, qualquer jogador que estiver em sua tela (level superior a 100) poderá executar o comando !tpentrosa PLAYERNAME fazendo com que o player volte para o templo. Fácil e útil não? Vamos ao que interessa, é simples e rápido! Em data/talkactions/scripts crie um arquivo com o nome AbsoluteEntrosa.lua com o seguinte conteúdo: local config = { exhaustionInSeconds = 800, storage = 36531 } function onSay(cid, words, param) local player = getPlayerByName(param) if(isPlayer(player) == TRUE) then if(exhaustion.check(cid, config.storage) == TRUE) then doPlayerSendCancel(cid, "You can teleport players only 1 time per " .. config.exhaustionInSeconds .. " seconds.") return TRUE end if (getPlayerLevel(cid) > 100) then if (getPlayerLevel(player) <=100) then if(doPlayerAddSoul(cid, -0) == TRUE) then exhaustion.set(cid, config.storage, config.exhaustionInSeconds) doTeleportThing(player, getTownTemplePosition(getPlayerTown(player))) else doPlayerSendCancel(cid,"You dont have 100 soul points.") end else doPlayerSendCancel(cid,"This player have level higher than 100.") end else doPlayerSendCancel(cid,"Your level is too low.") end else doPlayerSendCancel(cid,"this players doesn exist, or is offline.") end return TRUE end Em data/talkactions/talkactions.xml adicione a seguinte linha: <talkaction log="no" words="!tpentrosa" access="0" event="script" value="AbsoluteEntrosa.lua"/> Simples e muito útil para acabar com as reclamações nas WARS! Caso haja alguma dúvida poste no tópico. Até o próximo sistema! Absolute.
  18. Eae galéra blz? vim trazer um antigo sistema ta no meu pc parado fais tempo, como não achei aqui no fórum resolvi posta-lo. Como Funciona esse (Reset System por estages)? de acordo com a quantia de resets, os leveis para resetar vão almentando (configurável) Resets agora Armazenados na DataBase; (Sem Valor de Storage) vamo lá. Vá em data/talkactions/scripts e crie um bloco de nótas chamado reset.lua cole isto: agóra vai em talkactions.xml e adicione isto: lembre-se quando implantar o sistema em seu servidor entre na conta do GOD e use o comando /installreset para instalar em sua DataBase não sou o autor, apenas trouxe pra cá, tá aqui no meu pc parado fais um bélo tempo. Créditos
  19. Acho que um problema comum em todos os derivados OtServers é esse: backpack cheia. Não adianta criar uma backpack só para GOD's/GM's com 200 slots(simplesmente todos enchem misteriosamente em menos de 5 minutos). Então resolvi criar um script que limpa sua backpack. Em talkactions/script crie um arquivo chamado cleanbackpack.lua: E em talkactions/talkactions.lua adicione essa linha: Caso você queira que todos possam usar só substitua /cleanb por !cleanb e apague as linhas indicadas. Espero que gostem!
  20. [TalkAction] Teleportar todos os players online para determinadas cordenadas Primeiramente, verifique se você possui a função string.explode no seu global.lua (geralmente em data/global.lua). Caso não tenha, então adicione as seguintes linhas no arquivo: PS: Function by Colandus Após ter feito isso vá até a pasta data/talkactions/scripts, crie um arquivo nomeado por tpallon.lua e adicione o script: Volte ao diretório anterior (data/talkactions), abra o arquivo talkactions.xml (como bloco de notas) e adicione a seguinte tag: <talkaction log="yes" words="!tpallon" access="5" event="script" value="tpallon.lua"/> Enfim, agora basta usar !tpallon x,y,z (que são as cordenadas) e todos os players online vão ser teleportados para o local desejado. Agradecimentos ao @way20 por ter testado o script para mim. OBS: Sistema baseado em visão de outros sistemas parecidos.
  21. Olá pessoas. Lembro que há um bom tempo atrás fiz um script bem simples para um user, mas que já vi isso sendo pedido umas 50 vezes, sem exageros. Então, vou postar o código do Jester Doll. Funciona assim: Você reúne as partes do boneco, dá use em uma delas e pimba, monta o boneco. Script: - data/actions/scripts/jester_doll.lua: - data/actions/actions.xml: <action fromid="9694" toid="9699" script="jester_doll.lua"/> Bom uso, até. Créditos; Luck Oake
  22. Eu e um amigo estávamos precisando deste sisteminha a uns dias atrás então resolvemos "tentar" fazê-lo. Com base em outros scripts chegamos a este script funcional. O que esse sistema faz ? Simples! Ele permite que um lider de uma guild "x" possa trocar os outifits de todos seus membros para o mesmo que ele estiver usando. Isso é útil em um servidor de guerras, ou custom mesmo para organização de quests etc. Especificações: O sistema só é capaz de repassar as cores do addon para os membros da guild, ou seja mesmo que o lider da guild tenha addon full e uma montaria, ao utilizar o comando, apenas "as cores" e o "outifit" do addon serão repassados. Os membros não irão ter o addon full ou montaria apartir deste comando. Instalação: abra seu /data/talkactions/talkactions.xml e adicione a seguinte tag; <talkaction words="!go" script="go.lua"/> Após isso, abra a pasta /data/talkactions/scripts/ crie um arquivo chamado go.lua e adicione o seguinte código dentro; --[[ outfit.lookMount = getField<uint16_t>(L, arg, "lookMount"); outfit.lookAddons = getField<uint8_t>(L, arg, "lookAddons"); outfit.lookFeet = getField<uint8_t>(L, arg, "lookFeet"); outfit.lookLegs = getField<uint8_t>(L, arg, "lookLegs"); outfit.lookBody = getField<uint8_t>(L, arg, "lookBody"); outfit.lookHead = getField<uint8_t>(L, arg, "lookHead");--]] function onSay(cid, words, param, channel) local player = Player(cid) local playerGuildLevel = getPlayerGuildLevel(cid) if(playerGuildLevel < GUILDLEVEL_LEADER) then doPlayerSendCancel(cid, "Você precisa ser lider de sua guild para utilizar este comando!") return TRUE end local playerGuild = getPlayerGuildId(cid) if(playerGuild == FALSE) then doPlayerSendCancel(cid, "Desculpe, você não possuí uma guild.") return TRUE end local outfit = getCreatureOutfit(cid) outfit.lookMount = 0 outfit.lookAddons = 0 local no = 0 local members = getOnlinePlayers() for i = 1,#members do if(getPlayerGuildId(members[i]) == playerGuild and cid ~= members[i]) then if canPlayerWearOutfit(members[i], outfit.lookType, addons) then outfit.lookAddons = outfit.lookAddons doCreatureChangeOutfit(members[i], outfit) else outfit.lookAddons = getCreatureOutfit(members[i]).lookAddons doCreatureChangeOutfit(members[i], outfit) end if player:hasMount(getCreatureOutfit(members[i]).lookMount) then outfit.lookMount = 0 doCreatureChangeOutfit(members[i], outfit) else outfit.lookMount = 0 doCreatureChangeOutfit(members[i], outfit) end no = no + 1 doPlayerSendCancel(cid, ""..no.." tiveram suas outifits mudadas com sucesso!") end end return true end Espero que ajude você que esteja lendo agora, e se ajudar... por favor não esqueça de avaliar abaixo e dar um rep+ não custa nada, e mostra que este conteúdo não está sendo postado em vão. See ya
  23. Eae Galera Do Tk,Este é Meu 1° Tópico De Talkaction /rename Para Seu Ot,Como a Maioria De Vocês Sabem Muitas Pessoas Tem O Trabalho De Ter Que Ir Láá No Editor Account Para Mudar O Nome De Um Player. Aqui Esta Sua Soluçao! Sistema de /rename pra vcs. Vá Em Data/Talkactions/Scripts Crie ou Copie Um Arquivo Xml changename.lua Dentro Dele Apague Oque Estiver Escrito e Coloque: Funciona Assim: O GOD ou Cm Diz: /rename nome do player,novo nome do player Ex: /rename kaina,kaina1234 kaina é o meu nome atual e kaina1234 é o novo nome dado. Galera Do Tk Mals Nao Achei Os Creditos Peguei Do Narutibia Que Eu Tenho Vlws.!
  24. Eu poderia jurar que já havia algo do tipo no fórum, porém dei uma pesquisada e não encontrei, então estarei postando. Como o nome já diz, seria um script que possibilita o jogador pular obstáculos pré-configurados, simples assim. Script simples, porém útil, creio eu. Vá em Data/Talkactions, abra o arquivo talkactions.xml, adicione a tag: <talkaction words="!jump" event="script" value="jump.lua"/> Ainda em Talkactions, abra a pasta scripts, crie um novo arquivo .lua e o nomeie de jump, cole isso em seu interior: ---[Jump basic, made by Nogard]---- function onSay (cid, words, param) local obstacle = {1285, 1534, 2785} if not isInArray(obstacle, getThingFromPos(getPlayerLookPos(cid)).itemid) then doPlayerSendCancel(cid, 'You do not can jump this.') return false end local direction = getDirectionTo(getCreaturePosition(cid), getPlayerLookPos(cid)) addEvent(doTeleportThing, 1*1000, cid, getPlayerLookPos(cid)) addEvent(doMoveCreature, 2*1000, cid, direction) doSendAnimatedText(getCreaturePosition(cid), 'Jumping', 8) doPlayerSetNoMove(cid, true) addEvent(doPlayerSetNoMove, 2*1000, cid, false) return true end No caso, eu apenas coloquei um arbusto, uma cerca, e uma pedra como obstáculo. Para configurar, basta adicionar os Id's entre os colchetes, separando com vírgula. local obstacle = {1285, 1534, 2785} É isso, até.
  25. Trouxe um script que já vi diversas pessoas pedindo. Funciona assim: você diz !teleport nome do monstro, e é teleportado para um determinado local por um preço Script: data/talkactions/scripts/hunt_tp.lua: data/talkactions/talkactions.xml: <talkaction words="!teleport;/teleport" script="hunt_tp.lua"/> Configurações: local price = false -- Preço para usar o comando (caso, queira um preço específico para cara local, deixe local price = false) local locations = { -- [nome do monstro] = {posição, preço (caso o price seja false)}, ["demon"] = {pos = {x = 140, y = 120, z = 7}, price = 1000}, ["black knight"] = {pos = {x = 220, y = 500, z = 7}, price = 125}, }
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo