Ir para conteúdo

Orochi Elf

Membro
  • Registro em

  • Última visita

Tudo que Orochi Elf postou

  1. Eu estou terminando este MOD para postar
  2. Função necessária. --- OrochiElf Library --- function getItemsInContainer(container) local items = {} if getContainerSize(container) > 0 then for slot= 0, (getContainerSize(container)-1) do local item = getContainerItem(container, slot) table.insert(items, item) end end return items end Uso: local box = getThingFromPos({x = 123, y = 321, z = 7, stackpos = 1}).uid for i = 1, #getItemsInContainer(box) do if getItemsInContainer[i].itemid == 2160 then return true end end
  3. [CREATURESCRIPT] Buy Summon Scroll Fala galera do TibiaKing, eu vim postar pra vocês um script que eu fiz muito rapidinho aqui, só pra passar o tempo enquanto eu compilava umas sourcers :x Esse script é o seguinte, você tem um scroll e dentro dele você escreve o nome da criatura que você quer sumonar, porém para cada criatura você precisa de uma certa quantia de gold coins e level. Para saber o nome das criaturas disponíveis você digita "monsters" ou "monster". Testado: 0.3.6pl1 [8.54] Instalação Data/Creaturescript/Scripts/ScrollMonsters.lua --- Créditos: Tony Araújo (OrochiElf) ---- local monsters = { ["orc berserker"] = {price = 1000, lv = 40, exhaustSto = 99900, exhaustTime = 120}, ["dragon"] = {price = 10000, lv = 80, exhaustSto = 99901, exhaustTime = 300}, -- [nome do monstro] {price = preço(gold coins), lv = level necessário, exhaustSto = storage para salvar o exhaust, exhaustTime = quantos segundos de exhaust}, } local removeOnUse = true -- Remover ao usar? true / false function onTextEdit(cid, item, newText) local i = monsters[newText:lower()] local str = "~~ Scroll Monsters ~~" if isInArray({"monsters", "monster"}, newText:lower()) then for monsterName, monsterInfo in ipairs(monsters) do str = str "\n" .. monsterName .." [lv: "..monsterInfo.lv.." GP$: ".. monsterInfo.price end doShowTextDialog(cid, item.itemid, str) return true end if i then if getPlayerLevel(cid) >= i.lv then if doPlayerRemoveMoney(cid, i.price) then if not exhaustion.get(cid, i.exhaustSto) then if removeOnUse then doRemoveItem(cid, item.uid, 1) end doSummonCreature(cid, newText:lower()) exhaustion.set(cid, i.exhaustSto, i.exhaustTime) return true else doPlayerSendCancel(cid, "Voce precisa esperar "..exhaustion.get(cid, i.exhaustSto).." segundos.") return true end else doPlayerSendCancel(cid, "Voce precisa de "..i.price.." gold coins.") return true end else doPlayerSendCancel(cid, "Voce precisa do level "..i.lv) return true end else doPlayerSendCancel(cid, "Esta criatura não existe.") return true end end Data/Creaturescript/Creaturescript.xml <event type="textedit" name="Scroll Monsters" event="script" value="ScrollMonsters.lua"/> Data/Creaturescript/Scripts/Login.lua registerCreatureEvent(cid, "Scroll Monsters") Créditos Tony Araújo (OrochiElf) 100%
  4. Orochi Elf postou uma resposta no tópico em Ouvidoria
    Também to concordando plenamente. bjos
  5. Game.cpp Procure a função: bool Game::playerSetAttackedCreature(uint32_t playerId, uint32_t creatureId) Em cima de: ReturnValue ret = Combat::canTargetCreature(player, attackCreature); if(ret != RET_NOERROR) { player->sendCancelMessage(ret); player->sendCancelTarget(); player->setAttackedCreature(NULL); return false; } Coloque: Monster* attackerMonster = attackCreature->getMonster(); // OrochiElf if(attackerMonster) { if(player) { if((int32_t)player->getSummonCount() >= 1) { const std::list<Creature*>& summons = player->getSummons(); CreatureList::const_iterator it = summons.begin(); for(uint32_t i = 1; it != summons.end(); ++it, ++i) { attackerMonster->selectTarget(*it); break; } } else attackerMonster->selectTarget(player); } }
  6. Um pequeno upgrade no programa. Versão 0.2 lançada ! ChangeLOG no tópico.
  7. Orochi Elf postou uma resposta no tópico em Tutoriais sobre Programação
    Mano, adorei isso. Agora sim meus projetos vão ficar bonitinhos Obrigado, REP+
  8. Resumindo.. o servidor completo Creio que ninguém irá fazer isso pra ti, então é melhor você tentar aprender alguma coisa para correr atrás também. Não me importo de ajudar em algo, só não vou montar o servidor pra ti.
  9. Bom.. eu só não entendi uma coisa. É você que quer montar o jogo, ou quer que nós montemos ele totalmente pra você só por online?
  10. Orochi Elf postou uma resposta no tópico em Suporte & Pedidos
    Bom.. eu não pretendo posta-lo não. Eu irei coloca-lo online. Caso não de certo, eu irei deixar ele fechado e pronto. Eu não irei posta-lo de maneira nenhuma, porque muitos "OT-Adms", são maus agradecidos e não levam em consideração o trabalho feito por alguém, e querem tudo na mão. Mas caso alguém de responsabilidade queira retomar o projeto, talvez ele tome um novo rumo e volte a ficar online
  11. Orochi Elf postou uma resposta no tópico em Suporte & Pedidos
    Siim, o servidor está em andamento e com novidades. Duel System (Pela Party) 100% Tv / Cam System 100% em breve vídeos. (Agora vou ficar mais focado em fazer logo o beta vídeo teaser.)
  12. Orochi Elf postou uma resposta no tópico em Suporte Tibia OTServer
    Para que usaram o "[]", dentro da tabela? Isso é usado para indicar o index kkk Teste assim. local c = { actionId = 18898, storage = 1889, storageValueToCheckFor = 19, itemToRemove = {id = 7488, amount = 1} } function onUse(cid, item, fromPosition, itemEx, toPosition) if item.aid == c.actionId then if getPlayerStorageValue(cid, c.storage) == c.storageValueToCheckFor then doSendMagicEffect(getCreaturePosition(cid), CONST_ME_EXPLOSIONHIT) doPlayerRemoveItem(cid, c.itemToRemove.id, c.itemToRemove.amount) setPlayerStorageValue(cid, c.storage, c.storageValueToCheckFor + 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You arent a inquisition member") end end return true end
  13. Bom.. como vcê moveria pra área de "Funções e Bibliotecas" eu não vi necessidade. Mas vou adicionar aqui .
  14. [LUA Function] canThrowObject(fromPos, toPos) Função: Ela checa as posições da posição inicial "fromPos", até a posição final "toPos" e verifica se é andável, caso for ele retorna verdadeiro, caso não for, ele retorna a falso. Código: function isWalkable(pos, creature, proj, pz) -- By Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false end local n = not proj and 2 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function canThrowObject(fromPos, toPos) -- by OrochiElf while(fromPos.x ~= toPos.x or fromPos.y ~= toPos.y) do local fromPos = getPosByDir(fromPos, getDirectionTo(fromPos, toPos)) if not isWalkable(fromPos) then return false end end return true end Exemplo: if canThrowObject(getThingPos(cid), getThingPos(getCreatureTarget(cid))) then doSendDistanceShoot(getThingPos(cid), getThingPos(getCreatureTarget(cid)), 10) end Instalação: Pasta do OT -> Data -> LIB -> 050-Functions. Créditos: OrochiElf & Nord.
  15. Bom... como o servidor é repostado eu não tenho as sourcers, mas irei refazer e quando eu terminar, postarei aqui
  16. Se for na BAG. é necessário uma função chamada "onMoveItem", caso seja em slot, tem como usar a "onEquip" do Movements. Qual das 2 seria o caso?
  17. Orochi Elf postou uma resposta no tópico em Outros Bots
    O Cris vai ficar meio puto UEHAUEHUEAHEUAh
  18. Orochi Elf postou uma resposta no tópico em Playground (Off-topic)
    Aquelas musicas são minha inspiração lek, para
  19. Pra eu zerar o TK, eu só preciso da pip de Herói, e a primeira conquista de Scripter King. Pronto :v
  20. Orochi Elf postou uma resposta no tópico em Playground (Off-topic)
    Birdboy forever, salve :v
  21. Orochi Elf postou uma resposta no tópico em Playground (Off-topic)
    é que eu faço representações de dinheiro usando apenas o "$", o pessoal sabendo da onde eu sou.. creio que já teriam entendido sei la kkkk se fosse para especificar qual tipo da moeda, certamente eu colocaria "R$" ou "U$".
  22. Orochi Elf postou uma resposta no tópico em Playground (Off-topic)
    Paguei 120$ no meu, e só tinha galera na minha faixa etária Agora eu tou em Fortaleza, o ingresso aqui está 60$ e eu acho que vou de novo
  23. Orochi Elf postou uma resposta no tópico em Playground (Off-topic)
    E essa foi a vibe \o/ https://www.youtube.com/watch?v=rZAzpITgVOU
  24. Bom.. eu fiz um esboço de uma versão mais simplificada. Porém você parece ser novo no assunto, então o seu script está ótimo, parabéns local configs = { items = {2400, 2379}, -- ID dos Items que serão sorteados price = 20000 -- 20 Mil, 20K } function onUse(cid) local roleta = configs.items[math.random(1, #configs.items)] if(doPlayerRemoveMoney(cid, configs.price) == false) then doPlayerSendCancel(cid, "Você precisa de "..configs.price.." gold coin.") return true end doPlayerAddItem(cid, roleta) doBroadcastMessage("[Alavanca Mágica] -> o jogador "..getCreatureName(cid).." girou a roleta e ganhou um "..getItemNameById(roleta)) doSendMagicEffect(getThingPos(cid), 14) return true end

Informação Importante

Confirmação de Termo