Ir para conteúdo

Oneshot

Marquês
  • Total de itens

    1347
  • Registro em

  • Última visita

  • Dias Ganhos

    36

Tudo que Oneshot postou

  1. Os hiperlinks estão quebrados, tópico fechado.
  2. Oneshot

    duvida spell

    Tópico movido para a seção de dúvidas e pedidos resolvidos.
  3. Oneshot

    duvida spell

    Bom, aqui funcionou. Não esqueça que se for uma magia de direção, de colocar isso no tag do spells.xml direction="1" E eu fiz como você pediu, só mandar o efeito e o dano se houver uma criatura no tile.
  4. Oneshot

    duvida spell

    local combat = {} combat[1] = createCombatObject() setCombatParam(combat[1], COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat[1], COMBAT_PARAM_EFFECT, 79) setCombatFormula(combat[1], COMBAT_FORMULA_LEVELMAGIC, -0.7, 0, -0.5, 0) combat[2] = createCombatObject() local area = createCombatArea({ {0, 1, 1, 1, 0}, {0, 1, 1, 1, 0}, {0, 1, 1, 1, 0}, {0, 0, 1, 0, 0}, {0, 0, 3, 0, 0}, }) setCombatArea(combat[2], area) function onTargetTile(cid, position) local target = getTopCreature(position) if isPlayer(target.uid) or isMonster(target.uid) then doCombat(cid, combat[1], numberToVariant(target.uid)) end end setCombatCallback(combat[2], CALLBACK_PARAM_TARGETTILE, "onTargetTile") function onCastSpell(cid, var) return doCombat(cid, combat[2], var) end Abraços.
  5. Oneshot

    duvida spell

    Vamos ver se eu entendi, no caso, a magia só iria mandar efeito onde houvessem criaturas (jogadores ou monstros)?
  6. Olá, SkyLigh Devido a um escaneamento com uma grande quantidade de detecções, seu download foi reprovado. Abraços.
  7. Tópico movido para a seção de dúvidas e pedidos resolvidos.
  8. Oneshot

    Server lunus

    Olá, firewere. Infelizmente seu download foi reprovado. Na próxima vez, tente melhorar o tópico, descrever o download, e, claro, pesquisar se o conteúdo já não foi postado antes aqui na comunidade. Abraços.
  9. Bom, não sei o que dizer deste escaneamento: virustotal.com
  10. Legal, cara, você escaneou um site ao invés do arquivo disponível para download. Este é o escaneamento correto: VirusTotal
  11. local recipe = {{2674, 1}, {2788, 1}, {2006}} function onCastSpell(cid, var) local create = true for i = 1, #recipe do local tmp, item = recipe[i] item = getPlayerItemById(cid, true, tmp[1]) if item.uid > 0 then if #tmp == 2 and item.type < math.max(1, tmp[2]) then doPlayerSendCancel(cid, "You need more ".. tmp[2] - item.type .." ".. getItemNameById(tmp[1]) ..".") create = false break elseif #tmp == 1 and item.type ~= 0 then doPlayerSendCancel(cid, "You don't have a empty vial.") create = false break end else doPlayerSendCancel(cid, "You don't have ".. getItemNameById(tmp[1]) ..".") create = false break end end if create == true then for i = 1, #recipe do local item = getPlayerItemById(cid, true, recipe[i][1]) doRemoveItem(item.uid, math.max((recipe[i][2] or 1), 1)) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN) end doPlayerAddItem(cid, 7588, 1) else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end return true end Tá aê, tio.
  12. Meu amigo, existe uma diferença clara em divulgar um servidor e tentar obter incentivo do fórum para um projeto. Movido para Open PVP Servers
  13. Você leu meu penúltimo post, meu caro coleguinha desprovido da capacidade de raciocinar?
  14. Curiosidade minha, mas qual o porquê de deixar um hiperlink para uma busca no google sobre alavancas? local position_of_wall = {x = 88, y = 125, z = 7} local wall_item_id = 1040 function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == 1945 then local wall = getTileItemById(position_of_wall, wall_item_id) if wall.uid > 0 then addEvent(function() doTransformItem(item.uid, 1945) doCreateItem(wall_item_id, position_of_wall) end, 15 * 1000) doRemoveItem(wall.uid, 1) doTransformItem(item.uid, 1946) end elseif item.itemid == 1946 then doPlayerSendCancel(cid, "This lever is stuck.") end return true end Bai
  15. Não, provavelmente são bastante ultrapassadas.
  16. Nem eu, haha, boa sorte. Mas o que importa é a funcionalidade. Abraços.
  17. Bom, como eu disse, é um sistema em fase de aprimoramento, então eu ainda quero sim mudar algumas coisas no sistema de magias e nos atributos do pet.
  18. Compilei normal com Dev-Cpp com as bibliotecas de TFS.
  19. Então, caras, agora eu notei, eu fiz isso como spell, lolz. local spell = { [1] = { type = COMBAT_ENERGYDAMAGE, effect = CONST_ME_PURPLEENERGY, shoot = CONST_ANI_ENERGYBALL, formula = { type = COMBAT_FORMULA_LEVELMAGIC, values = {0, -40, 0, -80} }, }, [2] = { type = COMBAT_EARTHDAMAGE, effect = CONST_ME_HITBYPOISON, shoot = CONST_ANI_EARTH, formula = { type = COMBAT_FORMULA_LEVELMAGIC, values = {0, -40, 0, -80} }, }, [3] = { type = COMBAT_FIREDAMAGE, effect = CONST_ME_FIREAREA, shoot = CONST_ANI_FIRE, formula = { type = COMBAT_FORMULA_LEVELMAGIC, values = {0, -40, 0, -80} }, }, [4] = { type = COMBAT_ICEDAMAGE, effect = CONST_ME_ICEATTACK, shoot = CONST_ANI_ICE, formula = { type = COMBAT_FORMULA_LEVELMAGIC, values = {0, -40, 0, -80} }, }, } local combat = {} for n = 1, #spell do local config = spell[n] combat[n] = createCombatObject() setCombatParam(combat[n], COMBAT_PARAM_TYPE, config.type) setCombatParam(combat[n], COMBAT_PARAM_EFFECT, config.effect) setCombatParam(combat[n], COMBAT_PARAM_DISTANCEEFFECT, config.shoot) setCombatFormula(combat[n], config.formula.type, unpack(config.formula.values)) end function onUseWeapon(cid, var) local tmp = {} local container = getPlayerSlotItem(cid, CONST_SLOT_RIGHT) if not isContainer(container.uid) then doCombat(cid, combat[1], var) return true end local elements = {["energy"] = 1, ["poison"] = 2, ["fire"] = 3, ["ice"] = 4} for slot = getContainerCap(container.uid), 0, -1 do local item = getContainerItem(container.uid, slot) if item.uid > 0 then local element = getItemName(item.uid):match("(%a+)%s*rune"):lower() if isInArray(elements, elements[element]) then table.insert(tmp, elements[element]) end end end for n = 1, #tmp do addEvent(doCombat, (n * 200) - 200, cid, combat[tmp[n]], var) end return true end Eu notei também que o que você quer, é que tipo, a wand já tenha um tipo de ataque e adicione ataques extras conforme as tais runas no container, então faça isso, nessa linha: local tmp = {} Coloque: local tmp = {1} Onde: 1 - Energy 2 - Poison 3 - Fire 4 - Ice Isso vai ser o ataque inicial da wand sem runas, se tmp estiver vazio, ela não atacará nada.
  20. Seus scripts são bastante criativos, mas, caramba, porque você teima em não identar seus códigos?
  21. Eu planejo para um próximo update um sistema de atributos para pet. E sobre o comando /pet cast, irei aperfeiçoar-lo também. Abraços.
  22. Para acessar seu roteador, você precisa do IP interno dele, que por padrão, deve ser 192.168.0.1 para essa marca. 1. Vá no seu navegar e digite 192.168.0.1, irá aparecer um prompt pedindo usuário e senha. O padrão de fábrica, o usuário é vazio e a senha é admin. 2. Você entrará nessa página. 3. Clique em Advanced no menu superior, o menu da esquerda deverá mudar, nele você irá clicar em Forwarding. 4. Basta completar os quatro campos com o endereço IPv4 obtido pelo ipconfig; a porta que irá ser desbloqueada; novamente a porta; o tipo de desbloqueio (TCP, UDP ou Both) e marcar o quadradinho Enabled 5. Clique em Apply e seja feliz. Fonte: portforward.com
  23. Sobre dobrar o ataque, não estou afim de fazer, mas dá pra atirar duas vezes com fogo. FLW! local spell = { [1] = { type = COMBAT_ENERGYDAMAGE, effect = CONST_ME_PURPLEENERGY, shoot = CONST_ANI_ENERGYBALL, formula = { type = COMBAT_FORMULA_LEVELMAGIC, values = {0, -40, 0, -80} }, }, [2] = { type = COMBAT_EARTHDAMAGE, effect = CONST_ME_HITBYPOISON, shoot = CONST_ANI_EARTH, formula = { type = COMBAT_FORMULA_LEVELMAGIC, values = {0, -40, 0, -80} }, }, [3] = { type = COMBAT_FIREDAMAGE, effect = CONST_ME_FIREAREA, shoot = CONST_ANI_FIRE, formula = { type = COMBAT_FORMULA_LEVELMAGIC, values = {0, -40, 0, -80} }, }, [4] = { type = COMBAT_ICEDAMAGE, effect = CONST_ME_ICEATTACK, shoot = CONST_ANI_ICE, formula = { type = COMBAT_FORMULA_LEVELMAGIC, values = {0, -40, 0, -80} }, }, } local combat = {} for n = 1, #spell do local config = spell[n] combat[n] = createCombatObject() setCombatParam(combat[n], COMBAT_PARAM_TYPE, config.type) setCombatParam(combat[n], COMBAT_PARAM_EFFECT, config.effect) setCombatParam(combat[n], COMBAT_PARAM_DISTANCEEFFECT, config.shoot) setCombatFormula(combat[n], config.formula.type, unpack(config.formula.values)) end function onCastSpell(cid, var) local tmp = {} local container = getPlayerSlotItem(cid, CONST_SLOT_RIGHT) if not isContainer(container.uid) then doCombat(cid, combat[1], var) return true end local elements = {["energy"] = 1, ["poison"] = 2, ["fire"] = 3, ["ice"] = 4} for slot = getContainerCap(container.uid), 0, -1 do local item = getContainerItem(container.uid, slot) if item.uid > 0 then local element = getItemName(item.uid):match("(%a+)%s*rune"):lower() if isInArray(elements, elements[element]) then table.insert(tmp, elements[element]) end end end for n = 1, #tmp do addEvent(doCombat, (n * 200) - 200, cid, combat[tmp[n]], var) end return true end
  24. Gosto de fazer pedidos com ideias interessantes. Mas, no caso, como eu faria para obter o tipo de runa? É um atributo ou posso verificar o nome da runa?
  25. Tive que trocar os scripts do tópico por um erro básico no sistema. Abraços.
  • Quem Está Navegando   0 membros estão online

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