Ir para conteúdo

nookia

Membro
  • Registro em

  • Última visita

Tudo que nookia postou

  1. local paradinha_id = 22641 local players = { [1] = {pos = {x=33607, y=32362, z=11, stackpos=253}, topos = {x=33528, y=32334, z=12}}, [2] = {pos = {x=33608, y=32362, z=11, stackpos=253}, topos = {x=33528, y=32334, z=12}}, [3] = {pos = {x=33609, y=32362, z=11, stackpos=253}, topos = {x=33528, y=32334, z=12}}, [4] = {pos = {x=33610, y=32362, z=11, stackpos=253}, topos = {x=33528, y=32334, z=12}}, [5] = {pos = {x=33611, y=32362, z=11, stackpos=253}, topos = {x=33528, y=32334, z=12}}, } function onUse(cid, item, fromPosition, itemEx, toPosition) local plataforma = 0 if itemEx.itemid == paradinha_id then for k,valor in pairs(tb_players) do all = getThingfromPos(valor.pos) if all.itemid > 0 and isPlayer(all.uid) then plataforma = plataforma+ all.itemid end end if plataforma == #tb_players then for k,valor in pairs(tb_players) do all = getThingfromPos(valor.pos) doTeleportThing(all.uid,valor.topos) doRemoveItem(paradinha_id, 1) end else doPlayerSendCancel(cid,"precisa de "..#tb_players.." players") end end return true end Peguei aqui do TK, somente mudei as coordenadas, link abaixo: http://www.tibiaking.com/forum/topic/57847-script-pra-quest/
  2. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) local msg = msg:lower(); local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, "sex change") then if(getPlayerPremiumDays(cid) > 2) then if(getPlayerPremiumDays(cid) < 65535) then doPlayerAddPremiumDays(cid, -3) end if(getPlayerSex(cid) == 0) then doPlayerSetSex(cid, 1) else doPlayerSetSex(cid, 0) end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você mudou o seu sexo e perdeu três dias de premium account.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) else selfSay("Desculpe, você não possui três dias de premium account para trocar seu sexo.", cid) talkState[talkUser] = 0 end return TRUE end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  3. Porque <parameter key="module_travel" value="1"/> no seu XML? o.O Troca seu XML por esse: <?xml version="1.0"?> <npc name="Sex" script="data/npc/scripts/sex.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="128" head="0" body="87" legs="39" feet="0"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|. quer troca de sexo virar um traveco diga {sex change} ?" /> </parameters> </npc>
  4. nookia postou uma resposta no tópico em Suporte Tibia OTServer
    local storage = XXXX -- storage function onDeath(cid, corpse, killer) -- verificando se existe quem matou. if isPlayer(killer[1]) then -- trocando storage para o id da guild que matou matou. setGlobalStorageValue(storage, getPlayerGuildId(killer[1])) end return true end
  5. nookia postou uma resposta no tópico em Suporte Tibia OTServer
    De: timeBetweenExActions = 1000 Para: timeBetweenExActions = 0
  6. É em milissegundo. Antes era 1H - 3600, 2H erá 7200 agora é: 1H - 3600000, 2H - 7200000 No caso o que você postou ai de 1H, 1800000 são 30 minutos.
  7. Aceitar, aceita, é só você trocar para plain e abrir o servidor, vai da mensagem de warning no tfs é só aguardar 30 segundos que vai abrir normalmente, caso você tenha as sources tem como remover a mensagem de erro de plain para o servidor abrir direto.
  8. nookia postou uma resposta no tópico em Formação de Equipe
    Tópico atualizado!
  9. nookia postou uma resposta no tópico em Suporte Tibia OTServer
    Removeu todos os -- do config.lua? Se removeu adiciona a seguinte linha embaixo de mysqlSock: passwordType = "sha1"
  10. Isso é efeito, ele esta localizado em algum arquivo.lua da pasta globalevents, só procurar pelos lua que você vai achar.
  11. http://www.tibiaking.com/forum/topic/19830-action-premium-system/
  12. Para mudar a moeda dentro do trade somente pelas sources igual no tópico que você pegou essa script.
  13. Sobre as duvidas, a cada 1000 = 1 segundo. E sobre adicionar mais mensagens: function onThink(interval) local mensagens = {"MENSAGEM", "OUTRA MENSAGEM"} broadcastMessage(mensagens[math.random(1,table.maxn(mensagens))], MESSAGE_EVENT_ADVANCE) return true end
  14. -- ### CONFIG ### -- message send to player by script "type" (types you can check in "data/lib/000-constants.lua") SHOP_MSG_TYPE = MESSAGE_STATUS_CONSOLE_BLUE -- time (in seconds) between queries to MySQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM `z_ots_comunication` WHERE `type` = 'login';") if(result_plr:getID() ~= -1) then while(true) do id = tonumber(result_plr:getDataInt("id")) action = tostring(result_plr:getDataString("action")) delete = tonumber(result_plr:getDataInt("delete_it")) cid = getCreatureByName(tostring(result_plr:getDataString("name"))) if isPlayer(cid) == TRUE then local itemtogive_id = tonumber(result_plr:getDataInt("param1")) local itemtogive_count = tonumber(result_plr:getDataInt("param2")) local container_id = tonumber(result_plr:getDataInt("param3")) local container_count = tonumber(result_plr:getDataInt("param4")) local add_item_type = tostring(result_plr:getDataString("param5")) local add_item_name = tostring(result_plr:getDataString("param6")) local received_item = 0 local full_weight = 0 if add_item_type == 'container' then container_weight = getItemWeightById(container_id, 1) if isItemRune(itemtogive_id) == TRUE then items_weight = container_count * getItemWeightById(itemtogive_id, 1) else items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) if isItemRune(itemtogive_id) == TRUE then full_weight = getItemWeightById(itemtogive_id, 1) else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if full_weight <= free_cap then if add_item_type == 'container' then local new_container = doCreateItemEx(container_id, 1) doItemSetAttribute(new_container, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') doItemSetAttribute(new_container, "tid", id) local iter = 0 while iter ~= container_count do local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') doItemSetAttribute(new_item, "tid", id) doAddContainerItemEx(new_container, new_item) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) doItemSetAttribute(new_item, "description", 'Bought by ' .. getCreatureName(cid) .. ' [ID:' .. id .. '].') doItemSetAttribute(new_item, "tid", id) received_item = doPlayerAddItemEx(cid, new_item) end if received_item == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.') doPlayerSave(cid) db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.') end end if not(result_plr:next()) then break end end result_plr:free() end return true end
  15. nookia postou uma resposta no tópico em Suporte Tibia OTServer
    function onUse(cid, item, fromPosition, itemEx, toPosition) doCreateItem(2677, math.random(5, 10), fromPosition) doTransformItem(item.uid, 2786) doDecayItem(item.uid) return true end Testei e funcionando 100%, abraço.
  16. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local items = { item = {2677, 7620} -- item que será pedido e item que será dado na troca } local counts = { count = {100, 20} -- quantidade que será pedido e quantidade que será dado na troca } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'trocar') then if getPlayerItemCount(cid, items.item[1]) >= counts.count[1] then doPlayerRemoveItem(cid, items.item[1], counts.count[1]) doPlayerAddItem(cid, items.item[2], counts.count[2]) selfSay('Você trocou '.. counts.count[1] ..' '.. getItemNameById(items.item[1]) ..' for '.. counts.count[2] ..' '.. getItemNameById(items.item[2]) ..'.', cid) else selfSay('Você não possui '.. counts.count[1] ..' '.. getItemNameById(items.item[1]) ..'.', cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Testei e funcionando 100%, abraço.
  17. Isso acontecia comigo e não sabia o que era e é tão básico, segue abaixo: Você só vai conseguir acessar o seu servidor com o IP do seu computador, como exemplo acima nas fotos: IP: 192.168.25.6 Se você tentar utilizar outro IP, caso o FIXO da net não vai conseguir, quando usava NET eu conseguia com qualquer IP, depois que troquei para GVT, somente como IP do computador, abraço.
  18. nookia postou uma resposta no tópico em Formação de Equipe
    Valeu pela sugestão brother, abri outra vaga para mapper.
  19. nookia postou uma resposta no tópico em Formação de Equipe
    Fala galera do TK! Estou atrás de pessoas interessadas em abrir um Servidor focando o RPG. Projeto: OldWorld Server está com a intenção de expandir e montar uma verdadeira equipe, a ideia é montar um projeto onde o foco é o RPG e focando um bom player Versus player, o projeto já está bem adiantado, enfim, vamos a o que interessa, vocês devem conhecer o servidor FoxWorld, o YaNg fechou e estou montando uma equipe para abrir na versão 8.60 pois ele era 8.40. Progresso do Projeto: ● Conforme o servidor vai sendo feito, a porcentagem de cada item abaixo será atualizada aos poucos. - Cidades - Haverá 7 cidades na qual está listada abaixo com o andamento. Solaris: 100% - Cidade principal. Teran: 100% - Cidade dos anões. Asauchi: 95% - Cidade do deserto - faltando somente a montanha de acesso para bangarole. Valinor: 90% - Cidade das hydras - faltando somente uma hunt e a montanha de acesso para nevalia, "Hero". Nevalia: 90% - Cidade de gelo - faltando somente uma hunt e a montanha de acesso a valinor, "Frozen Dragon". Bangalore: 100% - Cidade das hydras. Versia: 90% - Cidade VIP - faltando somente duas hunts e uma quest. "Dark Demon 3, 4 Andar, Quest Blessed". - Salas de treinamento: 100% Locais de caça: 90% Quests (Missões): 95% NPC's: 100% Itens em geral: 100% Eventos/Invasões: 90% Vocações: 100% Magias: 100% Monstros/Bosses: 100% Auras (Player/Bosses): 100% PVP Crosshair: 100% Website: 100% CAST: 100% WAR MODE: 100% Equipe: ( ) Fundadores: Equipe OldWorld. ( ) Scripter: Há vaga. - trata-se de um cargo que o membro será responsável pelos códigos de lua, manutenção de scripts e criação. ( ) Programador: Há vaga. - trata-se de um cargo que o membro será responsável pelos códigos do jogo, criação de sistemas. Observações: - Necessito de uma candidatos composto por pessoas interessadas, ativas, ou seja, que saibam dar ideias e críticas construtivas, experientes. - O candidato pode se cadastrar em mais de uma função; - O candidato será testado a curto-médio prazo dependendo da função escolhida; - Nós procuraremos o candidato, ou seja, iremos atrás. Formulário: - Nome: - Idade: - Skype: - Tempo disponível: Contato: - Preencha o formulário com os requerimentos da lista. - Nós procuraremos o candidato. Bom é isso, aguardo resposta de vocês.
  20. nookia postou uma resposta no tópico em Suporte Tibia OTServer
    Komic, Estou tentando ainda fazer esse script, desculpa pela demora de eu apenas responder agora, não acho que essa resposta deve ser considera como flood pois ainda não consegui fazer o script e fiquei um tempo sem entrar.
  21. Em data/actions/scripts crie um arquivo chamado scroll.lua e cole dentro: function onUse(cid, item, fromPosition, itemEx, toPosition) local seconds = 300 local storage = 44555 if(getPlayerStorageValue(cid, storage) < os.time()) then if (isPlayerPzLocked(cid) ~= true) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), TRUE) doPlayerSendTextMessage(cid, 25, "Você foi para: "..getTownName(getPlayerTown(cid))..".") doSendMagicEffect(getCreaturePosition(cid), 10) setPlayerStorageValue(cid, storage , os.time() + seconds) doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid, "Você não pode se teletransportar quando estiver PZ.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end else doPlayerSendCancel(cid, "Você precisa esperar "..getPlayerStorageValue(cid,storage) - os.time().." secundos para usar novamente.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end return true end Agora em data/actions abre o arquivo actions.xml e adicione a seguinte linha: <action itemid="ID DO ITEM" script="scroll.lua"/>
  22. if getPlayerItemCount(cid, 2160) < 50 then para if getPlayerItemCount(cid, 2160) == 50 then
  23. nookia postou uma resposta no tópico em Suporte Tibia OTServer
    http://www.tibiaking.com/forum/topic/46547-efeito-aura-por-voca%C3%A7%C3%A3o-pedido/ Vê se ajuda.
  24. nookia postou uma resposta no tópico em Suporte Tibia OTServer
    Up
  25. nookia postou uma resposta no tópico em Suporte Tibia OTServer
    Oi, então pessoal eu tenho uma duvida, como por pvp dedinho? se é lua, actions, spells ou sources. Explicação1: Quando for usar em você mesmo ou em bichos a runa ir target "direto" e não precisar clicar encima. Explicação2: Quando for usar em player não ir a runa target "direto", nem tacando a runa pela battle e sim clicando encima do player para ir, colocando a runa with crosshair na hotkey. É mais ou menos o PVP antigo 7.6, só que lá clica encima da runa e taca no jogador, no caso quero por na hotkey, crosshair. Tentei fazer em .lua peguei uma script da otland e uma que o xWhiteWolf fez, segue as scripts abaixo: Em action. function onUse(cid, item, fromPosition, itemEx, toPosition) local targer = itemEx.uid if not(isCreature(target)) then doPlayerSendCancel(cid, "You can use this rune only on creatures.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return true end local damage = not(isNpc(target)) and (isMonster(target) and (getPlayerLevel(cid)*2) or getPlayerLevel(cid)) or 0 doSendMagicEffect(getCreaturePosition(target), CONST_ME_MORTAREA) doCreatureAddHealth(target, -damage, true) return true end Em spell: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.3, -30, -1.8, 0) function onCastSpell(cid, var) local tgt = getCreatureTarget(cid) if tgt > 1 then if isPlayer(tgt) then doPlayerSendCancel(cid, "Você não pode usar essa runa com target ativado.") return false end end return doCombat(cid, combat, var) end A spell funciona, só que tem que sair a runa em monster target e em player não sair target, só saindo como na Explicação numero 1 e 2. Vídeo da demonstração: https://www.youtube.com/watch?v=QykkXpQ6dcE

Informação Importante

Confirmação de Termo