jhon992 371 Postado Dezembro 14, 2011 Share Postado Dezembro 14, 2011 (editado) Vi que no fórum de dúvidas varias pessoas perguntam como fazer para Weapons darem Paralyze, então resolvi criar o Weapon Paralyze! O script é de fácil entendimento e qualquer um pode editar facilmente, vai ser possível adicionar mais weapons, regular a chance de ocorrer o paralyze entre outras configurações. ------------------------------------------------------------------------------------------------------------------------------- Vamos ao que interessa, abra a pasta "data/creaturescripts/scripts" duplique um arquivo qualquer e renomeie para "weaponpar" sem as aspas e nele cole: -- <Script by jhon992> -- local weaponpar = {2377, 2378, 2379, 2380} -- id dos items que darão paralize local chancepar = 5 -- chance de ocorrer o paralize (10 = 10%, 20 = 20%, 30 = 30%, 1 = 1%, 5 = 5%) e assim por diante local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) -- aqui edita os valores pro dano de paralize, vai mudando ae e testando até achar o desejado local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) -- aqui vai o tempo de paralyze, 1000 = 1 segundo setConditionParam(condition, CONDITION_PARAM_SPEED, -400) -- velocidade que o monstro irá perder setConditionFormula(condition, 0, 0, 0, 0) setCombatCondition(combat, condition) function onAttack(cid, target) if ((getCreaturePosition(target).x == getCreaturePosition(cid).x or getCreaturePosition(target).x == getCreaturePosition(cid).x+1 or getCreaturePosition(target).x == getCreaturePosition(cid).x-1) and (getCreaturePosition(target).y == getCreaturePosition(cid).y or getCreaturePosition(target).y == getCreaturePosition(cid).y+1 or getCreaturePosition(target).y == getCreaturePosition(cid).y-1)) then for i=0, #weaponpar do if (getPlayerSlotItem(cid, 5).itemid == weaponpar[i] or getPlayerSlotItem(cid, 6).itemid == weaponpar[i]) then if (math.random(1,100) > (100 - chancepar)) then doPlayerSendTextMessage(cid, 23, getCreatureName(target).." has paralized.") doAddCondition(target, condition) return true else return true end end end end return true end Agora no arquivo, "data/creaturescripts/creaturescripts.xml" cole a tag: <event type="attack" name="WeaponPar" event="script" value="weaponpar.lua"/> E por último, abra o arquivo login.lua que esta localizado em "data/creaturescripts/scripts" e cole a tag: registerCreatureEvent(cid, "WeaponPar") Pronto, terminamos o Weapon Paralyze! Se tiverem alguma dúvida ou aparecer algum erro inesperado só me falar. Editado Dezembro 14, 2011 por Jhon992 Link para o comentário https://xtibia.com/forum/topic/175370-creaturescript-weapons-paralyze/ Compartilhar em outros sites More sharing options...
SkyDangerous 395 Postado Dezembro 15, 2011 Share Postado Dezembro 15, 2011 Wow. Bem legal, curti parabéns ;D Link para o comentário https://xtibia.com/forum/topic/175370-creaturescript-weapons-paralyze/#findComment-1153322 Compartilhar em outros sites More sharing options...
Alezzo 0 Postado Dezembro 17, 2011 Share Postado Dezembro 17, 2011 mas o Cara, eu posso colocar outro atributo nela, tipo Dano Ice ou Fire ? Link para o comentário https://xtibia.com/forum/topic/175370-creaturescript-weapons-paralyze/#findComment-1154966 Compartilhar em outros sites More sharing options...
Nyco 47 Postado Dezembro 17, 2011 Share Postado Dezembro 17, 2011 lol deve ser nice atakar um cara e ficar paralizando Link para o comentário https://xtibia.com/forum/topic/175370-creaturescript-weapons-paralyze/#findComment-1154970 Compartilhar em outros sites More sharing options...
jhon992 371 Postado Dezembro 17, 2011 Autor Share Postado Dezembro 17, 2011 mas o Cara, eu posso colocar outro atributo nela, tipo Dano Ice ou Fire ? Sóh adicionar mais conditions antes da função onAttack Fire: local condition = createConditionObject(CONDITION_FIRE) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) -- aqui vai o tempo de fire, 1000 = 1 segundo setConditionFormula(condition, 0, 0, 0, 0) setCombatCondition(combat, condition) Ice: local condition = createConditionObject(CONDITION_FREEZING) setConditionParam(condition, CONDITION_PARAM_TICKS, 10000) -- aqui vai o tempo de fire, 1000 = 1 segundo setConditionFormula(condition, 0, 0, 0, 0) setCombatCondition(combat, condition) Lista de Conditions: CONDITION_NONE = 0 CONDITION_POISON = 1 CONDITION_FIRE = 2 CONDITION_ENERGY = 4 CONDITION_PHYSICAL = 8 CONDITION_HASTE = 16 CONDITION_PARALYZE = 32 CONDITION_OUTFIT = 64 CONDITION_INVISIBLE = 128 CONDITION_LIGHT = 256 CONDITION_MANASHIELD = 512 CONDITION_INFIGHT = 1024 CONDITION_DRUNK = 2048 CONDITION_EXHAUST = 4096 CONDITION_FOOD = 8192 CONDITION_REGENERATION = 8192 CONDITION_SOUL = 16384 CONDITION_DROWN = 32768 CONDITION_MUTED = 65536 CONDITION_ATTRIBUTES = 131072 CONDITION_FREEZING = 262144 CONDITION_DAZZLED = 524288 CONDITION_CURSED = 1048576 CONDITION_PACIFIED = 2097152 CONDITION_GAMEMASTER = 4194304 CONDITION_HUNTING = 8388608 Link para o comentário https://xtibia.com/forum/topic/175370-creaturescript-weapons-paralyze/#findComment-1155112 Compartilhar em outros sites More sharing options...
Alezzo 0 Postado Dezembro 18, 2011 Share Postado Dezembro 18, 2011 vlw , Rep ++ estava com duvida aeew ao colocar o condition Link para o comentário https://xtibia.com/forum/topic/175370-creaturescript-weapons-paralyze/#findComment-1155643 Compartilhar em outros sites More sharing options...
nari 1 Postado Dezembro 22, 2011 Share Postado Dezembro 22, 2011 mas ai a paralyze vai ser mandada de longe ou so de perto? Link para o comentário https://xtibia.com/forum/topic/175370-creaturescript-weapons-paralyze/#findComment-1158616 Compartilhar em outros sites More sharing options...
jhon992 371 Postado Dezembro 22, 2011 Autor Share Postado Dezembro 22, 2011 (editado) mas ai a paralyze vai ser mandada de longe ou so de perto? Sóh de perto, tem uma linha de código que verifica se tu ta a menos de 1 sqm de distancia de seu oponente, se tiver mais distante n usa o paralize. Linha: if ((getCreaturePosition(target).x == getCreaturePosition(cid).x or getCreaturePosition(target).x == getCreaturePosition(cid).x+1 or getCreaturePosition(target).x == getCreaturePosition(cid).x-1) and (getCreaturePosition(target).y == getCreaturePosition(cid).y or getCreaturePosition(target).y == getCreaturePosition(cid).y+1 or getCreaturePosition(target).y == getCreaturePosition(cid).y-1)) then Editado Dezembro 22, 2011 por Jhon992 Link para o comentário https://xtibia.com/forum/topic/175370-creaturescript-weapons-paralyze/#findComment-1158882 Compartilhar em outros sites More sharing options...
nari 1 Postado Dezembro 23, 2011 Share Postado Dezembro 23, 2011 ah sim, obrigado Link para o comentário https://xtibia.com/forum/topic/175370-creaturescript-weapons-paralyze/#findComment-1159104 Compartilhar em outros sites More sharing options...
Posts Recomendados