Histórico de Curtidas
-
Kranxz deu reputação a xWhiteWolf em Dash.Uma magia que solta um dash, que é controlado ao mudar a direção que você está olhando (ctrl + seta)
~~~~Script baseado no AvaOT/Korelin
dash.lua
-- dash as it was in avaOT by Night Wolf local damage = 20 -- dano que toma qnd bate em algum obstáculo local speed = 910 -- velocidade do player ao usar o dash (vai de 0 a mil) local pzprotect = true -- nao deixa entrar em pz com a spell local distance = 15 -- quantos sqms anda local function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function onWalk(cid) if isCreature(cid) then local poslook = getCreatureLookPosition(cid) poslook.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE if isWalkable(poslook, false, false, pzprotect) then if not isCreature(getThingfromPos(poslook).uid) then doMoveCreature(cid, getPlayerLookDirection(cid)) doSendMagicEffect(getPlayerPosition(cid), 14) else doCreatureAddHealth(cid, -damage) doSendMagicEffect(getPlayerPosition(cid), 31) doSendAnimatedText(getPlayerPosition(cid), "-"..damage , 180) end else doCreatureAddHealth(cid, -damage) doSendMagicEffect(getPlayerPosition(cid), 31) doSendAnimatedText(getPlayerPosition(cid), "-"..damage , 180) end end return true end function onCastSpell(cid, var) for i = 0, distance do addEvent(onWalk, (1001- math.min(speed, 1000)) *i, cid) end return true end no começo você edita o dano que recebe ao bater num obstáculo e aqui
local distance = 15 você configura a distancia máxima que o player percorre antes do dash acabar.
no Spells.xml você adiciona essa tag aqui
<instant name="Dash" words="utani dash hur" direction="1" lvl="100" mana="200" prem="1" exhaustion="7000" event="script" value="dash.lua"> <vocation id="7"/> <vocation id="6"/> <vocation id="5"/> </instant> EDIT:: ALGUMAS IMAGENS
-
Kranxz deu reputação a xWhiteWolf em (Resolvido)Bônus no Conjunto de itensadorei a ideia mas não sei ao certo como fazer.. vou tentar aqui e te dou um feedback dos meus avanços. Ao que o jeito seria criar uma condition que desse o atributo a mais em questão e fazer um creaturescripts q se tivesse com o set adicionaria a condition.. como se fosse uma magia mesmo
-
Kranxz deu reputação a xWhiteWolf em (Resolvido)Bônus no Conjunto de itenssegue essa lógica:
movements\scripts\set.lua:
-- NW SET SYSTEM local config = { slot1 = 4, slot2 = 8, item1 = 8889, item2 = 11234 } local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, -1) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 50) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 50) function onEquip(cid, item, slot) if getPlayerSlotItem(cid, config.slot2).itemid == config.item2 and getPlayerSlotItem(cid, config.slot1).itemid == config.item1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Now that you're using the full set you'll receive a special bonus...") doAddCondition(cid, condition) doSendMagicEffect(getCreaturePos(cid), 10) end return true end function onDeEquip(cid, item, slot) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You're no longer receiving the special bonus..") doRemoveCondition(cid, CONDITION_ATTRIBUTES) return true end movements.xml
<!-- Set Items --> <movevent type="Equip" itemid="11234" slot="feet" event="script" value="set.lua"/> <movevent type="Equip" itemid="8889" slot="armor" event="script" value="set.lua"/> <movevent type="DeEquip" itemid="11234" slot="feet" event="script" value="set.lua"/> <movevent type="DeEquip" itemid="8889" slot="armor" event="script" value="set.lua"/> -
Kranxz deu reputação a xWhiteWolf em Experience Weapon SystemEai galera, hoje eu to trazendo pra vocês o meu Experience Weapon System. Pra quem não conhece é um sistema em que conforme você vai matando os monstros sua arma vai adquirindo parte da experiencia e upando de nível junto com você!
Eu abri um tópico pra sugestões mas os players foram tão criativos que eu decidi seguir meus instintos e fazer da minha própria maneira se não ia ficar muito ruim pra servers que não fossem derivados.
Testado em TFS 0.3.6 mas deve funcionar em qualquer um que tenha getThing(Pos) e onAttack e onKill ;]
Foi decidido por mim então fazer da seguinte maneira:
• Axes/ Swords/ Bows/ Crossbows:
Tem 5% de chance (pra cada nivel) de ferir gravemente o oponente e deixar ele sangrando, o nível do ferimento é proporcional ao nível da arma.
• Clubs:
Tem 5% de chance (pra cada nivel) de bater com tanta força que faça todos ao redor sentirem o tremor do seu ataque e levarem um dano baseado no nivel da arma e no ataque da mesma.
• Wands/ Rods:
Tem 5% de chance (pra cada nivel) de retirar uma quantidade de mana do player (proporcional ao nivel da arma) e ficar recuperando mana mais rapidamente durante 5 segundos após isso
Dito isso vamos ao que interessa:
Adiciona essas duas linhas no seu creaturescripts.xml:
<event type="kill" name="itemexp" script="itemexp.lua"/> <event type="attack" name="conditionitem" script="conditionitem.lua"/> e no login.lua:
--------------- Experience System ---------------- registerCreatureEvent(cid,"itemexp") registerCreatureEvent(cid,"conditionitem") Agora crie um arquivo em data\lib\ chamado 037 - Experience System.lua e coloque isso dentro dele:
Feito isso crie um arquivo em creaturescripts\scripts chamado itemexp.lua e adicione isso daqui:
Agora crie outro arquivo em creaturescripts\scripts, adicione isso daqui nele e chame de conditionitem.lua:
Agora configurando:
Bom, é isso aí, a minha idéia era trazer um pouco a mais de RPG e fazer o pessoal pensar 2x antes de sair trocando suas armas pela primeira que ele dropa que tenha + ataque que a dele pois assim ele passa a ter que valorizar mais os itens que já possui a um bom tempo;
Outro motivo é que agora os items vão valer mais e agora seu server vai ter mais movimento nas trocas ;]
Espero que tenham gostado e qualquer coisa é só falar nos comentários. Abraço do lobinho.
Ps: aqui tem duas fotinhas mas o resto só instalando mesmo porque tem bastante coisa pra mostrar.
E lembrando, se te ajudei clica em Gostei aqui embaixo. Fuis