Ir para conteúdo

Noob II

Membro
  • Registro em

  • Última visita

Tudo que Noob II postou

  1. local strg = 5021 local temple = {x = 160, y = 54, z = 7} local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg:lower()) end function onThink() npcHandler:onThink() end local talkState = {} 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, "Saffron") then selfSay("Você deseja ser teletransportado para saffron?", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then if getPlayerStorageValue(cid, strg) > 0 then selfSay("Aí está!", cid) doSendMagicEffect(getThingPos(cid), 10) npcHandler:releaseFocus(cid) doTeleportThing(cid, temple) doSendMagicEffect(temple, 10) else selfSay("Me desculpe, mas você não tem acesso a saffron.", cid) end talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  2. Remove um "end" das últimas linhas. Tem quatro, deixe somente três
  3. Tenta assim (se tivesse um servidor para me testar seria mais fácil kk)
  4. já usou o objectbuilder?
  5. MOD muito bom, quando sai a 2.0? Obs: prints da 1.6 não estão abrindo
  6. Esse bsitemy.lua deve ser algum script de proteção para que quando o player morra não perca nada, remova essa linha do creaturescripts.xml e teste <event type="death" name="Bsitemy" event="script" value="bsitemy.lua"/>
  7. Poste o creaturescripts.xml da pasta data/creaturescripts aqui
  8. Qual sistema de vip que você usa?
  9. Deve lhe ajudar:
  10. Não mexo muito com NPC, mas tenta assim: Em todo lugar que tiver doPlayerRemoveItem(cid,2145,50) e getPlayerItemCount(cid,2145) >= 50 você configura o item e quantidade
  11. <movevent type="StepIn" actionid="8696;8697;8698;8699;8700;8701;" event="script" value="pokeinicial.lua"/> SÓ ADICIONAR O ACTIONID NOS PORTAL AGORA
  12. Ah é base centurion nem tinha visto, deixa eu editar aqui
  13. data/movements/scripts crie um arquivo chamado pokeinicial.lua e adicione: no movements.xml adicione essa tag: <movevent type="StepIn" actionid="8696;8699;8700;8703;8704;8707;" event="script" value="pokeinicial.lua"/> Abra o RME e adicione o actionid nos portal de acordo com essa parte: pk = { [8696] = {name="Charmander"}, [8699] = {name="Chimchar"}, [8700] = {name="Bulbasaur"}, [8703] = {name="Turtwig"}, [8704] = {name="Squirtle"}, [8707] = {name="Piplup"}, }
  14. local ballcatch = { --id normal, id da ball shiy [2394] = {cr = 3, on = 24, off = 23, ball = {11826, 11737}, send = 47, typeee = "normal"}, --alterado v2.9 \/ [2391] = {cr = 6, on = 198, off = 197, ball = {11832, 11740}, send = 48, typeee = "great"}, [2393] = {cr = 10, on = 202, off = 201, ball = {11835, 11743}, send = 46, typeee = "super"}, [2392] = {cr = 15, on = 200, off = 199, ball = {11829, 11746}, send = 49, typeee = "ultra"}, } function onUse(cid, item, frompos, item3, topos) local item2 = getTopCorpse(topos) if item2 == null then return true end if getItemAttribute(item2.uid, "catching") == 1 then return true end if getItemAttribute(item2.uid, "golden") and getItemAttribute(item2.uid, "golden") == 1 then return doPlayerSendCancel(cid, "You can't try to catch a pokemon in the Golden Arena!") --alterado v2.6 end local name = string.lower(getItemNameById(item2.itemid)) --alterado v2.9 \/ name = string.gsub(name, "fainted ", "") name = string.gsub(name, "defeated ", "") name = doCorrectPokemonName(name) local x = pokecatches[name] local storage = newpokedex[doCorrectPokemonName(name)].stoCatch --alterado v2.9 \/ if getPlayerStorageValue(cid, storage) == -1 or not string.find(getPlayerStorageValue(cid, storage), ";") then setPlayerStorageValue(cid, storage, "normal = 0, great = 0, super = 0, ultra = 0, saffari = 0;") end if not x then return true end local owner = getItemAttribute(item2.uid, "corpseowner") if owner and isCreature(owner) and isPlayer(owner) and cid ~= owner then --alterado v2.5 doPlayerSendCancel(cid, "You are not allowed to catch this pokemon.") return true end local newidd = isShinyName(name) and ballcatch[item.itemid].ball[2] or ballcatch[item.itemid].ball[1] --alterado v2.9 local typeee = ballcatch[item.itemid].typeee local catchinfo = {} catchinfo.rate = ballcatch[item.itemid].cr catchinfo.catch = ballcatch[item.itemid].on catchinfo.fail = ballcatch[item.itemid].off catchinfo.newid = newidd catchinfo.name = doCorrectPokemonName(name) catchinfo.topos = topos catchinfo.chance = x.chance doSendDistanceShoot(getThingPos(cid), topos, ballcatch[item.itemid].send) doRemoveItem(item.uid, 1) local d = getDistanceBetween(getThingPos(cid), topos) if getPlayerStorageValue(cid, 98796) >= 1 and getPlayerItemCount(cid, 12617) <= 0 then --alterado v2.9 setPlayerStorageValue(cid, 98796, -1) setPlayerStorageValue(cid, 98797, -1) doTeleportThing(cid, SafariOut, false) doSendMagicEffect(getThingPos(cid), 21) doPlayerSendTextMessage(cid, 27, "You spend all your 'saffari balls', good luck in the next time...") end addEvent(doSendPokeBall, d * 70 + 100 - (d * 14) , cid, catchinfo, false, false, typeee) addEvent(doSendMagicEffect, (d * 70 + 100 - (d * 14)) - 100, topos, 3) return true end
  15. Noob II postou uma resposta no tópico em Suporte Tibia OTServer
    No caso você quer uma talkaction que só possa ser usada por tal storage (que irar ganhar na quest) ?
  16. Poste aqui o arquivo catch.lua da pasta data/actions/scripts
  17. Tudo que você citou tem nesse sistema:
  18. No seu look.lua da pasta creaturescripts/scripts coloque essa parte if isPlayer(thing.uid) then resets = getPlayerStorageValue(thing.uid, 500)+1 doPlayerSetSpecialDescription(thing.uid, "\nResets: [" .. resets .."]") end return true end
  19. Noob II postou uma resposta no tópico em Suporte Tibia OTServer
    Precisando
  20. Como assim variavel que está gravando o item dentro do bau?
  21. Poderia colocar assim local doorPosition = {x = 1056, y = 1046, z = 5} local doorID = 13099 doCreateItem(doorID, 1, doorPosition) Melhor dar só dar uma luz mesmo, só assim você vai aprendendo
  22. Noob II postou uma resposta no tópico em Suporte Tibia OTServer
    Não tem logica mesmo, estou começando agora tbm ai não sei de quase nada :| Tenta assim: function onUse(cid, item, frompos, item2, topos) local texto = "Você Aumentou 2x sua Experiencia" -- Texto que irá receber ao usar a potion. textofinal = "Acabou o potion de Experiencia." -- 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. local seuitem = 7443 -- seu item que dará double exp local efeito2 = 40 -- efeito que acontecera no momento que usar a pot --fim da parte configuravel não mecha se nao tiver conhecimento de scripting local timeEffect = 1801 -- tempo em segundos que o efeito vai apareceer no player, 31 = 30 segundos. sempre coloque 1 segundo a mais. function effect() if isPlayer(cid) then local pos = getCreaturePosition(cid) doSendMagicEffect(pos, efeito1) end end if item.itemid == seuitem then doRemoveItem(item.uid,1) doPlayerSetExperienceRate(cid,exp) doSendMagicEffect(frompos,efeito2) doPlayerSendTextMessage(cid,22,texto) end return true end function potion(cid) doPlayerSetExperienceRate(cid,expfinal) doPlayerSendTextMessage(cid,22,textofinal) end Troca todos. Você está mudando o ID do item no script tbm?
  23. Noob II postou uma resposta no tópico em Suporte Tibia OTServer
    Remova esse linha do script dos potions que tem que esperar 30 minutos: addEvent(potion,pausa,cid)

Informação Importante

Confirmação de Termo