Ir para conteúdo

Garou12

Campones
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre Garou12

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    XTibiano

Garou12's Achievements

  1. Quando vai sair o próximo XTibia Recomenda? O último foi em Fevereiro...

  2. Haha, pode deixar, não irei tirar ele não. Qualquer sugestão para o sistema pode ser apresentada aqui.
  3. Criar efeitos de animação a distância requer edições nas sources de servidor. Não basta adicionar as sprites da munição e da arma (afinal você quer uma pistola .38 fazendo animação de tiro com arco e flecha, né?)
  4. Olá, Isso é o famoso e conhecido como "Sistema de Portrait", funciona quando você equipa um item Pokeball com um pokémon dentro, o script responsável por essa função identifica o pokémon equipado e transforma o item de foto do pokémon ali (creio ser o slot da botas). Se você der uma pesquisada no fórum, creio que você acha algum sistema desse tipo. Um abraço do lobo.
  5. Creio que o nosso amigo Demonbholder se equivocou e achou que esse tópico era uma contribuição para o fórum. Voltando ao tópico, recomendo usar esse sistema aqui, é um pouco mais fácil de configurar: The Blacksmith System Um abraço do lobo.
  6. Olá, Juntando tudo o que nossos amigos falaram e também com algumas modificações que eu mesmo fiz, acho que o script poderá ficar assim local config = { storageNumber = 6666, giveItem = 2195, msg = { found = "You have found the secret item!", warn = "You went to the wrong place, beware!", cancel = "Sorry, not possible." }, monster = { ["Dragon Lord"] = 3, ["Dragon"] = 2 } } function onUse(cid, item, fromPosition, itemEx, toPosition) local function summon() for monster, times in pairs(config.monster) do for i = 1, times do addEvent(doSummonCreature, i*1000, monster, {x = 160+i, y = 100+i, z = 7}) end end end local status = getPlayerStorageValue(cid, config.storageNumber) if(status ~= 1) then doCreatureSay(cid, config.msg.warn, TALKTYPE_ORANGE_1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, config.msg.found) doPlayerAddItem(cid, config.giveItem, 1) addEvent(summon, 0) else doPlayerSendCancel(cid, config.msg.cancel) end return true end Eu não testei, mas acho que funciona (y) Abraços,
  7. Garou12

    Ajuda Fast

    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 if msgcontains(msg, 'inferno') then selfSay('Você não está com medo de mim? Para entrar terá que me responder uma pergunta. Quer tentar quando? Diga: {agora} ou {nunca}.', cid) talkState[talkUser] = 2 elseif talkState[talkUser] == 2 then if msgcontains(msg, 'agora') then selfSay('Qual a cor do cavalo branco de napoleão?', cid) talkState[talkUser] = 3 elseif msgcontains(msg, 'nunca') then selfSay('Okay, então diga {bye}.', cid) talkState[talkUser] = 1 end elseif talkState[talkUser] == 3 then if msgcontains(msg, 'branca') then if getPlayerStorageValue(cid,313131) == -1 then setPlayerStorageValue(cid,31313,1) selfSay('Você acertou, continue a quest! Vá para o Sul!', cid) else selfSay('Você já pode entrar. Não precisava vir aqui denovo.', cid) end else doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) selfSay('Você errou! Volte de onde veio!! HAHA!', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  8. A função do script é boa, mas sua construção deixa a desejar. Você poderia organizar todas as funções do sistema em um arquivo LUA em data/lib, sem contar que você também pode diminuir o tamanho de todo o código, só ressaltando que aquele monte de elseif são desnecessários.
  9. Em vez de querer tudo de mão beijada, que tal tentar fazer? Você vai precisar de uma storage e de um creaturescript onKill ou onDeath. Quando o monstro morrer, mudar o valor da storage e o NPC verificará esse valor, dando o prêmio ou não.
  10. Engraçado que todos os sistemas de proibir palavras tem esse probleminha em comum. Se o jogador escreve uma frase com a palavra proibida, então todo o código é inutilizado.
  11. Olá, Chopperr. Tente usar o código abaixo: local c = { needMoney = 10000 } local boots = { [10021] = 6321, [10022] = 9933 } function onUse(cid, item, fromPosition, itemEx, toPosition) if(boots[item.itemid]) then if(doPlayerRemoveMoney(cid, c.needMoney)) then doTransformItem(item.uid, boots[item.itemid]) doSendMagicEffect(fromPosition, 12) else doPlayerSendCancel(cid, "You need ".. c.needMoney .." to repair ".. getItemInfo(item.itemid).name .."") end end return true end Tomei a liberdade de resumir os dois códigos passados no tópico em um só, logo você deve registrar o arquivo no actions.xml da seguinte forma: <action itemid="10021;10022" event="script" value="NOME_DO_ARQUIVO.lua"/>
  • Quem Está Navegando   0 membros estão online

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