Ir para conteúdo

zipter98

Herói
  • Total de itens

    2553
  • Registro em

  • Última visita

  • Dias Ganhos

    72

Tudo que zipter98 postou

  1. As configurações estão indicadas logo no início do script (variáveis id_win, id_lose e bonus). Já configurei para o jogador que vence o duelo, ganhar 1 level da skill sword, e o jogador perdedor, 1 level da skill club.
  2. Pode postar seu Duel System.lua, localizado em data/lib?
  3. zipter98

    Spell 3x

    Tenta assim: function onUse(cid, item, fromPosition, itemEx, toPosition) local color = 221 if isDruid(cid) or isSorcerer(cid) then setCreatureMaxMana(cid, getCreatureMaxMana(cid) + 2000) doCreatureAddMana(cid,mana) doSendMagicEffect(getCreaturePosition(cid), 30) doRemoveItem(item.uid, 1) doSendAnimatedText(fromPosition, "+2000", 221) else doPlayerSendTextMessage(cid, 27, "Apenas Mages podem usar este item.") end return true end
  4. edit: uhahuauhshuahus, de boa. De resto, o script está funcionando como você queria?
  5. Lol, que estranho Vou testar essa talkaction aqui, logo edito meu comentário. EDIT: Aqui funcionou perfeitamente, só tutores e GODs podendo usar o comando. Talvez você tenha adicionado alguma parte desse script erroneamente, ou, em seu servidor, não há determinada função usada nessa talkaction.
  6. data/creaturescripts/scripts/spaw.lua, basta procurar por if isInArray(shinys, getCreatureName(cid)) then --pokémons da tabela shinys, localizada no início do arquivo. chance = 1 --1% chance elseif isInArray(raros, getCreatureName(cid)) then --Não coloque valores menores que 0.1 pokémons da tabela raros, localizada no início do arquivo. chance = 1 --1% chance else Edite a portentagem à seu gosto.
  7. Resumindo: você quer apenas que pessoas do group id 3 em diante, possam realizar o comando? Ou que apenas tutores e GODs possam? E qual dos comandos? !quiz ou !respquiz?
  8. Tenta usar algo como if isCreature(cid) then ... end. (dependendo da estrutura da spell, como um addEvent, não daria mais erros no console de player not found.)
  9. zipter98

    sobre otclient

    Há uma seção própria para OTClient, com uma área para pedidos e dúvidas. Então, quando seu pedido/dúvida for relacionado ao OTClient, opte por postar lá. Agora, versão google tradutor: Hay una sección separada para OTClient, con un área para pedidos y consultas. Así que cuando su petición / pregunta está relacionada con OTClient, optar por correos allí. Aqui a área de pedidos e dúvidas do OTClient.
  10. Primeiramente, para tirar este taunt system, vá em data/talkactions. Abra o arquivo .xml, e procure pela tag do taunt system. Retire-a. Agora, em data/talkactions/scripts, procure pelo arquivo .lua do taunt system. Delete-o. Pronto, o taunt system está eliminado do seu servidor. Já sobre as outfits, vá em data/lib. Abra o arquivo clan system.lua. Procure pela tabela clansName. Nesta, você verá algo assim: local clansName = { [1] = {'Volcanic', 181613, 181625}, [2] = {'Seavell', 181619, 181622}, [3] = {'Orebound', 181620, 181627}, [4] = {'Wingeon', 181616, 181626}, [5] = {'Malefic', 181615, 181624}, [6] = {'Gardestrike', 181614, 181628}, [7] = {'Psycraft', 181618, 181629}, [8] = {'Naturia', 181612, 181623}, [9] = {'Raibolt', 181617, 181621}, } O terceiro valor, é a storage da outfit. Basta mudá-lo, de acordo com os valores que você encontra em data/xml/outfits.xml. Por exemplo, você procura, neste último arquivo .xml, a outfit rank 5 Orebound. Suponhamos que você encontre algo assim: <outfit id="38" quest="181636"> <list gender="0" lookType="1436" name="Orebound Master"/> <list gender="1" lookType="1427" name="Orebound Master"/> </outfit> Assim, o terceiro valor da linha referente à Orebound naquela tabela, será 181636. Se as outfits desejadas não possuírem storage, como, por exemplo: <outfit id="38"> <list gender="0" lookType="1436" name="Orebound Master"/> <list gender="1" lookType="1427" name="Orebound Master"/> </outfit> basta adicionar uma storage que não esteja em uso em seu servidor nessa tag. Suponhamos que você queira que a storage seja 1029. Então, ficaria assim: <outfit id="38" quest="1029"> <list gender="0" lookType="1436" name="Orebound Master"/> <list gender="1" lookType="1427" name="Orebound Master"/> </outfit> Adicionando, então, quest="1029". (é isso que determina a storage da outfit.) Aí, você procuraria pela linha referente à Orebound na tabela clansName, e colocaria o terceiro valor igual ao que você configurou no arquivo .xml. No caso do exemplo, ficaria assim a linha: [3] = {'Orebound', 181620, 1029},
  11. Opa, como seu pedido é relacionado à pokémon, a área correta seria Pedidos e dúvidas - Servidores derivados. Como o próprio nome sugere, é lá que se deve fazer pedidos sobre pokémon, naruto, etc. edit: que isso hein omega, tá rápido @topic: poderia dar mais informações sobre? Você gostaria apenas de remover o taunt system, e que quando o jogador chegar ao rank 5, ganhe aquelas outfits antigas do respectivo rank?
  12. zipter98

    Npc Outfit

    Você simplesmente copiou o script e colou? Testei aqui, e tá funcionando perfeitamente. 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) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local cfg = { qnt = 5, --Quantidade de diamonds necessários. diamond_id = 2145, } if(msgcontains(msg, 'diamond')) then selfSay("Olá, eu vendo outfits por diamonds. Você gostaria de comprar uma Assasin outfit, por uma quantia de "..cfg.qnt.." "..getItemNameById(cfg.diamond_id)..".", cid) talkState[talkUser] = 1 return true elseif(msgcontains(msg, 'yes')) and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, 158790) < 1 then if getPlayerItemCount(cid, cfg.diamond_id) >= cfg.qnt then selfSay('Sua roupa esta pronta, pode vestir!', cid) setPlayerStorageValue(cid, 158790,1) doPlayerRemoveItem(cid, cfg.diamond_id, cfg.qnt) talkState[talkUser] = 0 return true else selfSay("Você não tem "..cfg.qnt.." "..getItemNameById(cfg.diamond_id).."...", cid) talkState[talkUser] = 0 return true end else selfSay("Você já tem essa roupa.", cid) talkState[talkUser] = 0 return true end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  13. É como comentaram. Basta colocar chaves entre a(s) palavra(s) desejadas. Porém, só funcionará (este caso que vou mencionar, é no arquivo .lua), se a mensagem do NPC estiver configurada pra mandar pro player, no canal NPCs. Como você mencionou que as frases vem em amarelo, suponho que esteja assim nas falas: selfSay("mensagem"). Mude para selfSay("mensagem", cid). Um exemplo: selfSay("Olá, {tudo} bem?", cid). A mensagem será enviada ao jogador no canal NPCs (em azul), sendo que a palavra tudo estará num tom mais forte de azul.
  14. Ops, foi erro meu mesmo. function onUse(cid, item, frompos, item2, topos) local config = { pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no"). battle = "yes", -- players deve estar sem battle ("yes" or "no") pos = {x=1053, y=1049, z=7}, tempo = 10, } if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE end if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE end if item.itemid == 5957 then if getPlayerStorageValue(cid, 102911) > os.time() then return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 102911) - os.time().." segundo(s) para teleportar novamente.") end doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!") doPlayerRemoveItem(cid, 13691, 1) doTeleportThing(cid,config.pos) doSendMagicEffect(getCreaturePosition(cid), 6) setPlayerStorageValue(cid, 102911, os.time() + config.tempo * 60 * 1000) end return 1 end Ou function onUse(cid, item, frompos, item2, topos) local config = { pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no"). battle = "yes", -- players deve estar sem battle ("yes" or "no") pos = {x=1053, y=1049, z=7}, tempo = 10, } if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE end if getPlayerStorageValue(cid, 102911) > os.time() then return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 102911) - os.time().." segundo(s) para teleportar novamente.") end if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE end if item.itemid == 5957 then doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!") doPlayerRemoveItem(cid, 13691, 1) doTeleportThing(cid,config.pos) doSendMagicEffect(getCreaturePosition(cid), 6) setPlayerStorageValue(cid, 102911, os.time() + config.tempo * 60 * 1000) end return 1 end O sendcancel vai aparecer em segundos, não se assuste com o número que aparecerá.
  15. Como assim? Você quer mudar a cor das falas dos NPCs, pra qualquer uma desejada? Ou que seja tipo um whisper, como na print?
  16. Força do hábito colocar cfg, desculpe. function onUse(cid, item, frompos, item2, topos) local config = { pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no"). battle = "yes", -- players deve estar sem battle ("yes" or "no") pos = {x=1053, y=1049, z=7}, tempo = 10, } if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE end if getPlayerStorageValue(cid, 102911) > os.time() then return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 102911) - os.time().." segundo(s) para teleportar novamente.") end if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE end if item.itemid == 5957 then doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!") doPlayerRemoveItem(cid, 13691, 1) doTeleportThing(cid,config.pos) doSendMagicEffect(getCreaturePosition(cid), 6) setPlayerStorageValue(cid, 102911, config.tempo * 60 * 1000) end return 1 end Ou function onUse(cid, item, frompos, item2, topos) local config = { pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no"). battle = "yes", -- players deve estar sem battle ("yes" or "no") pos = {x=1053, y=1049, z=7}, tempo = 10, } if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE end if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE end if item.itemid == 5957 then if getPlayerStorageValue(cid, 102911) > os.time() then return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 102911) - os.time().." segundo(s) para teleportar novamente.") end doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!") doPlayerRemoveItem(cid, 13691, 1) doTeleportThing(cid,config.pos) doSendMagicEffect(getCreaturePosition(cid), 6) setPlayerStorageValue(cid, 102911, config.tempo * 60 * 1000) end return 1 end
  17. Tenta: function onUse(cid, item, frompos, item2, topos) local config = { pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no"). battle = "yes", -- players deve estar sem battle ("yes" or "no") pos = {x=1053, y=1049, z=7}, tempo = 10, } if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE end if getPlayerStorageValue(cid, 102911) > os.time() then return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 102911) - os.time().." segundo(s) para teleportar novamente.") end if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE end if item.itemid == 5957 then doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!") doPlayerRemoveItem(cid, 13691, 1) doTeleportThing(cid,config.pos) doSendMagicEffect(getCreaturePosition(cid), 6) setPlayerStorageValue(cid, 102911, cfg.tempo * 60 * 1000) end return 1 end Ou function onUse(cid, item, frompos, item2, topos) local config = { pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no"). battle = "yes", -- players deve estar sem battle ("yes" or "no") pos = {x=1053, y=1049, z=7}, tempo = 10, } if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE end if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE end if item.itemid == 5957 then if getPlayerStorageValue(cid, 102911) > os.time() then return doPlayerSendCancel(cid, "Aguarde "..getPlayerStorageValue(cid, 102911) - os.time().." segundo(s) para teleportar novamente.") end doPlayerSendTextMessage(cid,25,"Você foi teleportado para o CP de Saffron!") doPlayerRemoveItem(cid, 13691, 1) doTeleportThing(cid,config.pos) doSendMagicEffect(getCreaturePosition(cid), 6) setPlayerStorageValue(cid, 102911, cfg.tempo * 60 * 1000) end return 1 end
  18. local config = { pz = "yes", -- players precisam estar em protection zone para usar? ("yes" or "no"). battle = "yes", -- players deve estar sem battle ("yes" or "no") pos = {x=1053, y=1049, z=7}, tempo = 10, -- tempo em minutos de exhaust strg = 50030, -- storage que salva o tempo (não precisa mexer) } function onUse(cid, item, frompos, item2, topos) if(config.pz == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Voce precisa estar em protection zone pra poder teleportar.") return TRUE end if(config.battle == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce precisa estar sem battle pra poder teleportar.") return TRUE end if exhaustion.check(cid, strg) then doPlayerSendCancel(cid, "Voce precisa aguardar "..exhaustion.get(cid, strg).." segundos para usar novamente este item.") return TRUE end if item.itemid == 5957 then doPlayerSendTextMessage(cid,25,"Voce foi teleportado para o CP de Saffron!") doPlayerRemoveItem(cid, 13691, 1) doTeleportThing(cid,config.pos) doSendMagicEffect(getCreaturePosition(cid), 6) exhaustion.set(cid, config.strg, config.tempo * 60) end return 1 end
  19. zipter98

    Npc Outfit

    Se o script do GuhPk não funcionar, tente esse: 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) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local cfg = { qnt = xxx, --Quantidade de diamonds necessários. diamond_id = 2145, } if(msgcontains(msg, 'diamond')) then selfSay("Olá, eu vendo outfits por diamonds. Você gostaria de comprar uma Assasin outfit? Custo:"..cfg.qnt.." "..getItemNameById(cfg.diamond_id)..".", cid) talkState[talkUser] = 1 return true elseif(msgcontains(msg, 'yes')) and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, 158790) < 1 then if getPlayerItemCount(cid, cfg.diamond_id) >= cfg.qnt then selfSay('Sua roupa esta pronta, pode vestir!', cid) setPlayerStorageValue(cid, 158790,1) doPlayerRemoveItem(cid, cfg.diamond_id, cfg.qnt) talkState[talkUser] = 0 return true else selfSay("Você não tem "..cfg.qnt.." "..getItemNameById(cfg.diamond_id).."...", cid) talkState[talkUser] = 0 return true end else selfSay("Você já tem essa roupa.", cid)) talkState[talkUser] = 0 return true end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  20. Poderia postar seu goback.lua, localizado na pasta actions do seu servidor?
  21. zipter98

    VIP Tile

    Tenta dessa maneira, data/movements/scripts, crie um arquivo com extensão .lua, nomeie-o viptile, e coloque neste o seguinte conteúdo: function onStepIn(cid, item, position, fromPosition) local to_no = {x = 1000, y = 1000, z = 7} local to_yes = {x = xxx, y = yyy, z = zzz} --Para onde será teleportado na área VIP. local timenow = os.time() local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) if quantity > 0 then doPlayerSendTextMessage(cid, 27, "Bem vindo à área VIP!") doTeleportThing(cid, to_yes) else doPlayerSendCancel(cid, "Você não é VIP...") doTeleportThing(cid, to_no) end return true end Agora, em data/movements, abra o arquivo movements.xml, e coloque a seguinte tag: <movevent type="StepIn" actionid="401921" event="script" value="viptile.lua"/> Depois, basta configurar no seu map editor o tile desejado com o actionid configurado na tag. (não se esqueça de verificar se esse actionid já está em uso no seu servidor; caso já esteja, basta colocar, então, um outro actionid na tag.)
  22. data/talkactions/scripts, crie um arquivo .lua, com o nome clan, e coloque neste o seguinte conteúdo: data/talkactions, talkactions.xml <talkaction log="yes" words="!entrarclan;!rankclan;!trocarclan" event="script" value="clan.lua"/> Testado em PDA by Slicer, v1.9.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...