-
Total de itens
138 -
Registro em
-
Última visita
Posts postados por lukas13on
-
-
Bom dia venho apresentar a você uma versão de sistema de
mineração melhorada por mim espero que gostem:
-Sistema : Usar item X em item Y gerando item Z = X+Y=7<%
- Npc : Troca item X+Quantidade por Item Z+Quantidade < Money
Mineração
Script:
function onUse(cid, item, frompos, item2, topos)
Level = getPlayerLevel(cid)
AxeSkill = getPlayerSkill(cid,1)
if item2.actionid == 6786 and
Level >= 10
and
AxeSkill >= 10
then
rand = math.random(1,2000)
if rand < 20 then
doPlayerSendTextMessage(cid,22,"Um stone golem apareceu apartir da pilha de rochas!")
doSummonCreature("Stone Golem", topos)
elseif rand == 1300 then
doPlayerSendTextMessage(cid,22,"Voce achou um golden nugget.")
doPlayerAddItem(cid,2157,1)
elseif rand > 1995 then
doPlayerSendTextMessage(cid,22,"Voce achou uma diamond.")
doPlayerAddItem(cid,2145,1)
elseif rand >500 and rand <800 then
doPlayerAddItem(cid,2148,7)
elseif rand >700 and rand <1000 then
doPlayerSendTextMessage(cid,22,"Voce achou um Iron Ore.")
doPlayerAddItem(cid,5880,1)
elseif rand >1000 and rand <1300 then
doPlayerSendTextMessage(cid,22,"Voce achou uma Pearl.")
doPlayerAddItem(cid,2143,1)
elseif rand >300 and rand <600 then
doPlayerSendTextMessage(cid,22,"Voce achou um Crystal Piece.")
doPlayerAddItem(cid,8300,1)
elseif rand >1500 and rand <1800 then
doPlayerSendTextMessage(cid,22,"Voce achou um Rare Crystal.")
doPlayerAddItem(cid,10613,1)
elseif rand >1100 and rand <1400 then
doPlayerAddItem(cid,2148,8)
elseif rand >800 and rand <1100 then
doPlayerAddHealth(cid,-20)
doPlayerSendTextMessage(cid,22,"Voce perdeu pontos de vida pela exaustion da mineracao.")
elseif rand >500 and rand <800 then
doPlayerSendTextMessage(cid,22,"Voce achou um Ruby.")
doPlayerAddItem(cid,2147,1)
elseif rand >550 and rand <800 then
doPlayerSendTextMessage(cid,22,"Um Dwarf feroz apareceu apartir da pilha de rochas!")
doSummonCreature("Dwarf", topos)
elseif rand == 40 then
doPlayerSendTextMessage(cid,22,"Um Dwarf Guard feroz apareceu apartir da pilha de rochas!")
doSummonCreature("Dwarf Guard", topos)
elseif rand == 20 then
doPlayerSendTextMessage(cid,22,"Um Troll fraco apareceu apartir da pilha de rochas!")
doSummonCreature("Troll", topos)
elseif rand >2000 then
doPlayerSendTextMessage(cid,22,"Earthquake!")
doPlayerAddHealth(cid,-100)
elseif rand == 100 and rand <140 then
doPlayerSendTextMessage(cid,22,"Um Troll fraco apareceu apartir da pilha de rochas!")
doSummonCreature("Troll", topos)
elseif rand == 200 then
doPlayerSendTextMessage(cid,22,"Um Dwarf Soldier apareceu apartir da pilha de rochas!")
doSummonCreature("Dwarf Soldier", topos)
elseif rand >= 105 and rand <150 then
end
doSendMagicEffect(topos,3)
doPlayerAddSkillTry(cid,1,0)
doPlayerSay(cid,"Mining!",1)
else
doPlayerSendCancel(cid,"Voce nao esta minerando no lugar correto, ou nao tem level minimo.")
end
return 1
end
Actions.XML :
<action itemid="2553" event="script" value="mining.lua"/>
Npc:
Script:
local focus = 0
local talk_start = 0
local target = 0
local following = false
local attacking = false
function onThingMove(creature, thing, oldpos, oldstackpos)
end
function onCreatureAppear(creature)
end
function onCreatureDisappear(cid, pos)
if focus == cid then
selfSay('Good bye then.')
focus = 0
talk_start = 0
end
end
function onCreatureTurn(creature)
end
function msgcontains(txt, str)
return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end
function onCreatureSay(cid, type, msg)
msg = string.lower(msg)
if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
selfSay('Hello ' .. getCreatureName(cid) .. '! Eu posso fazer barras de ouro por 10 Crystal Coins).')
focus = cid
talk_start = os.clock()
elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
selfSay('Wait you time, ' .. getCreatureName(cid) .. '!')
elseif focus == cid then
talk_start = os.clock()
if msgcontains(msg, 'gold') or msgcontains(msg, 'gold ingot')then
if getPlayerItemCount(cid,2157) >= 1 and getPlayerItemCount(cid,2152) >= 100 or getPlayerItemCount(cid,2157) >= 1 and getPlayerItemCount(cid,2160) >= 1 then
selfSay('Here you are.')
doPlayerAddItem(cid,9971,1)
if doPlayerTakeItem(cid,2157,1) and doPlayerTakeItem(cid,2152,100) == 0 or doPlayerTakeItem(cid,2157,1) and doPlayerTakeItem(cid,2160,1) == 0 then
end
else
selfSay('Desculpa, você nao tem o item necessario.')
end
elseif msgcontains(msg, 'bye') and getDistanceTo(cid) < 4 then
selfSay('Good bye, ' .. getCreatureName(cid) .. '!')
focus = 0
talk_start = 0
end
end
end
function onCreatureChangeOutfit(creature)
end
function onThink()
if (os.clock() - talk_start) > 30 then
if focus > 0 then
selfSay('Next Please...')
end
focus = 0
end
if focus ~= 0 then
if getDistanceToCreature(focus) > 5 then
selfSay('Good bye then.')
focus = 0
end
end
end
NPC.xml
<npc name="Yenous" script="data/npc/scripts/goldingot.lua" access="5" lookdir="1">
<health now="1000" max="1000"/>
<look type="194" head="95" body="76" legs="95" feet="76" addons="3"/>
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|. I've been working hard these days in this project, I can now repair your dear friend {soft boots}." />
</parameters>
</npc> -
Strikes
Terra element:
efeitos de um exori tera e um "exevo gran mas tera"
Script:
(combinado os efeito de exori tera + exevo gran mas tera)
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_PLANTATTACK) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0) local distanceCombat = createCombatObject() setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(distanceCombat, COMBAT_PARAM_EFFECT, CONST_ME_PLANTATTACK) setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_EARTH) setCombatFormula(distanceCombat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0) function onCastSpell(cid, var) if(variantToNumber(var) ~= 0) then return doCombat(cid, distanceCombat, var) end return doCombat(cid, combat, var) end
Spells.xml
<instant name="tera divine" words="tera divine" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/tera divine.lua"> <vocation id="1"> <vocation id="2"> <vocation id="5"> <vocation id="3"> <vocation id="7"> <vocation id="6"> <vocation id="4"> <vocation id="8"> </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>
Screenshot
(Obs:no game fica mais lindo .-.)
ataques tera feios nunca mais 'o'
maldito screenshot n mostra os efeitos ' kkkk
Ice element:
Combinados efeito de Avalanche + Exori frigo = Orgasmos nerd
Script:
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0) local distanceCombat = createCombatObject() setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(distanceCombat, COMBAT_PARAM_EFFECT, CONST_ME_ICEAREA) setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ICE) setCombatFormula(distanceCombat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0) function onCastSpell(cid, var) if(variantToNumber(var) ~= 0) then return doCombat(cid, distanceCombat, var) end return doCombat(cid, combat, var) end
Spells.xml
<instant name="ice divine" words="ice divine" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/ice divine.lua"> <vocation id="1"> <vocation id="2"> <vocation id="5"> <vocation id="3"> <vocation id="7"> <vocation id="6"> <vocation id="4"> <vocation id="8"> </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>
Screenshot
(Obs:no game fica mais lindo .-.)
Energy Element
efeitos de um exori vis com energy beam
Script:
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGYBALL) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1.3, -30, -1.8, 0) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
Spells.xml
<instant name="divine vis" words="divine vis" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/divine vis.lua"> <vocation id="1"> <vocation id="2"> <vocation id="5"> <vocation id="3"> <vocation id="7"> <vocation id="6"> <vocation id="4"> <vocation id="8"> </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>
Screenshot
(Obs:no game fica mais lindo .-.)
Fire Element
efeitos de um "exevo gran mas flam" com exori flam
Script:
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0) local distanceCombat = createCombatObject() setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(distanceCombat, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) setCombatFormula(distanceCombat, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0) function onCastSpell(cid, var) if(variantToNumber(var) ~= 0) then return doCombat(cid, distanceCombat, var) end return doCombat(cid, combat, var) end
Spells.xml
<instant name="fire divine" words="fire divine" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/fire divine.lua"> <vocation id="1"> <vocation id="2"> <vocation id="5"> <vocation id="3"> <vocation id="7"> <vocation id="6"> <vocation id="4"> <vocation id="8"> </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>
Screenshot
(Obs:no game fica mais lindo .-.)
AoE
Groundshock
Script:
local combatx = createCombatObject() local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_EFFECT, 255) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 37) setCombatFormula(combat1, COMBAT_FORMULA_SKILL, -1.0, -1, -1, -1) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 48) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1.3, -30, -1.6, 0) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 49) local arr1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 0, 3, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local arr2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local arr3 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local areax = createCombatArea(arr1) setCombatArea(combatx, area1) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) function onTargetTile(cid, pos) doCombat(cid,combat1,positionToVariant(pos)) end setCombatCallback(combatx, CALLBACK_PARAM_TARGETTILE, "onTargetTile") local function onCastSpell1(parameters) doCombat(parameters.cid, combatx, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, combat3, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 300, parameters) addEvent(onCastSpell2, 100, parameters) addEvent(onCastSpell3, 80, parameters) end
SpellsXML:
<instant name="groundshock" words="groundshock" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/groundshock.lua"> <vocation id="1"> <vocation id="2"> <vocation id="5"> <vocation id="3"> <vocation id="7"> <vocation id="6"> <vocation id="4"> <vocation id="8"> </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>
ScreenShot:
Como vocês sabem screenshot não mostra spell ;o
Death Aoe*new
Script:
local combatx = createCombatObject() local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_EFFECT, 255) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 31) setCombatFormula(combat1, COMBAT_FORMULA_SKILL, -1.0, -1, -1, -1) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 17) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 1.0, 0, -1.3, 0) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 38) local arr1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local arr2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local arr3 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local areax = createCombatArea(arr1) setCombatArea(combatx, area1) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) function onTargetTile(cid, pos) doCombat(cid,combat1,positionToVariant(pos)) end setCombatCallback(combatx, CALLBACK_PARAM_TARGETTILE, "onTargetTile") local function onCastSpell1(parameters) doCombat(parameters.cid, combatx, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, combat3, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 300, parameters) addEvent(onCastSpell2, 100, parameters) addEvent(onCastSpell3, 80, parameters) end
Spells.XML
<instant name="death aoe" words="death aoe" lvl="15" mana="99999999" prem="0" range="7" casterTargetOrDirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="hpspells/death aoe.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="3"/> <vocation id="7"/> <vocation id="6"/> <vocation id="4"/> <vocation id="8"/> </instant>
Screenshot
Like a Ninja
Script:
local combatx = createCombatObject() local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_EFFECT, 255) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 7) setCombatFormula(combat1, COMBAT_FORMULA_SKILL, -1.0, -1, -1, -1) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 34) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 1.0, 0, -1.3, 0) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 44) local arr1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local arr2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local arr3 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local areax = createCombatArea(arr1) setCombatArea(combatx, area1) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) function onTargetTile(cid, pos) doCombat(cid,combat1,positionToVariant(pos)) end setCombatCallback(combatx, CALLBACK_PARAM_TARGETTILE, "onTargetTile") local function onCastSpell1(parameters) doCombat(parameters.cid, combatx, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, combat3, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 300, parameters) addEvent(onCastSpell2, 100, parameters) addEvent(onCastSpell3, 80, parameters) end
SpellsXML:
<instant name="like ninja" words="like ninja" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/like ninja.lua"> <vocation id="1"> <vocation id="2"> <vocation id="5"> <vocation id="3"> <vocation id="7"> <vocation id="6"> <vocation id="4"> <vocation id="8"> </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>
ScreenShot:
Como vocês sabem screenshot não mostra spell ;o
Essa spell é realmente linda eu tive 5 orgasmos simultâneos.
sabe porque? porque são 5 ataques simultâneos isso mesmo,
o ataque está super balanceado, é um pouquinho mais forte que o
eternal winter (exevo gran mas frigo). espero que gostem
Avalon strength
Script:
local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 28) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECTT, 29) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 35) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0) local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 41) setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0) local combat5 = createCombatObject() setCombatParam(combat5, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat5, COMBAT_PARAM_EFFECT, 52) setCombatFormula(combat5, COMBAT_FORMULA_LEVELMAGIC, -0.4, 0, -0.5, 0) arr1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr3 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr4 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } arr5 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local area4 = createCombatArea(arr4) local area5 = createCombatArea(arr5) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) setCombatArea(combat4, area4) setCombatArea(combat5, area5) local function onCastSpell1(parameters) doCombat(parameters.cid, parameters.combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, parameters.combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, parameters.combat3, parameters.var) end local function onCastSpell4(parameters) doCombat(parameters.cid, parameters.combat4, parameters.var) end local function onCastSpell5(parameters) doCombat(parameters.cid, parameters.combat5, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var, combat1 = combat1, combat2 = combat2, combat3 = combat3, combat4 = combat4, combat5 = combat5 } addEvent(onCastSpell1, 100, parameters) addEvent(onCastSpell2, 200, parameters) addEvent(onCastSpell3, 300, parameters) addEvent(onCastSpell4, 400, parameters) addEvent(onCastSpell5, 500, parameters) return TRUE end
SpellsXML:
<instant name="Avalon strength" words="Avalon strength" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/Avalon strength.lua"> <vocation id="1"> <vocation id="2"> <vocation id="5"> <vocation id="3"> <vocation id="7"> <vocation id="6"> <vocation id="4"> <vocation id="8"> </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>
ScreenShot:
Obs: vocês ja sabem que a spell é mto mais linda no game =)
dessa vez em gif
Stronderwave
Script:
local combatx = createCombatObject() local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_EFFECT, 255) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 33) setCombatFormula(combat1, COMBAT_FORMULA_SKILL, -1.0, -1, -1, -1) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 5) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, 1.0, 0, -1.3, 0) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 6) local arr1 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local arr2 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 3, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local arr3 = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) local area3 = createCombatArea(arr3) local areax = createCombatArea(arr1) setCombatArea(combatx, area1) setCombatArea(combat1, area1) setCombatArea(combat2, area2) setCombatArea(combat3, area3) function onTargetTile(cid, pos) doCombat(cid,combat1,positionToVariant(pos)) end setCombatCallback(combatx, CALLBACK_PARAM_TARGETTILE, "onTargetTile") local function onCastSpell1(parameters) doCombat(parameters.cid, combatx, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, combat3, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} addEvent(onCastSpell1, 300, parameters) addEvent(onCastSpell2, 100, parameters) addEvent(onCastSpell3, 80, parameters) end
SpellsXML:
<instant name="exevo pala hur" words="exevo pala hur" lvl="15" mana="99999999" prem="0" range="7" castertargetordirection="1" blockwalls="0" exhaustion="2000" needlearn="0" event="script" value="attack/exevo pala hur.lua"> <vocation id="1"> <vocation id="2"> <vocation id="5"> <vocation id="3"> <vocation id="7"> <vocation id="6"> <vocation id="4"> <vocation id="8"> </vocation></vocation></vocation></vocation></vocation></vocation></vocation></vocation></instant>
ScreenShot:
Como vocês sabem screenshot não mostra spell ;o
-
Area errada , Reportado.
-
nossa .-. coloca mais spell pra criatura, server de high exp vc joga pra ver os efeito e não male attack
kkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
-
Por favor meu jovem, quando eu tinha sua idade já sabia pronunciar os nome certos em inglês, e quando vc fala "Aquitions"
vc se diminui.
-
kkkkkkkkkkkkkkkkkk vey na nice, esse laucher vc pego do WYD 'kkkkkkkkkkkkkkkkkkkkkkkkkk
-
Fico quase perfeito , apenas tirar a ponte arruma o bug que tem uma parte negra
em branco perto da ponte. e aquela plantinha de 2 floors troca ela por um arbusto.
Feito isso perfect '-'
-
ja tentei isso, não cola no meu server.
-
tem como melhorar, você tem que saber combinar
as effects, com coordenação exemplo tente esse:
veja como fico diferente, usei seu script so mudei effect e cordenadas.
script:
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 52) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 7, 12) local arr = { {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 2, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
-
-
*Por favor se for responder, leia tudo antes*
Função:
Quando usado Item X em cima do Item Y
a cada refinação terá 40% de sucesso
e 60% de falha, O maximo de Refinação é +9.
e não pode sumir o status alterado quando logar,
ou quando der save server, permanente.
Fará
item weapons:
Addextra_attack = 2, Addextra_def = 2,
Items armor,legs,helmet:
Add_armor = 2
items boots:
Add_Speed = 2
items Shield:
Add_Shield = 2
items Wand,Staff
Add_deff=3
Effect Quando sucesso
Effectoncreature= 53
Effect Quando Fail
Effectoncreature= 2
-
-
se ele não aparece então o erro é com você
pois a script ta certinha.
-
ja conseguimos
-------------------------
Reportado para moverem, Sanado
-
O que essa script faz?
Ele informa para quem o player morreu e em que level.
local config = { deathAssistCount = getConfigValue('deathAssistCount') + 1, maxDeathRecords = getConfigValue('maxDeathRecords'), limit = "" } if(config.deathAssistCount > 0) then config.limit = " LIMIT 0, " .. config.deathAssistCount end function onSay(cid, words, param, channel) local target = db.getResult("SELECT `name`, `id` FROM `players` WHERE `name` = " .. db.escapeString(param) .. ";") if(target:getID() == -1) then doPlayerSendCancel(cid, "A player with that name does not exist.") return true end local targetName, targetId = target:getDataString("name"), target:getDataInt("id") target:free() local str, deaths = "", db.getResult("SELECT `id`, `date`, `level` FROM `player_deaths` WHERE `player_id` = " .. targetId .." ORDER BY `date` DESC LIMIT 0, " .. config.maxDeathRecords) if(deaths:getID() ~= -1) then repeat local killers = db.getResult("SELECT environment_killers.name AS monster_name, players.name AS player_name FROM killers LEFT JOIN environment_killers ON killers.id = environment_killers.kill_id LEFT JOIN player_killers ON killers.id = player_killers.kill_id LEFT JOIN players ON players.id = player_killers.player_id WHERE killers.death_id = " .. deaths:getDataInt("id") .. " ORDER BY killers.final_hit DESC, killers.id ASC" .. config.limit) if(killers:getID() ~= -1) then if(str ~= "") then str = str .. "\n" .. os.date("%d %B %Y %X ", deaths:getDataLong("date")) else str = os.date("%d %B %Y %X ", deaths:getDataLong("date")) end local count, i = killers:getRows(false), 0 repeat local monster = killers:getDataString("monster_name") if(i == 0 or i == (count - 1)) then monster = string.gsub(monster:gsub("an ", ""), "a ", "") end if(killers:getDataString("player_name") ~= "") then if(i == 0) then str = str .. "Killed at level " .. deaths:getDataInt("level") .. " by:\n " elseif(i == count) then str = str .. " and by " elseif(i % 4 == 0) then str = str .. ",\n " else str = str .. ", " end if(monster ~= "") then str = str .. monster .. " summoned by " end str = str .. killers:getDataString("player_name") else if(i == 0) then str = str .. "Died at level " .. deaths:getDataInt("level") .. " by:\n " elseif(i == count) then str = str .. " and by " elseif(i % 4 == 0) then str = str .. ",\n " else str = str .. ", " end str = str .. monster end i = i + 1 if(i == count) then str = str .. "." end until not(killers:next()) killers:free() end until not(deaths:next()) deaths:free() else str = "No deaths recorded." end doPlayerPopupFYI(cid, "Deathlist for player: " .. targetName .. ".\n\n" .. str) return true end
TALKACTIONS.XML
<talkaction words="!deathlist" event="script" value="deathlist.lua"/>
-
tenta agora
-
Aqui está
-- SCRIPT FEITO POR YUNIE -- config minlevel = 400 -- level para resetar price = 0 newlevel = 10 -- level após reset newexp = 9300 -- nova experiencia após reset -- end config function addReset(cid) resets = getResets(cid) setPlayerStorageValue(cid,36874,resets+1) return true end function getResets(cid) resets = getPlayerStorageValue(cid,36874) if resets < 0 then resets = 0 end return resets end local keywordHandler = KeywordHandler:new() local npcHandler = npcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = npcHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'reset') then selfSay('Do you want to reset your character level? Your character will be logged off if you confirm. You must pay '..price..' gold coins to reset.', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerMoney(cid) < price then selfSay('You must pay '..price..' gold coins to reset.', cid) elseif getPlayerLevel(cid) < minlevel then selfSay('You must be at least level '.. minlevel ..' to reset.', cid) else doPlayerRemoveMoney(cid,price) addReset(cid) playerid = getPlayerGUID(cid) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `level`="..newlevel..",`experience`="..newexp.." WHERE `players`.`id`= ".. playerid .."") end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then talkState[talkUser] = 0 selfSay('Ok.', cid) elseif msgcontains(msg, 'quant') then selfSay('You have '..getResets(cid)..' reset(s).', cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
Nesse sisteminha eu e meu amigo conseguimos
fazer um npc que teleporta para algum lugar
casoo jogador possua a storage !
Data/Script/npc.lua
local price = 50 local config = { pos1 = {x=2061,y=2140,z=10}, pos2 = {x=2061,y=2144,z=10}, } local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'travel')) then if getPlayerStorageValue(cid, 13595) - os.time() <= 0 then selfSay('Desculpa, você não tem acesso a area.',cid) return TRUE end talkState[talkUser] = 1 selfSay("Bem-vindo!", cid) doTeleportThing(cid, config.pos1) elseif (msgcontains(msg, 'travel')) and talkState[talkUser] == 1 then if doPlayerRemoveMoney(cid, price)==true then doTeleportThing(cid, config.pos1) else return selfSay('Você não tem dinheiro para se teleportar.',cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
Data/npc.xml
<?xml version="1.0"?> <npc name="Bastown" script="data/npc/scripts/npc" access="3" lookdir="1"> <health now="1" max="1"/> <look type="57" head="20" body="30" legs="40" feet="50" corpse="3128"/> </npc>
Obs: Deve ter muita coisa desnecessaria na scrip (eu acho),
não entendemos mto de script, mais ta ai o resultado.
@Atualização
Conversation Log:
Hi
Travel
"Se tiver storage irá teleportar e falar bem-vindo"
"Se falar travel e não tiver storagedará acesso negado."
Creditos:
Harpia look / 60%
Esaus / 40%
-
Vá ao amulet no items.xml
e adicione os seguintes keys:
Def contra energia + Value = Porcentagem
<attribute key="absorbPercentEnergy" value="10" />
Def contra fisico + Value = Porcentagem
<attribute key="absorbPercentPhysical" value="10" />
Def contra Sagrado + Value = Porcentagem
<attribute key="absorbPercentHoly" value="10" />
Def contra fogo + Value = Porcentagem
<attribute key="absorbPercentFire" value="10" />
Def contra gelo + Value = Porcentagem
<attribute key="absorbPercentIce" value="10" />
Def contra morte + Value = Porcentagem
<attribute key="absorbPercentDeath" value="10" />
-----------------------------------------------------------------------------------------
Adc em axe + Value = Pontos
<attribute key="skillAxe" value="4" />
Adc em Sword + Value = Pontos
<attribute key="skillSword" value="4" />
Adc em Club + Value = Pontos
<attribute key="skillClub" value="4" />
Adc em Distance + Value = Pontos
<attribute key="skillDist" value="4" />
Adc em Shielding + Value = Pontos
<attribute key="skillShield" value="2" />
Adc em Shielding + Value = Pontos
<attribute key="magiclevelpoints" value="2" />
-
Atualizado@
a script
-
luka.pc@hotmail.com
-
function onUse(cid, storage, fromPosition, toPosition) local teleport = {x=100, y=54, z=7} -- Coordenadas para onde o player irá ser teleportado. local Storage_id = 2195 -- ID do item que o player precisa para ser teleportado. if getPlayerStorage(cid,Storage_id) == 2195 then doTeleportThing(cid, teleport) doSendMagicEffect(getPlayerPosition(cid), 10) doPlayerSendTextMessage(cid, 22, "Ok, let's go! You are permision for make this teleport!") else doPlayerSendTextMessage(cid, 23, "Sorry, you need a permission to enter") end end
.-. TENTA DNV até nos conseguirmos.
esse é diferente ;-; vc coloca isso na pasta actions/scripts/arquivo.lua
dai dps vc coloca em actions.xml
<action actionid="2195" event="script" value="arquivo.lua"/>
dai tipo vai no rme escolhe uma estatua e coloca o actionid nela
dai ela vai teleporta quando tiver item.
-
Hm tente esse
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function oracle(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end local cityNode = node:getParent():getParent() local vocNode = node:getParent() local destination = cityNode:getParameters().destination local town = cityNode:getParameters().town local vocation = vocNode:getParameters().vocation if(destination ~= nil and vocation ~= nil and town ~= nil) then if(getPlayerStorage(cid) = 7714 then npcHandler:say('Only permited players ' .. parameters.level .. '!', cid) else doPlayerSetStorage(cid, storage) doPlayerSetTown(cid, town) else doTeleportThing(cid, destination) Setdestination(cid, storage) = town = 1, destination = {x=469, y=172, z=7} doSendMagicEffect(destination, CONST_ME_MAGIC_BLUE) end end end npcHandler:resetNpc() return true end function greetCallback(cid) if(getPlayerLevel(cid) < 8) then npcHandler:say('COME BACK WHEN YOU GROW UP, CHILD!') return false else return true end end
-
estou tentando achar umaas functions
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
Exori Bong - Sugar Vida do Target
em Globalevents e Spells
Postado · Editado por HarpiaLOOK