Ir para conteúdo

Dasdor

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    Dasdor deu reputação a Darcio Antonio em Criando um Botão OT CLIENT   
    game_topslot.zi
    Bom o scan do arquivo está ai.
    https://www.virustotal.com/#/file/5a0b17722b93fd4c9117086b80ad24442c305a05723680cad34ec50138ef30bc/detection
  2. Gostei
    Dasdor deu reputação a palubo em Como criar uma nova skill   
    Fala, galera! Beleza?
     
    Sou novo aqui no TK e queria trazer algo para vocês. Dei uma procurada e não achei nada do tipo, então creio que esse tutorial possa ajudar algumas pessoas! 
    O que vou ensinar a vocês é como criar uma skill direto na source, o que permite que você utilize comandos como "getPlayerSkill", "doPlayerAddSkillTry" etc em seus scripts em Lua. Esse tutorial NÃO serve para criar skills de "combate", como sword, axe etc. Esse tipo de skill envolve vários outros parâmetros além do que mostrarei aqui. Quem sabe eu faça um tutorial sobre isso daqui um tempo. 

    Preview de uma skill que criei para meu projeto:

     
    Para este tutorial, eu usei:
     Sources do The Forgotten Server 0.3.7: Aqui serão feitas várias edições, criando a nova skill e tudo que é necessário para a skill funcionar corretamente.  Microsoft Visual Studio 2010 Professional: Utilizei para compilar o TFS com as novas edições. Se não souber compilar, procure em outros tópicos aqui do fórum. Não é meu objetivo aqui ensinar como compilar. É necessário compilar com o MVS? Não. Se você preferir, pode fazer com outros programas.  Notepad++: Usei porque acho um editor de texto simples, prático e funcional. Não gosto de editar os códigos no MVS. Porém sinta-se à vontade para usar o editor que quiser. haha  SQLiteStudio 2.1.4: Será necessário para fazer pequenas alterações para que seu banco de dados funcione corretamente. Se você utiliza MySQL, terá que fazer essas edições por outro programa.  Sources do OTClient: Como utilizo o OTClient em meu servidor, usarei ele para demonstrar como adicionar a barrinha à janela de Skill. Se você utiliza outro client, infelizmente, não poderei dar suporte, já que nunca editei outros clients.  Codeblocks: Usei para compilar o OTClient. Mas pode ser feito com o MVS também. A escolha é sua! Passo 1 - Editar a source do TFS:
     



     
    Passo 2 - Editar o OTClient:
     



     
    Passo 3 - Editar o TFS:
     



     
    Passo 4 - Editar a database:
     



     
    Pronto! Seu servidor já está configurado com a nova skill! Agora você poderá usar Lua para configurá-la! 
     
    Vou dar um exemplo MUITO simples de como isso poderia ser feito em Lua:
     



     
    Claro que essa action acima é algo muito simples, mas, tendo o servidor já configurado, acredito que essas modificações abram uma gama de possibilidades imensas a todos que querem desenvolver uma nova skill. Espero que tenham gostado e que o tutorial seja útil para alguém! haha
     
    Qualquer erro ou bug, me avisem!
     
    Atenciosamente,
    Auro Mota.
  3. Gostei
    Dasdor deu reputação a KekezitoLHP em Cura de Potion Diferente   
    Nome Do Script: Cura de Potion Diferente
    Tipo: Action
    Autor: KekezitoLHP
    Testado em: Tfs 0.4 dev 

    Que ele faz ?: Bem é um sistema de potions que você define o tempo que é para curar e quantidade (pode ser em percentagens ou não.. como você queira.) e o intervalo entre as curas. "um exemplo, cura de 100 a 100 em 10 segundos ou de 10% 10% em 10 seg" acho que deu pra entende.. 
     
    Instalado:
     
    Vai em data/actions/actions.xml e adicione:
    <action itemid="2550" event="script" value="xxxx.lua"/> No id 2550 podem coloca o que deseja, xxxx.lua coloca nome que deseja se não deixa assim. 
     
    Agora vai em data/actions/scripts crie um arquivo chamado xxxx.lua e coloque isso
    function onUse(cid, item, frompos, item2, topos) if (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then doPlayerSendCancel(cid,"Desculpe, nao pode estar em battle") return TRUE end if not isCreature(item2.uid) and not isPlayer(item2.uid) then return doPlayerSendCancel(cid,"Please use on you or in you summon.") end doRemoveItem(item.uid, 1) local i = 500 local v = (getCreatureMaxHealth(item2.uid)/100) * 10 local max = 5000 while i <= max do addEvent(doCreatureAddHealth,i,item2.uid,v) addEvent(doSendMagicEffect,i,getCreaturePosition(i tem2.uid), 12) i = i + 500 end return true end Configurado:
     
    em 500 coloque o intervalo entre as curas.
    em 5000 coloque o tempo maximo que ficará curando.
    em local v = (getCreatureMaxHealth(item2.uid)/100) * 10  coloque a formula do heal.. nesse caso irá curar 10% em 10% da vida maxima.. caso vc keira que cure em qtd e nao em percentagem coloque por exemplo 100.. 200.. que irá curar 100 em 100 ou 200 em 200.. 
     
     
    Qualquer duvida ou erro só posta 
     
  4. Gostei
    Dasdor deu reputação a lulampo em Minhas Sprites, que serão usadas no servidor Poke DUB   
    Olá Galera, este é meu primeiro tópico no TK.. E quero aproveitar para divulgar o servidor da qual faço parte da equipe.. 
    Postarei alguns remakes feitos por mim que estarão no jogo. Sempre que der atualizo, mas no forum do server tem todas as atualizações..
     
    KADABRA: 
     
    ----------
     
     
    CHARIZARD e GRAN CHARIZARD, QUE SERA USADO NO VALLEY.:
    o da esquerda é o atual da PXG, do meio o remake que fiz em cima dele, corrigindo face, braços e alguns detalhes nas asas, da direita o GRAND CHARIZARD, redimensionado e corrigido por mim.. xD
     

     
     
    KINGLER :
     
    ---------------------------
    Shiny:    CORPO: 
     
     
    LUDICOLO:
    Esquerda o atual da PXG, da direita o meu..

     
     
    SOLROCK:
     
    --- 
     
    Teste de atques: 
     
     
     
    CORREÇÂO DAS ASAS DO PIDGEOT:
     
    PXG: 

     
    FEITOS POR MIM:
     

     
     
    PARASECT:
     

     
    Espero que tenham gostado, vejam outras sprites aqui: http://pdub.foruns.com.pt/t113-correcao-de-cores, Vejam nossos sistemas exclusivos e nosso mapa unico e feito totalmente do zero, um novo continente.. Ainda está em desenvolvimento....Off, logo postaremos novidades!
     
     
  5. Gostei
    Dasdor deu reputação a gabisa00 em Faço Scripts Para Todos   
    Aricles desculpe-me mas o sistema que tinha lhe prometido, eu acabei o perdendo em meio aos meus arquivos, não o tenho mais, se quiser ainda fazer seu pedido me mande pm.
     
    ________________________________________________________________________________________________
     
     
     
    Seu pedido será adicionado a lista como prometido.
     
    ________________________________________________________________________________________________
     
     
     
    Seu Pedido será adicionado a lista.
     
    _____________________________________________________________________________________________
     
     
    Sim será feito, mas preciso de informações agora, quantos players no máximo vão poder entrar nessa arena? Existe um tempo maximo de permanência nessa quest? se existe um numero maximo de players existe um numero minimo?
     
    _______________________________________________________________________________________________
     
     
     
    Já fiz esse sistema.
     
    Aqui
     
    ________________________________________________________________________________________________
     
    Caro Brunds estou no aguardo de algum PM seu para nos comunicarmos sobre seu script.
    ________________________________________________________________________________________________
    Lista de Pedidos
    161996  --  Feito macalo  --  Feito HallsSantos  --  Feito lolksky  --  Feito underewarr  --  Negado - Ausência de Resposta  Aricles  --  Negado  - Script Perdido Vinicius Xxgamexx  --  Em Andamento  - Aguardando Resposta - Tempo restante 1 DIA Golf  --  Em Andamento  - Aguardando Resposta - Tempo restante 2 DIAS brunds  --  Em Andamento  - Aguardando Resposta - Tempo restante 3 DIAS Rafael Mateus Disturbbed luuhmel YouTubexD Dasdor absoftfgn  --  Negado - Sistema já existente juunioor Essa é a lista de pedidos será feita de cima para baixo, podendo haver pessoas atendidas fora da ordem dependendo do graus do script, pretendo fazer todos, então peço compreensão. 
  6. Gostei
    Dasdor deu reputação a .HuRRiKaNe em [8.54] WODBO DBWarrior - Re-UP!   
    Informações:
    - Adicionado Account Manager 1/1;
    - Novo Mapa;
    - Novas Vocações;
    - Novas Magias;
    - Novo Monstros;
    - Novos Comandos e Sistemas;
    - !aol / Transform / Revert / Fusion / !spells/ Reborn 100%;
    - Novos Itens;
    - Novos Monstros;
    - Missões 100%;
    - Novas Quests;
    - Servidor 100% estável;
    - E Mais!
     
    Imagens:

     

     

     

     
    Download Server:
    http://www.4shared.com/get/J13gbA2O/DBzWarrior_by_ediberto23.html
     
    Download Client:
    http://www.4shared.com/rar/i5rQr9TS/DBWarrior_Client.html?
     
    Scan Client:
    https://www.virustotal.com/pt/file/519cf52a7446565cf3a6e2363a13cf98452913f4840a8d2440eb8554ceb678a0/analysis/1355789828/
     
    Créditos:
    Sr.Nuvem
    SmoOker (EU)
    ediberto23
    Fortation
  7. Gostei
    Dasdor deu reputação a Vodkart em Walking Effect On Outfit   
    Créditos: AnneMotta & Vodkart
    Descrição: Ao andar com o full addon de algumas outfits irá sair um efeito.
    Em creaturescript/script crie um arquivo.lua e renomeie para:
    outfiteffect.lua
      function onLogin(cid) registerCreatureEvent(cid, "EffectOutLogin") registerCreatureEvent(cid, "OutfitEffects") return doCreatureChangeOutfit(cid,{lookType = getCreatureOutfit(cid).lookType, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet, lookAddons = getCreatureOutfit(cid).lookAddons}) end local events = {} function onOutfit(cid, old, current) local effect = { [136] = 3, [128] = 3, -- citizen [270] = 27,[273] = 27, -- jester [156] = 61,[152] = 61, -- assassin [147] = 44,[143] = 44, -- barbarian [148] = 45,[144] = 45, -- druid [157] = 68,[153] = 68, -- beggar [149] = 36,[145] = 36, -- wizard [279] = 17,[278] = 17, -- brotherwood [137] = 39,[129] = 39, -- hunter [141] = 66,[133] = 66, -- summoner [142] = 34,[134] = 34, -- warrior [155] = 31,[151] = 31, -- pirate [158] = 46,[154] = 46, -- shaman [288] = 6,[289] = 6 -- demonhunter } local o,c= effect[old.lookType],effect[current.lookType] if getPlayerAccess(cid) > 2 then return true elseif (not o or not c or old.lookAddons == 3 and o) then stopEvent(events[getPlayerGUID(cid)]) end if current.lookAddons == 3 and c then function WalkEffect(cid, c, pos) if not isCreature(cid) then return LUA_ERROR end if c then frompos = getThingPos(cid) if frompos.x ~= pos.x or frompos.y ~= pos.y or frompos.z ~= pos.z then doSendMagicEffect(frompos, c) end events[getPlayerGUID(cid)] = addEvent(WalkEffect, 100, cid, c, frompos) end return true end WalkEffect(cid, c, {x=0, y=0, z=0}) end return true end em creaturescript.xml adicione as tags:
      <event type="login" name="EffectOutLogin" event="script" value="outfiteffect.lua"/> <event type="outfit" name="OutfitEffects" event="script" value="outfiteffect.lua"/> Como configurar:
    [iD DA OUTFIT] = N° DO EFEITO
  8. Gostei
    Dasdor deu reputação a Fir3z em Exori Bong - Sugar Vida do Target   
    Bom, eu tinha criado um sv, mas tive que parar por não ter retorno... criei vários scripts, magias, mapas, etc... pra não ficar tudo parado vou disponibilizar algumas coisas feitas por mim

    Demorei pra fazer esse script, ele podia estar bem mais simples (mas não sei como fazer isso, assim funciona... então XD)
     

    Oque faz: Essa magia simplesmente rouba a vida do target e te da a mesma vida, tinha feito isso para um knight, então os efeitos estão para knights... é só trocar caso queira (:

    Imagemzinha básica da magia funcionando


    Exori Bong.lua:

    function onCastSpell(cid, var) local playerpos = getCreaturePosition(cid) local target = getCreatureTarget(cid) local trapos = getCreaturePosition(target) local level = getPlayerLevel(cid) local numero1 = (level*1.5) -- Dano Mínimo local numero2 = (level*2.5) -- Dano Máximo for i = numero1, numero2 do levelz = (math.random(numero2)) end doCreatureAddHealth(target, -levelz) doSendAnimatedText(trapos, levelz, 180) doCreatureAddHealth(cid, levelz) doCreatureAddMana(cid, -300) -- Quanto Vai Gastar de Mana doSendMagicEffect(trapos, 9) doSendMagicEffect(playerpos, 12) doSendDistanceShoot(trapos, playerpos, 40) return TRUE end spells.xml:

    <instant name="Exori Bong" words="exori bong" lvl="80" mana="300" prem="1" range="3" needtarget="1" blockwalls="1" needweapon="1" exhaustion="2000" needlearn="0" event="script" value="attack/exori bong.lua"> <vocation id="4"/> <vocation id="8"/> </instant> Espero que gostem da mágia
  9. Gostei
    Dasdor deu reputação a MatheusEnjoy em Capacidade de Sobrecargada   
    Tentando trazer ainda mais conteúdo para o forum, achei um código pronto muito interessante que aumenta muito o RPG do servidor.

    E um sistema tirado dos jogos da Bethesda como Skyrim e Fallout. Essa modificação faz com o que personagem com a tenha capacidade de carregar infinita, mais ao chegar determinado valor o personagem começa andar mais devagar.
     


    Vamos ao código:

    Em config.lua
    Abaixo de:

    playerFollowExhaust = 0Adicione:
    capacityOverload = 0.75Em configmanager.cppAbaixo de:

    m_confNumber[FOLLOW_EXHAUST] = getGlobalNumber("playerFollowExhaust", 2000); Adicione:
    m_confDouble[CAPACITY_OVERLOAD] = getGlobalDouble("capacityOverload", 0.75); Em configmanager.hAbaixo de:

    FORMULA_MAGIC,Adicione:
    CAPACITY_OVERLOAD,Em player.cppSubstitua:

    windowTextId = nextExAction = 0;Por:
    windowTextId = nextExAction = capacityOverload = 0;Substitua:
    void Player::updateInventoryWeight()Por: 
    void Player::updateInventoryWeight() { inventoryWeight = 0.00; if(hasFlag(PlayerFlag_HasInfiniteCapacity) || !g_config.getBool(ConfigManager::USE_CAPACITY)) return; for(int32_t i = SLOT_FIRST; i < SLOT_LAST; ++i) { if(Item* item = getInventoryItem((slots_t)i)) inventoryWeight += item->getWeight(); } if (inventoryWeight >= capacity && !capacityOverload) { capacityOverload = (int32_t)(getSpeed() * g_config.getDouble(ConfigManager::CAPACITY_OVERLOAD)); g_game.changeSpeed(this, -capacityOverload); } else if (inventoryWeight < capacity && capacityOverload) { g_game.changeSpeed(this, capacityOverload); capacityOverload = 0; } }Substitua:
    bool Player::hasCapacity(const Item*, uint32_t) constPor:
    bool Player::hasCapacity(const Item*, uint32_t) const { return true; }Substitua:
    void Player::onThink(uint32_t interval)Por: 
    void Player::onThink(uint32_t interval) { Creature::onThink(interval); int64_t timeNow = OTSYS_TIME(); if(timeNow - lastPing >= 5000) { if (capacityOverload) { g_game.addMagicEffect(getPosition(), MAGIC_EFFECT_POFF); sendCancel("Your capacity is overloaded!"); } lastPing = timeNow; if(hasClient()) client->sendPing(); else if(g_config.getBool(ConfigManager::STOP_ATTACK_AT_EXIT)) setAttackedCreature(NULL); } if((timeNow - lastPong) >= 60000 && !getTile()->hasFlag(TILESTATE_NOLOGOUT) && !isConnecting && !pzLocked && !hasCondition(CONDITION_INFIGHT)) { if(hasClient()) client->logout(true, true); else if(g_creatureEvents->playerLogout(this, false)) g_game.removeCreature(this, true); } messageTicks += interval; if(messageTicks >= 1500) { messageTicks = 0; addMessageBuffer(); } if(lastMail && lastMail < (uint64_t)(OTSYS_TIME() + g_config.getNumber(ConfigManager::MAIL_ATTEMPTS_FADE))) mailAttempts = lastMail = 0; }Em player.hAbaixo de:

    int32_t shieldBlockCount;Adicione:
    int32_t capacityOverload;Créditos:Code by: sn3ejk - OTLand
    Tradução by: MatheusEnjoy
  10. Gostei
    Dasdor deu reputação a Will Oliveira em [MOD] Sounds   
    O que faz?
    Esse mod, ao definirmos posições para ele, quando você estiver entre as posições ele tocará a música definida por você.
     
    Instalação:
    1 - Em sua pasta otc/mods crie uma pasta chamada rcsound, crie um arquivo chamado rcsound.lua e adicione isto:
    SOUNDS_CONFIG = { soundChannel = SoundChannels.Music, checkInterval = 500, folder = 'music/', noSound = 'No sound file for this area.', } SOUNDS = { -- Rook Cave {fromPos = {x=879, y=803, z=8}, toPos = {x=1079, y=963, z=15}, sound = "FF VII - Main.ogg"}, -- Boss {fromPos = {x=977, y=903, z=8}, toPos = {x=1009, y=916, z=9}, priority = 1, sound="FF VII - Main.ogg"}, {fromPos = {x=1001, y=917, z=9}, toPos = {x=1002, y=919, z=9}, priority = 1, sound="FF VII - Main.ogg"}, -- Main -- Dragon {fromPos = {x=1089, y=1110, z=8}, toPos = {x=1135, y=1142, z=8}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1102, y=1128, z=9}, toPos = {x=1131, y=1149, z=9}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1117, y=1124, z=9}, toPos = {x=1128, y=1127, z=9}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1100, y=1104, z=10}, toPos = {x=1127, y=1131, z=10}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1103, y=1108, z=9}, toPos = {x=1108, y=1112, z=9}, priority = 1, sound="Fairy Tail - Main.ogg"}, {fromPos = {x=1096, y=1088, z=5}, toPos = {x=1110, y=1100, z=6}, priority = 1, sound="Fairy Tail - Main.ogg"}, } ---------- -- Sound local rcSoundChannel local showPosEvent local playingSound -- Design soundWindow = nil soundButton = nil function toggle() if soundButton:isOn() then soundWindow:close() soundButton:setOn(false) else soundWindow:open() soundButton:setOn(true) end end function onMiniWindowClose() soundButton:setOn(false) end function init() for i = 1, #SOUNDS do SOUNDS[i].sound = SOUNDS_CONFIG.folder .. SOUNDS[i].sound end connect(g_game, { onGameStart = onGameStart, onGameEnd = onGameEnd }) rcSoundChannel = g_sounds.getChannel(SOUNDS_CONFIG.soundChannel) -- rcSoundChannel:setGain(value/COUNDS_CONFIG.volume) soundButton = modules.client_topmenu.addRightGameToggleButton('soundButton', tr('Sound Info') .. '', '/images/audio', toggle) soundButton:setOn(true) soundWindow = g_ui.loadUI('rcsound', modules.game_interface.getRightPanel()) soundWindow:disableResize() soundWindow:setup() if(g_game.isOnline()) then onGameStart() end end function terminate() disconnect(g_game, { onGameStart = onGameStart, onGameEnd = onGameEnd }) onGameEnd() soundWindow:destroy() soundButton:destroy() end function onGameStart() stopSound() toggleSoundEvent = addEvent(toggleSound, SOUNDS_CONFIG.checkInterval) end function onGameEnd() stopSound() removeEvent(toggleSoundEvent) end function isInPos(pos, fromPos, toPos) return pos.x>=fromPos.x and pos.y>=fromPos.y and pos.z>=fromPos.z and pos.x<=toPos.x and pos.y<=toPos.y and pos.z<=toPos.z end function toggleSound() local player = g_game.getLocalPlayer() if not player then return end local pos = player:getPosition() local toPlay = nil for i = 1, #SOUNDS do if(isInPos(pos, SOUNDS[i].fromPos, SOUNDS[i].toPos)) then if(toPlay) then toPlay.priority = toPlay.priority or 0 if((toPlay.sound~=SOUNDS[i].sound) and (SOUNDS[i].priority>toPlay.priority)) then toPlay = SOUNDS[i] end else toPlay = SOUNDS[i] end end end playingSound = playingSound or {sound='', priority=0} if(toPlay~=nil and playingSound.sound~=toPlay.sound) then g_logger.info("RC Sounds: New sound area detected:") g_logger.info(" Position: {x=" .. pos.x .. ", y=" .. pos.y .. ", z=" .. pos.z .. "}") g_logger.info(" Music: " .. toPlay.sound) stopSound() playSound(toPlay.sound) playingSound = toPlay elseif(toPlay==nil) and (playingSound.sound~='') then g_logger.info("RC Sounds: New sound area detected:") g_logger.info(" Left music area.") stopSound() end toggleSoundEvent = scheduleEvent(toggleSound, SOUNDS_CONFIG.checkInterval) end function playSound(sound) rcSoundChannel:enqueue(sound, 0) setLabel(clearName(sound)) end function clearName(soundName) local explode = string.explode(soundName, "/") soundName = explode[#explode] explode = string.explode(soundName, ".ogg") soundName = '' for i = 1, #explode-1 do soundName = soundName .. explode[i] end return soundName end function stopSound() setLabel(SOUNDS_CONFIG.noSound) rcSoundChannel:stop() playingSound = nil end function setLabel(str) soundWindow:recursiveGetChildById('currentSound'):getChildById('value'):setText(str) end 2 - Crie um arquivo chamado rcsound.otmod e adicione isto:
    Module name: rc_sound description: Handels sounds for Rising Client. author: Shawak website: none autoload: true autoload-priority: 1000 sandbox: true scripts: [ rcsound ] @onLoad: init() @onUnload: terminate() 3 - Crie um arquivo chamado rcsound.otui e adicione isto:
    Module name: rc_sound description: Handels sounds for Rising Client. author: Shawak website: none autoload: true autoload-priority: 1000 sandbox: true scripts: [ rcsound ] @onLoad: init() @onUnload: terminate() 4 - Crie uma pasta dentro da rcsound, chamada music, dentro dela adicione os sons desejados, lembrando que o formato tem que ser OGG.
     
    Como configurar?
    É bastante simples, como definir as posições e a musica que tocará quando entrar nela:
    {fromPos = {x=879, y=803, z=8}, toPos = {x=1079, y=963, z=15}, sound = "FF VII - Main.ogg"}    
    Então, o frompos = da posição, topos = para a posição, ou seja, frompos vai ser onde começa e topos termina.
    Sound = "FF VII - Main.ogg", o que está entre aspas é o nome da musica que se encontra na pasta music, lembrando que tem que colocar o .ogg
     
    Créditos:
    xS0NYx
    Shawak
  11. Gostei
    Dasdor deu reputação a Cat em [PEDIDO] Estatua do Shao Kahn   
    não sei se ficou como tu queria, mas não custa tentar:
     

     

  12. Gostei
    Dasdor deu reputação a Garou em Monstros Passivos   
    Monstros Passivos
     
    Sabe, esse é um dos sistemas mais desejados, da família dos sistemas que surgiram com os Pokétibias, depois do TV System.
     
    Aquele sistema que faz com que existam monstros que não atacam você, se você não atacar ou usar magias antes. Não tem nenhum segredo, resolvi fazer o meu em Lua e C++ por puro comodismo.
     
    Então vamos ao passo-a-passo.
     
     
    No seu arquivo monster.h, procure por isso:
    bool isHostile() {return mType->isHostile;} Troque por:
    bool isHostile() const { std::string value; if(!getStorage("hostile", value)) return mType->isHostile; return booleanString(value); } No seu monster.cpp, procure por:
    Monster::selectTarget Abaixo de:
    if(!isTarget(creature)) return false;  Adicione:
    if(!isHostile()) return false; Crie um arquivo chamado passive_system.lua no diretório creaturescripts/scripts, cole isso:
    PASSIVE_BEHAVIOR = {"Deer", "Rabbit"} -- Aqui ficam os monstros que não atacam, mesmo que atacados. function onCombat(cid, target) if isMonster(target) then if not isInArray(PASSIVE_BEHAVIOR, getCreatureName(target)) then doCreatureSetStorage(target, "hostile", 1) end doMonsterSetTarget(target, cid) end return true end No arquivo login.lua:
    registerCreatureEvent(cid, "PassiveSystem") No arquivo creaturescripts.xml:
    <event type="combat" name="PassiveSystem" event="script" value="passive_system.lua"/> Dê um Rebuild All no seu servidor, ou compile, deletando a pasta obj.
    Para usar basta mudar a flag hostile do monstro para 0 no arquivo XML dele.
     
    Boa diversão.
     
    Abraços,
    Oneshot
  13. Gostei
    Dasdor recebeu reputação de Bruno Carvalho em Bomberman Online   
    Se vc ja jogou bomberman vc vai gosta desse server é igual o bomberman de super nintendo...
    esta na faze beta ainda n tem muitas sprites o client nao ta bonito mais tem oque é preçiso para se divertir

    Ate agr só temos um Outfit.


    Temos os power ups


    e alguns player se divertindo

    intao é isso nao esperem muita coisa porque esta na faze beta!!!Importante
    Importante:
    para plantar a bomba basta aperta a tecla "L" do seu teclado caso estiver jogando no Lange Map
    agr se vc estiver jogando no Small Map vc aperta a tecla "S' para plantar a bomba...

    Download:
    http://www.mediafire.com/?4luubhh54d4dh38
  14. Gostei
    Dasdor recebeu reputação de Orochi Elf em Bomberman Online   
    Se vc ja jogou bomberman vc vai gosta desse server é igual o bomberman de super nintendo...
    esta na faze beta ainda n tem muitas sprites o client nao ta bonito mais tem oque é preçiso para se divertir

    Ate agr só temos um Outfit.


    Temos os power ups


    e alguns player se divertindo

    intao é isso nao esperem muita coisa porque esta na faze beta!!!Importante
    Importante:
    para plantar a bomba basta aperta a tecla "L" do seu teclado caso estiver jogando no Lange Map
    agr se vc estiver jogando no Small Map vc aperta a tecla "S' para plantar a bomba...

    Download:
    http://www.mediafire.com/?4luubhh54d4dh38
  15. Gostei
    Dasdor deu reputação a Smyllodon em [9.70] The Forgotten Server v0.3.7 (The OTX Server)   
    e so voce compilar
    e so Compilar nesse arquivos apenas se encontra as sources.

Informação Importante

Confirmação de Termo