Ir para conteúdo
  • Cadastre-se

Noninhouh

Membro
  • Total de itens

    32
  • Registro em

  • Última visita

Tudo que Noninhouh postou

  1. Fiz um aqui usando os scripts acima como base, mas não cheguei a testar brother
  2. Acredito que possa ser pela falta da função isSummon... No arquivo /server/data/lib/050-function.lua, adicione essa função: function isSummon(cid) return getCreatureMaster(cid) end
  3. Tente assim: function onAttack(cid, target, attacker, type, combat, value) if isSummon(target) then doMonsterSetTarget(cid, getCreatureMaster(target)) end return true end
  4. Cara, não entendi muito bem o que você quer Você quer deixar todos os itens disponíveis, e somente disponíveis para ver, ou para poder comprar? Pq se for para comprar, mesmo que não tenha o dinheiro, é só colocar o valor de 0 gold... Agora se for disponível para clicar e ver o item, é no arquivo otclient/modules/game_npctrade/npctrade.lua, na função: Especificamente nessa parte playerMoney >= getItemPrice(item, true), os outros são apenas para checar sua capacidade e o checkBox, se quer que cheque a capacidade ou não E em baixo é para a aba de venda de itens, qu
  5. Desculpe, não entrei no fórum nesses últimos dias... Cara, eu também não sei, pois não entendo muito dessa linguagem, mas abri rapidinho aqui as sources do meu client só pra dar uma olhada nisso que você falou e vi algumas coisas, como: Ela tem uma pasta do otml, provavelmente é nela que você consiguirá modificar algo, provavelmente! (otc-master/src/framework/otml) O arquivo otmm parece que é apenas para ler o mapa que já está aberto, e isso parece que apenas é usado no arquivo minimap.lua dos modulos: Como eu disse anteriormente, não entendo muito do C++, então nã
  6. Quando você configura o client, abre o mapa, e faz essas coisas, elas ficam salvas nessa pasta: C:\Users\Nome\otclient Provavelmente se você modificar algo nas sources, pra ele ler esses mesmos 2 arquivos que já ficam salvos na pasta do otclient, as configurações que iram ter ao ele abrir o client serão as mesmas que você deixou salva
  7. Explique a situação direito amigo... É somente esse Pokemon que está curando os outros, ou são esses ataques? Você já fez o teste pra saber se realmente é o Pokemon?
  8. Eu ajustei a função do @Zzyzx, ele criou a função pra contar o tempo mas não chamou ela, só isso. OBS: Não cheguei a testar.
  9. Veja se tem alguma função no creaturescripts relacionada a função onAdvance, se tiver poste aqui!
  10. setPlayerStorageValue(cid, Storages[i], XXX) Naquele XXX você precisa colocar o valor que a storage precisa ter pra completar a task (nos scripts ali estão 1, mas deve ser outro valor)
  11. local function sendEffStone(cid, pos, stones) if not isCreature(cid) then return true end for i = 1, 255 do pos.stackpos = i local item = getTileThingByPos(pos) if item.uid ~= 0 then if isContainer(item.uid) then if isContainer(item.uid) and getContainerSize(item.uid) > 0 then for slot=0, (getContainerSize(item.uid)-1) do local stone = getContainerItem(item.uid, slot) if isInArray(stones, stone.itemid) then doSendMagicEffect(getThingPos(cid), 18) end
  12. Não tenho certeza, mas acho que esse sistema no PokeTibia é refazendo o sistema de dropLoot. Ao matar o pokemon, o loot é adicionado ao corpse, e ao identificar um dos itens de uma tabela, enviar tal efeito... @Cain Jorge, sem querer me intrometer na discursão de vocês, mas quando você precisar de um script assim, em vez de vim ao forum pedir o script como primeira opção, procure entender como funciona em outros servidores que já possui o sistema, como ele funciona. E também, peça e seja gentil. Tenho certeza que o @Yamborghini lhe respondeu com o intuito de te ajudar...
  13. Modifique o arquivo /creaturescripts/scripts/DoublePotion.lua que o @Danyel Varejao lhe passou, deixe assim:
  14. Algum erro no console ou algo do tipo? Tem certeza que adicionou a tag no actions.xml?
  15. Creio que sim, se ela está funcionando para o player voltar ao evento, provavelmente deve funcionar, porém não sei qual a diferença dela pra a função onDeath se alguém pudesse explicar pra mim seria bom kk
  16. Acho que a função assim está consertada, como o @caiohp disse. Não vou dar certeza que irá funcionar pois não sei se essa função playerExists(name) checa players offline também.
  17. Na pasta /data/actions/scripts/ crie um arquivo chamado pet.lua e cole isso dentro: Em /data/actions/actions.xml adicione essa tag: <action itemid="xxxx" event="script" value="pet.lua"/> Nesse itemid="xxxx" você coloca o id do item que será usado para sumonar o pet. Bom, nesse sisteminha, se você já possui algum summon, creio que não irá importar, pois ele checará se seu summon tem a storage 83712 para remove-lo, caso nenhum se seus summons tenha essa storage, ele irá sumonar seu pet. E caso você não tenha nenhum summon, ele também irá sumonar seu pet.
  18. Bom, vou falar uma forma, mas não sei se seria a melhor de fazer esse evento. Primeiramente eu colocaria um: (usará para começar a contar as mortes). E isso: addEvent(setGlobalStorageValue, 15 * 60 * 1000, storage, -1) addEvent(setGlobalStorageValue, 15 * 60 * 1000, globalStorageTeamRed, -1) addEvent(setGlobalStorageValue, 15 * 60 * 1000, globalStorageTeamBlue, -1) (usará para encerrar a contagem) Depois eu criaria um arquivo com a função onDeath(cid, corpse, deathList) no creaturescripts.xml para adicionar a contagem. Nele você colocaria algo similar a iss
  19. Tente assim: Com a tag: <talkaction words="!name" filter="quotation" event="script" value="name.lua"/> No caso será usado assim: (!name"Jon Snow) E é como o @yanloco70 disse, não fique sempre esperando pelos outros, procure ir mexendo no script até que você ache a solução do seu problema.
  20. Bom, vou mostrar a vocês como editar o andar diagonal no otclient da maneira que vocês preferirem... Atualmente, creio que quando você anda diagonalmente, tem um delay até que você possa andar novamente. Vou ensinar tirar esse delay, e deixar a velocidade ao gosto de vocês. Em creature.cpp do server, procure pela linha: if(std::abs(newPos.x - oldPos.x) >= 1 && std::abs(newPos.y - oldPos.y) >= 1) lastStepCost = 3; Esse lastStepCost será a velocidade que o player terá ao andar diagonalmente, em relação a velocidade de quando ele anda em uma direção r
  21. Obrigado @KotZletY, não sabia que não precisava registrar o do logout, vou editar o tópico
  22. Bom galera, hoje vim aqui trazer pra vocês um sisteminha bem legal que a PxG possui, no entanto, esse sistema eu fiz para um servidor de Tibia, então para vocês usarem em um derivado seria bom adapta-lo, devido a outros sistemas (como o fly do poketibia). Como seria esse sistema? Basicamente você digita o comando !walk e o seu personagem começará a andar na direção em que está virado até encontrar um obstáculo, ou até digitar o comando !walk novamente. Crie um arquivo chamado walk.lua em /data/talkactions/scripts/, e cole isso dentro: Em talkactions.xml co
  23. E aí gente, beleza? Gostaria de saber se existe alguma função para eu checar se o player tem determinado item pelo uid, alguma função tipo: getPlayerItemByUid(cid, item.uid) ---------------- EDIT ------------------- Já pesquisei mais sobre, parece que não tem... Mas fiz uma e vou deixar para caso alguém precise: function getPlayerItemByUid(cid, uid) repeat if getItemParent(uid).itemid ~= 0 then uid = getItemParent(uid).uid end until getItemParent(uid).itemid == 0 for slot = CONST_SLOT_FIRST, CONST_SLOT_LAST do if getPlayerSlotItem(cid, slot).uid == uid
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo