Ir para conteúdo

Oneshot

Marquês
  • Total de itens

    1347
  • Registro em

  • Última visita

  • Dias Ganhos

    36

Tudo que Oneshot postou

  1. Você não está ensinando nada neste tópico. Essa a área designada para Globalevents, Spells e Creaturescripts. Isso é uma Action. A construção do código mostra que você é bem iniciante, existem "sistemas" bem mais trabalhados. Desconsiderando tudo isso acima, parabéns e obrigado por colaborar com o XTibia.
  2. Fala, galera! Aqui estou eu, Oneshot, de volta à minha primeira casa. E para comemorar programei essa magia aqui que dei o nome de Meteor Rain. Uma magia baseada no "famoso" servidor alternativo Kingdom Age, bem legal que causa muitos hits. Considero ela apelativa e não recomendo para servidores de multiplicadores altos. Crie um arquivo chamado meteor rain.lua na sua pasta \data\spells\scripts. Insira este conteúdo nele. local spellConfig = { {effect = CONST_ME_FIREATTACK, area = createCombatArea({ {1, 0, 1}, {0, 2, 0}, {0, 1, 0}}) }, {effect = CONST_ME_FIREAREA, area = createCombatArea({ {0, 1, 0, 0, 0}, {1, 0, 0, 1, 0}, {0, 0, 2, 0, 0}, {0, 0, 1, 0, 1}, {1, 0, 0, 1, 0}}) }, {effect = CONST_ME_FIREATTACK, area = createCombatArea({ {0, 0, 1, 0, 1}, {1, 0, 0, 0, 1}, {0, 0, 2, 1, 0}, {0, 1, 0, 0, 1}, {1, 0, 1, 0, 0}}) }, {effect = CONST_ME_HITBYFIRE, area = createCombatArea({ {0, 0, 1, 0, 1}, {1, 0, 0, 0, 1}, {0, 0, 2, 1, 0}, {0, 1, 0, 0, 1}, {1, 0, 1, 0, 0}}) }, {effect = CONST_ME_FIREAREA, area = createCombatArea({ {0, 0, 1, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 1}, {0, 0, 1, 2, 1, 0, 0}, {1, 0, 0, 0, 0, 0, 1}, {0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 1, 0, 0}}) }, {effect = CONST_ME_HITBYFIRE, area = createCombatArea({ {0, 0, 1, 0, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0}, {1, 0, 1, 0, 0, 0, 1}, {0, 0, 0, 2, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 1}, {1, 0, 0, 1, 0, 1, 0}, {0, 0, 1, 0, 1, 0, 0}}) }, {effect = CONST_ME_FIREAREA, area = createCombatArea({ {0, 0, 1, 0, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0}, {1, 0, 1, 0, 0, 0, 1}, {0, 0, 0, 2, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 1}, {1, 0, 0, 1, 0, 1, 0}, {0, 0, 1, 0, 1, 0, 0}}) } } local combats = {} for k, config in ipairs(spellConfig) do combats[k] = createCombatObject() onTargetTile = function(cid, pos) local basePos = getThingPosition(cid) local fromPos = {x=basePos.x-6, y=basePos.y-8, z=basePos.z} doSendDistanceShoot(fromPos, pos, CONST_ANI_FIRE) end setCombatCallback(combats[k], CALLBACK_PARAM_TARGETTILE, "onTargetTile") setCombatParam(combats[k], COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combats[k], COMBAT_PARAM_EFFECT, config.effect) setCombatFormula(combats[k], COMBAT_FORMULA_LEVELMAGIC, -0.593, -50, -0.929, -100) setCombatArea(combats[k], config.area) end local function castingSpellTime(p) if(isCreature(p[1]) == TRUE) then doCombat(unpack(p)) end end function onCastSpell(cid, var) for k, combat in ipairs(combats) do addEvent(castingSpellTime, (250*k), {cid, combat, var}) end return true end Insira essa tag no seu documento spells.xml localizado em \data\spells. <instant name="Meteor Rain" words="meteor rain" lvl="80" mana="860" prem="1" exhaustion="2000" needlearn="0" event="script" value="meteor rain.lua"/> Sinta-se livre para editar as vocações da magia. Agora é só aproveitar-la Abraços.
  3. Só vou falar poucas palavras. Quando uma vocação está configurada para ter o parâmetro "fromvoc", você não deve usar a função doPlayerSetVocation e sim a função doPlayerSetPromotionLevel. Abraços.
  4. Finalmente o XTibia caminha a um grau de organização superior. Parabéns a equipe.
  5. Aê, animais. O Zé Helder quis dizer que são projetos as distribuições para a comunidade, por exemplo, Mix Yurots e Alyssow Server.
  6. Bom, tenha certeza que você não colocou o tempo de reaparecimento das criaturas igual ou menor que zero. Abra o arquivo de spawns do seu mapa e procure por isso, por exemplo: <spawn centerx="1408" centery="1189" centerz="3" radius="1"> <monster name="Troll" x="-1" y="1" z="3" spawntime="60"/> </spawn> Ali no campo spawntime, você deverá colocar o valor de reaparecimento da criatura em questão, o erro ocorre porque você colocou 0 ou valores negativos.
  7. Você fez uma "gambiarra" interessante entre a word 'god' e a param 'fdp'. Tanto que por um momento achei que se o jogador falasse 'fdp' a qualquer hora, o sistema iria banir-lo. Obrigado por compartilhar conteúdo com o XTibia. Abraços
  8. Segue abaixo o arquivo da magia: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local melee = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(melee, CONDITION_PARAM_TICKS, 10*1000) setConditionParam(melee, CONDITION_PARAM_SKILL_MELEEPERCENT, 135) setConditionParam(melee, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, melee) local shield = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(shield, CONDITION_PARAM_TICKS, 10*1000) setConditionParam(shield, CONDITION_PARAM_SKILL_SHIELDPERCENT, 220) setConditionParam(shield, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, shield) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
  9. Senhores, Oneshot voltou! =]

    1. Mostrar comentários anteriores  %s mais
    2. Tonynh

      Tonynh

      acc 2 alunos? rsrs

    3. diegokiremya

      diegokiremya

      preciso de alguêm que edite tibia para

      [x]tibia versão 8.60

      [x]adicionar novos bixos de zao

      (x)Draken elite

      (x)Draken abomination

      (x)Souleater

      ps: tenho eles prontos é só adicionar no mapa...

      [x]Quest's

      (x)"Emperior quest" os 3 itens ..

      (x)blade of corruptor and shield of corruptor

      [x]Itens de addons

      (x)Engraved Crossbow

      (x)Ceiron's Wolf Tooth Chain

      (x)WaterHose

    4. diegokiremya

      diegokiremya

      contato diego.cardosos@hotmail.com

      preço a negociar

  10. Eu peço mil perdões a comunidade XTibiana, meu HD queimou e meu computador foi desta para melhor :'(... Estarei voltando em breve!!

    1. Tonynh

      Tonynh

      :/

      volte logo rsrs

  11. É isso que espero quando alguém fala que fez modificações em um script. No caso desse Sistema de Refinamento, mudar o nível máximo de refinamento, as chances e a quantidade de atributos são coisas muito simples de se fazer e não se enquadram em nada. Abraços
  12. Amigo, Você recebeu autorização de Mock para editar o script? Creio ainda que você não fez nenhuma modificação na programação original, se o fez, mostre-me. Um abraço
  13. O Vodkart encontrou um erro na estrutura da função, mas mesmo assim, o script não funcionará porque a função não existe na biblioteca do servidor. Você pode substituir-la por: doItemSetAttribute(objeto2.uid, "name", "Remains of ".. getItemNameById(objeto2.itemid) .."") Um abraço,
  14. Na função que executa a magia, você poderá criar estruturas lógicas utilizando if, elseif e else para criar essas "condições". Para melhor exemplificação: function onCastSpell(cid, var) if(getPlayerSlotItem(cid, CONST_SLOT_RIGHT) == 2456) then if(doPlayerRemoveItem(cid, 2544, 1)) then doCombat(cid, combat, var) else doPlayerSendCancel(cid, "You don\'t have an arrow!") end else doPlayerSendCancel(cid, "You need to be equiped with a bow!") end return true end Um Abraço!
  15. Poste em Área de Desenvolvimento. Um abraço,
  16. Eu não sabia mesmo dessas coisas, sabe o por quê? Porque essas coisas aí não tem nada haver com a programação LUA. Você está dizendo que os programadores fazem seus scripts, pegando outros scripts como base e dando uma "editadinha"... "Ô Beleza! Qualquer um pode ser scripter, IARIAIRAIRIAIRIR" Lamentável... Abraços,
  17. Oneshot

    Runa De Summon

    Script bem desorganizado, vamos dar uma arrumada e implementar o que você quer, local c = { maxSummons = 1, removeOnUse = "yes" } local summon = { [{100, 200}] = "Dragon", [{201, 300}] = "Hydra" } function onUse(cid, item, fromPosition, itemEx, toPosition) for m, n in pairs(summon) do if(getPlayerLevel(cid) >= m[1] and getPlayerLevel(cid) <= m[2]) then if(table.maxn(getCreatureSummons(cid)) < c.maxSummons) then local monster = doCreateMonster(getThingPosition(cid), n) doConvinceCreature(cid, monster) if(c.removeOnUse == "yes") then doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You use your Elisios Card and it disappear") end else doPlayerSendCancel(cid, "You can\'t summon more monsters") end else doPlayerSendCancel(cid, "You don\'t have a monster to summon") end return true end Abraços,
  18. Existem erros no arquivo LUA e também na tag XML. - Você esqueceu de "forçar" o retorno do valor booleano 'true' para a função da linha 33. O script ficará assim: local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 36) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -3.0, -20, -2.6, -250) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 37) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -3.0, -20, -2.6, -250) arr1 = { {NAO QUERO DIVULGAR A AREA } arr2 = { {NAO QUERO DIVULGAR A AREA } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2 } addEvent(onCastSpell1, 0, parameters) addEvent(onCastSpell2, 0, parameters) end - Você errou algumas coisas na tag XML, magias que são ofensivas não podem ter o valor de aggressive igual a 0, nem o valor de selftarget igual a 1. A tag deverá ficar assim: <instant name="second" words="second" lvl="9" mana="25" exhaustion="1000" needlearn="0" script="edited/second.lua"> <vocation name="Sorcerer" /> <vocation name="Druid" /> <vocation name="Paladin" /> </instant> Abraços,
  19. Boa Noite! Trago a vocês o Teaser #2 do Solscian Descobri que meu computador é uma droga e não consegue rodar o Camtasia direito, então não consigo gravar vídeos... Fiz um teaser em gif mesmo! Para começar, o tema do Teaser é o sistema de Mineração, pois houveram imprevistos quanto ao sistema de Shop. O que eu tenho a dizer, é que o sistema aqui apresentado, está bem bonito e versátil. Espero que vocês gostem! P.S: Desculpem pela velocidade do gif. "Minerar, a arte de extrair riquezas das rochas... Em Solscian você poderá fazer riquezas, encontrar tesouros e até ser reconhecido como um minerador lendário!"
  20. cid - Abreviação de creatureid, é a criatura que executará a função e por sua vez, todo o bloco programado. Por exemplo: function onUse(cid) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você usou o item") return true end Isso significa que a criatura executora, ao usar um item, irá receber a mensagem. uid - Abreviação de uniqueid, é um número próprio de cada "coisa" do servidor, daí o nome uniqueid que significa ID único. Por exemplo, funciona quando você quer "editar" os atributos de um item, apenas um item, e não todos do servidor. function onUse(item) doItemSetAttribute(item.uid, "attack", 500) return true end Abraços.
  21. A volta das pips medievais? Por exemplo, Camponês? Puts, vai ficar muito legal!
  22. Solscian System Teaser #1 neste sábado!

  23. Desculpe XTibia - Ensino Médio+Cursinho está me impossibilitando de ajudar-los com Scripts!

  • Quem Está Navegando   0 membros estão online

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