Ir para conteúdo

Oneshot

Marquês
  • Total de itens

    1347
  • Registro em

  • Última visita

  • Dias Ganhos

    36

Tudo que Oneshot postou

  1. A dúvida do rapaz quanto a isso foi sanada via Messenger. Creio que já não há necessidade desde tópico continuar aberto, Reportado. Att. Bruno
  2. 1 - Sim, tem. Você deverá colocar o nome da nova classe, ou, substituir o novo nome pelo nome velho, assim dizendo. Mas eu aconselho que quando você registar suas magias no spells.xml, use a seguinte estrutura, em vez de: <vocation name="nome da vocação"/> Use: <vocation id="id da vocação"/> Porque assim, quando você mudar o nome da vocação no vocations.xml, não será preciso substituir um monte de nomes no spells.xml. 2 - Também há uma maneira de empurrar players com magias. Creio eu que é usando a função getThingPosition através dos parâmetros x, y e z. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 42) function onGetFormulaValues(cid, level, maglevel, factor) local magicDamage = maglevel + level return -(magicDamage * 0.5), -(magicDamage * 0.7) end function onCastSpell(cid, var) newpos = {x=(getThingPosition(getCreatureTarget(cid)).x)+2, y=(getThingPosition(getCreatureTarget(cid)).y), z=(getThingPosition(getCreatureTarget(cid)).z)} doTeleportThing(getCreatureTarget(cid), newpos) return doCombat(cid, combat, var) end O script que eu fiz acima, é uma magia básica que faz aquele efeito de tornado de gelo e empurra a criatura 2 sqms na horizontal.
  3. @amoeba13 Tudo que você falou não ajuda em nada, porque simplesmente o comando /attr é uma função e não um script em LUA. @jpmo15 O comando /attr nos OTservs 8.54 continua normal quando você quer editar monstros. Mas para editar itens, você deverá escrever assim: /attr set key "value As chaves ou keys são os tipos de atributos dos itens, como: attack, defense, extraattack, extradefense. E o value é o valor do atributo: 100, 200 e etcétera.
  4. O problema está em seus items.xml. Para Wild Growth, procure por isto no arquivo: <item id="1499" article="a" name="rush wood"> <attribute key="type" value="magicfield"/> Substitua por isto: <item id="1499" article="a" name="rush wood"> <attribute key="type" value="magicfield"/> <attibute key="decayTo" value="0"/> <attribute key="duration" value="45"/> Para Magic Wall, procure por isto: <item id="1497" article="a" name="magic wall"> <attribute key="type" value="magicfield"/> </item> E substitua por isto: <item id="1497" article="a" name="magic wall"> <attribute key="type" value="magicfield"/> <attribute key="decayTo" value="0"/> <attribute key="duration" value="45"/> </item>
  5. Poste o conteúdo do seu vocations.xml para que eu possa ajudá-lo.
  6. Analisando o script não percebi nenhum erro, Mas acho que erro está no próprio actions.xml. Você assimilou uma UID para o báu que dá esses itens? Pelo Map Editor? Se não, abra seu map editor e vá até o baú e coloque a UID que está no script que eu vou te passar. function onUse(cid, item, frompos, item2, topos) queststatus = getPlayerStorageValue(cid, 4998) if item.uid == 8507 then if queststatus = -1 then doPlayerSendTextMessage(cid,22,"Bem Vindo ao CSTibia!") doPlayerAddItem(cid, 1988, 1) doAddContainerItem(container, 2493, 1) doAddContainerItem(container, 2470, 1) doAddContainerItem(container, 2472, 1) doAddContainerItem(container, 2195, 1) doAddContainerItem(container, 8930, 1) doAddContainerItem(container, 2498, 1) doAddContainerItem(container, 2656, 1) doAddContainerItem(container, 7730, 1) doAddContainerItem(container, 2514, 1) doAddContainerItem(container, 8910, 1) doAddContainerItem(container, 8922, 1) doAddContainerItem(container, 7368, 100) doAddContainerItem(container, 2268, 99) doAddContainerItem(container, 8473, 1) doAddContainerItem(container, 7590, 1) doAddContainerItem(container, 7589, 1) doAddContainerItem(container, 2273, 99) doAddContainerItem(container, 2173, 1) setPlayerStorageValue(cid, 4998, 1) else doPlayerSendTextMessage(cid,22,"Est\á vazio") end else return 0 end return 1 end Em vermelho, é a UID que você deverá colocar no baú No seus actions.xml, adicione isto: <action uniqueid="8507" script="coloque o nome do script aqui"/>
  7. Vejamos, Os scripts das poções de classes, como a Mastermind Potion, ficam localizados na pasta Actions. Para habilitar o uso dessas poções, você deverá editar as actions de cada poção. Usarei, como exemplo, a Mastermind Potion: local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 300000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICPOINTS, 40) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, -30) function onUse(cid, item, frompos, item2, topos) if(isInArray({1,2,5,6,9,10}, getPlayerVocation(cid)) == TRUE) then var = numberToVariant(cid) doTargetCombatCondition(0, cid, condition, CONST_ME_MAGIC_RED) doRemoveItem(item.uid, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR,"This potion can only be consumed by sorcerers and druids.") return 1 end end Os números em vermelho são os IDS respectivos das classes que podem usar a Mastermind Potion. No caso: 1 = Sorcerer 2 = Druid 5 = Master Sorcerer 6 = Elder Druid 9 = Warlock - Evolução de Master Sorcerer 10 = Shaman - Evolução de Elder Druid
  8. Caro amigo, Esta não é a seção correta. Mas estarei atendendo seu pedido. Editarei este post com o script. @editado Não consegui fazer algo perfeito. Não testei para ver se funciona, mas parece estar bom. Dei mais foco para o level nesse script. Veja se está bom. O script segue abaixo local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat, COMBAT_PARAM_USECHARGES, TRUE) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function getSpellDamage(cid, level, weaponSkill) damage_min = (level+weaponSkill) damage_max = (level*3.8+weaponSkill*-0.5) if(damage_max < damage_min) then local tmp = damage_max damage_max = damage_min damage_min = tmp end return -damage_min, -damage_max end function onCastSpell(cid, var) return doCombat(cid, combat, var) end
  9. Caro colega, Para mim você só substituiu as palavras utevo res por summoner. Ou estou enganado? @Editado Hmm, desculpem-me não percebi que este é um tópico revivido.
  • Quem Está Navegando   0 membros estão online

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