Ir para conteúdo

Orochi Elf

Membro
  • Registro em

  • Última visita

Tudo que Orochi Elf postou

  1. Eu não entendi o que você pediu. Você está querendo um efeito da spell, quando ela atinge o alvo aparecer outro efeito? tipo um "exori flam", que quando atinge o alvo solta aquele fogo e talz?
  2. Orochi Elf postou uma resposta no tópico em Suporte Tibia OTServer
    Para a aceitação do old client, né? (creio eu) Porém para quem usa o OTC não seria necessário, ou sim.. uma pequena edição nas sources também.. nesse caso eu não sei dizer.
  3. Rapaz, tem a função de adicionar health a uma criatura, que normalmente ela também funciona para retirar. É possível adicionar uma cor ao health que ela adiciona ou tira. Usando o seguinte modo: doCreatureAddHealth(Criatura, Valor, Força, Cor) Breve explicação. Criatura -> seria o número único da criatura (uid) ou normalmente usado (cid). Valor -> O valor que vai adicionar ou remover desta criatura, caso vá remover logicamente o sinal de subtração ( - ) Força -> Rapaz, eu não sei para que serve. Porém em um script que eu li aqui, eu vi que normalmente estão usando o numero 3. Cor -> Varia entre 1 até 255. No arquivo lib/000-constant, tem algumas cores já configuradas certinho. Exemplo: local target = getCreatureTarget(cid) if(isCreature(target)) then doCreatureAddHealth(target, - (math.random(100, 200)), 3, COLOR_LIGHTBLUE) return true end
  4. Orochi Elf postou uma resposta no tópico em Suporte Tibia OTServer
    Você pode passar para uint16, 32 ou 64 se não me engano. Assim aumentando o limite para milhões kkkk. Porém, se não me engano de novo, você precisaria fazer a alteração em todas as partes que usa a tabela dentro das sources. Eu não tenho certeza, mas acho que ficaria mais ou menos assim. De -> enum MagicEffect_t Para -> enum uint16_t MagicEffect_t
  5. É Necessário antes disso, adicionar a função "doPlayerOpenChannel(cid, channelId)" nas suas sources
  6. Se o consumo da memória do seu servidor for baixa. Não custa nada tentar
  7. Rapaz, dependendo das scripts como o membro acima citou, é melhor você criar pelas sources para diminuir o consumo de memória do seu servidor, deixando ele mais leve e mais rápido evitando "freezes" e outros. Além de você ter uma lista de funções mais ampla. Eu particularmente fiz o sistema de (Vantagem e Desvantagem // Effective) direto nas sources, eu creio que ficou melhor do que um "statsChange" que seria um "creature event". Assim essa edição direto, deixou o script, vamos dizer que mais "natural", que não precisa pegar algo que aconteceu e manipula-lo. Bom.. esse é o meu ponto de vista
  8. Eu creio que seja impossível.
  9. Orochi Elf postou uma resposta no tópico em Suporte & Pedidos
    Achei dahora.
  10. A função que está sendo chamada não existe.
  11. Pelo que estou vendo, está super incompleto. Falta uma parte da edição no sistema de "go-back" para quando soltar o pokémon, ele vim com o addon direitinho
  12. Sim, eu gostei dos temas e bem que deixou o programa mais "sexy" kk
  13. Teste assim. function onLogin(cid) registerCreatureEvent(cid, "aloot_kill") return true end local stor = 7575 function autoloot(cid, target, pos) local function doStack(cid, itemid, new) local count = getPlayerItemCount(cid, itemid) if (count > 100) then count = count - math.floor(count / 100) * 100 end local newCount = count + new if (count ~= 0) then local find = getPlayerItemById(cid, true, itemid, count).uid if (find > 0) then doRemoveItem(find) else newCount = new end end local item = doCreateItemEx(itemid, newCount) doPlayerAddItemEx(cid, item, true) end local function scanContainer(cid, uid, list) for k = (getContainerSize(uid) - 1), 0, -1 do local tmp = getContainerItem(uid, k) if (isInArray(list, tmp.itemid)) then if isItemStackable(tmp.itemid) and (getPlayerItemCount(cid, tmp.itemid) > 0) then doStack(cid, tmp.itemid, tmp.type) else local item = doCreateItemEx(tmp.itemid, tmp.type) doPlayerAddItemEx(cid, item, true) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Looted ' .. tmp.type .. ' ' .. getItemNameById(tmp.itemid) .. '.') doRemoveItem(tmp.uid) elseif isContainer(tmp.uid) then scanContainer(cid, tmp.uid, list) end end end local items = {} for i = getTileInfo(pos).items, 1, -1 do pos.stackpos = i table.insert(items, getThingFromPos(pos)) end if (#items == 0) then return end local corpse = -1 for _, item in ipairs(items) do local name = getItemNameById(item.itemid):lower() --- Alterado de getItemName(item.uid) para getItemNameById(item.itemid) // OrochiElf if name:find(target:lower()) then corpse = item.uid break end end if (corpse ~= -1) and isContainer(corpse) then scanContainer(cid, corpse, tostring(getPlayerStorageValue(cid, stor)):gsub('_', ''):explode(',')) end end function onKill(cid, target, lastHit) if not isPlayer(target) then local infos = getPlayerStorageValue(cid, stor) if (infos == -1) then return true end local list = tostring(infos):explode(',') if (#list == 0) then return true end addEvent(autoloot, 150, cid, getCreatureName(target), getCreaturePosition(target)) end return true end
  14. Bom.. não era necessário todo essa função. Eu faria apenas uma função para enviar o erro para o client, como por exemplo: doSendErrorToClient(cid, errorString) Eu acho que ficaria mais fácil, porém é só o meu modo de fazer, mas eu gostei dos seus códigos e como você disse que está aprendendo, estão excelentes. Parabéns.
  15. Caramba, nessa época eu estava iniciando kkkk. Meus primeiros trampos *-*
  16. Testa o seguinte, vá em monster.cpp e procura por: addEventWalk(); E abaixo adicione: Creature* target = this->getAttackedCreature(); // OrochiElf Code if(target->getSummonCount() > 0) { const std::list<Creature*>& summons = target->getSummons(); CreatureList::const_iterator it = summons.begin(); for(uint32_t i = 1; it != summons.end(); ++it, ++i) { this->selectTarget(*it); break; } } Não testei.
  17. Orochi Elf postou uma resposta no tópico em Suporte & Pedidos
    Caso você não lido o nosso tópico oficial, o nosso mapa está sendo feito totalmente como o do SVKE, porque a nossa ideia é tentar trazer este glorioso servidor de volta. Svke - Cerulean CP
  18. Orochi Elf postou uma resposta no tópico em Suporte & Pedidos
    Link do ShowOFF de mapas, adicionado ao tópico.
  19. Orochi Elf postou uma resposta no tópico em Suporte & Pedidos
    kkkkkk, mas aqui no tópico estamos falando do projeto e não das imagens ú.ú uheaheuheahu @Topic Sullivan saiu da equipe, e entrou na área dos colaboradores. Meu primo "Twiitch" entrou para ocupar o lugar de mapper. Ainda hoje (01/03/2015) sai o ShowOFF do mapa.
  20. Você adicionou a função na LIB?
  21. Faço as palavras do Aberos, as minhas.
  22. Orochi Elf postou uma resposta no tópico em Formação de Equipe
    A minha contribuição com o servidor vai ser de c++, mas eu não estou usando nenhum das formas de comunicações que vocês estão pedindo. Então no meu caso vocês poderiam mandar PM. O que vocês precisam nesta área?
  23. Eu estou terminando este MOD para postar
  24. 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

Informação Importante

Confirmação de Termo