Ir para conteúdo

joaohd

Visconde
  • Total de itens

    361
  • Registro em

  • Última visita

  • Dias Ganhos

    10

Tudo que joaohd postou

  1. Pra abrir com o bloco de notas, clique com o botao direito no arquivo, clique em "abrir com..." e localize o bloco de notas. Já para adicionar a magia em seu servidor, coloque o arquivo da magia dentro da pasta "data/spells/scripts" e adicione a tag em spells.xml, seguindo o modelo: <instant name="NOME DA MAGIA" words="PALAVRAS Q FALA" prem="1" exhaustion="2000" event="script" value="NOME DO SCRIPT.lua"> <vocation id="4"/> <vocation id="8"/> </instant> flw
  2. Você usa um spell maker certo? Poste o script gerado por esse programa para que eu avalie. flw
  3. Tente postar alguma magia feita por este programa para que eu possa analisar. flw
  4. Tenta ae: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_BIGCLOUDS) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 12) local area = createCombatArea(AREA_CROSS6X6) setCombatArea(combat, area) function onCastSpell(cid, var) if getPlayerSlotItem(cid, 9).itemid == 2123 then doCombat(cid, combat, var) else doPlayerSendCancel(cid,"You must equip the ring first.") end return TRUE end flw
  5. A alavanca para compra de potions: Clique aqui Npc de bless: Clique aqui O delay das runas é em spells.xml. Localize exhaustion="2000" e altere o numero 2000. Lembrando que é sempre em milissegundos, ou seja, multiplique o tempo por 1000. flw
  6. Tente este: function onUse(cid, item, frompos, itemEx, topos) local configTable = { [2346] = {voc = 5, txt = "Apocalypse Sorcerer Promotion"}, [5809] = {voc = 6, txt = "Apocalypse Druid Promotion"}, [6546] = {voc = 7, txt = "Apocalypse Pally Promotion"}, [2350] = {voc = 8, txt = "Apocalypse Knight Promotion"} } if not getPlayerVocation(cid) == configTable[item.itemid].voc then doPlayerSetVocation(cid, getPlayerVocation(cid)+4) doPlayerSendTextMessage(cid, 25, "Congratulations. You have bought the " .. configTable[item.itemid].txt .. ".") else doPlayerSendCancel(cid, "You are already promoted.") end return TRUE end A tag xml é esta: <action itemid="2346;5806;6546;2350" event="script" value="NOME DO SCRIPT.lua"/> flw
  7. O do piso que tira life: function onStepIn(cid, item, pos) if isPlayer(cid) then doCreatureAddHealth(cid, -getCreatureHealth(cid)/2) doSendMagicEffect(getCreaturePosition(cid), 15) end return TRUE end Coloquei para retirar 50% do life atual do jogador, ou seja, se ele tiver 1000, perde 500. Se tiver 100, perde 50. Explique melhor a área de "/r". flw
  8. Se não tem na talkaction, o problema pode estar no distro ( não faço ideia de como mexa ). flw
  9. Creio que terá que editar o distro ou a talkaction ( caso esta tenha uma condição para bloqueio ). flw
  10. joaohd

    [Removido]

    Conteudo proibido. Reportado. flw
  11. Deve ser isso: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED) setCombatParam(combat2, COMBAT_PARAM_AGGRESSIVE, FALSE) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 50) setConditionParam(condition, CONDITION_PARAM_TICKS, 20000) setCombatCondition(combat, condition) local condition2 = createConditionObject(CONDITION_HASTE) setConditionParam(condition2, CONDITION_PARAM_TICKS, 20000) setConditionFormula(condition2, 0.3, -24, 0.3, -24) setCombatCondition(combat2, condition2) function onCastSpell(cid, var) doCombat(cid, combat, var), doCombat(cid, combat2, var) end flw
  12. Muito boa a aula. Recomenda alguma apostila / algo que me ajude a entender mais profundamente? Iniciarei algoritmos no próximo mês e quero aprender um pouco da logica usando o portugol. flw
  13. Falha de comunicação... Script funcionando: function onUse(cid, item, frompos, item2, topos) if item.itemid == 1945 then if getThingfromPos({x=61,y=43,z=7,stackpos=1}).itemid == 9486 then doRemoveItem(getThingfromPos({x=61,y=43,z=7,stackpos=1}).uid, 1) if getThingfromPos({x=60,y=43,z=7,stackpos=1}).itemid == 9486 then doRemoveItem(getThingfromPos({x=60,y=43,z=7,stackpos=1}).uid, 1) if getThingfromPos({x=59,y=43,z=7,stackpos=1}).itemid == 9486 then doRemoveItem(getThingfromPos({x=59,y=43,z=7,stackpos=1}).uid, 1) if getThingfromPos({x=60,y=57,z=7,stackpos=1}).itemid == 9486 then doRemoveItem(getThingfromPos({x=60,y=57,z=7,stackpos=1}).uid, 1) if getThingfromPos({x=61,y=57,z=7,stackpos=1}).itemid == 9486 then doRemoveItem(getThingfromPos({x=61,y=57,z=7,stackpos=1}).uid, 1) if getThingfromPos({x=62,y=57,z=7,stackpos=1}).itemid == 9486 then doRemoveItem(getThingfromPos({x=62,y=57,z=7,stackpos=1}).uid, 1) doTransformItem(item.uid,item.itemid+1) elseif item.itemid == 1946 then doTransformItem(item.uid,item.itemid-1) end end end end end end end return TRUE end Sim, exageradamente enorme. flw
  14. Mande o script do globalevents. O bau que dá xp: function onUse(cid, item, fromPosition, itemEx, toPosition) local config = { storage = 16548, xp = 1500 } if getPlayerStorageValue(cid, config.storage) <= 0 then doPlayerAddExp(cid, config.xp) doPlayerSendTextMessage(cid,25,"Você recebeu " .. tonumber(config.xp) .. " experience points.") setPlayerStorageValue(cid, config.storage, 1) else doPlayerSendCancel(cid, "Você já obteve sua recompensa.") end return TRUE end flw
  15. Entao coloque-os: <action uniqueid="UNIQUE" event="script" value="NOME DO SCRIPT.lua"/> ou <action actionid="ACTION" event="script" value="NOME DO SCRIPT.lua"/> flw
  16. O script que fiz remove apenas 1. Somente edite esta linha: doRemoveItem(getThingfromPos({x=10,y=10,z=7,stackpos=255}).uid, 1) Mudando o valor 1 para qualquer outro que deseje. flw
  17. Aragorn100: function onUse(cid, item, frompos, item2, topos) if getThingfromPos({x=10,y=10,z=7,stackpos=255}).itemid == 9486 then doRemoveItem(getThingfromPos({x=10,y=10,z=7,stackpos=255}).uid, 1) else return false end return TRUE end flw
  18. joaohd

    Lvl Máximo

    Creio que isto seja uma proteção do cliente ou da própria database, uma vez que o número de experiência fica exageradamente grande, causando um bug na interface. flw
  19. Não sei como funciona seu sistema de pet, mas talvez possa tentar ( não darei garantia ). Poste seu script aqui e verificarei. flw
  20. Tente isso: <globalevent name="TeleMsg" interval="2" event="script" value="teleport.lua"/> flw
  21. O primeiro é action: <action itemid="ID DO ITEM" event="script" value="NOME DO SCRIPT.lua"/> O segundo e terceiro são movements. <movement type="Equip" itemid="ID DO ITEM" slot="SLOT" event="script" value="NOME DO SCRIPT.lua"/> <movemetn type="DeEquip" itemid="ID DO ITEM" event="script" value="NOME DO SCRIPT.lua"/> flw
  22. Eu fiz os 3 primeiros. (não testei, possivel bug no 3º) Primeiro: function onUse(cid, item, fromPosition, itemEx, toPosition) if isInArray({1,2,3,4}, getPlayerVocation(cid)) then doPlayerSetVocation(cid,getPlayerVocation(cid)+4) doPlayerSendTextMessage(cid,25,"Congratulations. Now you are a promoted player.") doRemoveItem(item.uid, 1) else doPlayerSendCancel(cid, "You are already promoted.") end return TRUE end Segundo: local condition1 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition1, CONDITION_PARAM_TICKS, -1) setConditionParam(condition1, CONDITION_PARAM_STAT_MAXHEALTH, 150) setConditionParam(condition1, CONDITION_PARAM_STAT_MAXMANA, 150) setConditionParam(condition1, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 150) function onEquip(cid, item, slot) if not getCreatureCondition(cid, CONDITION_ATTRIBUTES) then doAddCondition(cid, condition1) else doPlayerSendCancel(cid, "You already have equiped this item.") return FALSE end return TRUE end function onDeEquip(cid, item, slot) if getCreatureCondition(cid, CONDITION_ATTRIBUTES) then doRemoveCondition(cid, CONDITION_ATTRIBUTES) else return TRUE end return TRUE end Terceiro: local function doSendText(cid, text, color) if type(text) == "string" then doSendAnimatedText(getCreaturePosition(cid), text, color) end return addEvent(doSendText, 15*1000, cid, text, color) end function onEquip(cid, item, slot) return addEvent(doSendText, 15*1000, cid, "Oi", 20) end function onDeEquip(cid, item, slot) return stopEvent(doSendText) end flw
  23. Substitua por este: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, 2 * 60 * 1000) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, -10) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat2, COMBAT_PARAM_AGGRESSIVE, FALSE) local condition2 = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition2, CONDITION_PARAM_SUBID, 2) setConditionParam(condition2, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition2, CONDITION_PARAM_TICKS, 2 * 60 * 1000) setConditionParam(condition2, CONDITION_PARAM_HEALTHGAIN, 25) setConditionParam(condition2, CONDITION_PARAM_HEALTHTICKS, 1500) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat3, COMBAT_PARAM_AGGRESSIVE, FALSE) local condition3 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition3, CONDITION_PARAM_SUBID, 3) setConditionParam(condition3, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition3, CONDITION_PARAM_TICKS, 2 * 60 * 1000) setConditionParam(condition3, CONDITION_PARAM_STAT_MAGICLEVEL, 2) function onCastSpell(cid, var,param) pos = getCreaturePosition(cid) local mana = 400 if getPlayerMana(cid) < mana then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTENOUGHMANA) doSendMagicEffect(pos, CONST_ME_POFF) return LUA_ERROR end if(doCombat(cid, combat, var) ~= LUA_NO_ERROR) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) doSendMagicEffect(pos, CONST_ME_POFF) return LUA_ERROR end doSetCreatureOutfit(cid,{lookType = 16, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet, lookAddons = getCreatureOutfit(cid).lookAddons},2 * 60 * 1000) doAddCondition(cid, condition) if param == bixos[1] then end doAddCondition(cid, condition2) doAddCondition(cid, condition3) doCreatureAddMana(cid, -mana, FALSE) doPlayerAddSpentMana(cid, mana) return LUA_NO_ERROR end flw
  24. Nicekid, caso o jogador esteja online, haverá algum possível bug? flw
  25. NatsuMcDonald, seria isso? local conditionPox = createConditionObject(CONDITION_POISON) addDamageCondition(conditionPox, 150, 2000, -15) function onStepIn(cid, item, pos) return doSendDistanceShoot({x=pos.x-5,y=pos.y,z=pos.z}, pos , 12), doCreatureAddHealth(cid, -150), doSendDistanceShoot({x=pos.x+5,y=pos.y,z=pos.z}, pos , 12), doCreatureAddHealth(cid, -150), doAddCondition(cid, conditionPox) end flw
  • Quem Está Navegando   0 membros estão online

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