- 0
suporte scripts [Resolvido] [Dúvida] Diferença entre spells de player e spell de monstro
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
- 0 respostas
- 939 visualizações
-
- 4 respostas
- 1493 visualizações
-
- 3 respostas
- 1325 visualizações
-
- 0 respostas
- 1182 visualizações
-
- 3 respostas
- 1286 visualizações
-
Pergunta
LeoTK 173
Fala guys como o próprio título já diz gostaria de saber qual a diferença entre as spells dos monstros e dos players o pouco que entendi é que não tem algumas conditions porém o que eu precisaria para adaptar uma spell de player como "exori san" para um monstro ou uma magia de buff como utito tempo san ou utito tempo adaptar para um monstro eu gostaria de algumas comparações se possivel pretendo criar alguns poderes para monstros do tipo buff etc... e gostaria de saber a diferença entre elas porque ao algum monstro usar uma spell de buff de um player fica floodando na distro sobre a condição de dar o buff ao player mas como não é um player e sim um monstro fica dando erro falando que não é um player usando então gostaria de saber como fazer poderes para um monstro vou deixar algumas spells de exemplo para entender como eu adaptaria elas para monstros
Buff
local tempo = 60
local effect = {221}
local points = 30
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)
local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, points)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, points)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat, condition)
local function Magica(tempo2,tempo3,cid)
if isCreature(cid) then
for i=1, #effect do
local position = {x=getCreaturePosition(cid).x+1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
doSendMagicEffect(position, effect)
end
end
end
function onCastSpell(cid, var)
if exhaustion.check(cid, 102053) == FALSE then
doCombat(cid, combat, var)
tempo2 = 0
while (tempo2 ~= (tempo*1000)) do
addEvent(Magica, tempo2, tempo2, tempo*1000, cid)
tempo2 = tempo2 + 300
end
local position = {x=getCreaturePosition(cid).x, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}
exhaustion.set(cid, 102053, 60.1)
doCreatureSay(cid, "Susano", TALKTYPE_MONSTER)
doSendMagicEffect(position, 254)
else
doPlayerSendCancel(cid, "Desculpa,Voce ja esta transformado.")
end
end
Ataque
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -47.3, 1, -50.3, 1)
local function onCastSpell1(parameters)
if(not isCreature(parameters.cid)) then
return TRUE
end
if getCreatureTarget(parameters.cid) < 1 then
return TRUE
end
if isCreature(parameters.cid) then
doCombat(parameters.cid, combat, parameters.var)
end
return TRUE
end
function onCastSpell(cid, var)
local parameters = {cid = cid, var = var}
local enemy = getCreaturePosition(getCreatureTarget(cid))
local function EfectFollow()
if(not isCreature(parameters.cid)) then
return TRUE
end
if getCreatureTarget(cid) < 1 then
return TRUE
end
if isCreature(cid) then
local pos = {x=enemy.x+1, y=enemy.y, z=enemy.z}
doSendMagicEffect(pos, 79)
end
return TRUE
end
doSendMagicEffect(getCreaturePosition(cid), 110)
addEvent(onCastSpell1, 200, parameters)
addEvent(EfectFollow, 200)
addEvent(onCastSpell1, 600, parameters)
addEvent(EfectFollow, 600)
addEvent(onCastSpell1, 1000, parameters)
addEvent(EfectFollow, 1000)
addEvent(onCastSpell1, 1400, parameters)
addEvent(EfectFollow, 1400)
addEvent(onCastSpell1, 1800, parameters)
addEvent(EfectFollow, 1800)
return TRUE
end
trap
--<Script by Jhon992>--
local stonesId = {4025} -- ids dos diferente tipos de stones.
local timeRemove = 15 -- tempo para dumir as pedras em segundos.
function createObject(cid, position, stonesPosition)
if (isPlayer(cid)) then
if getPlayerLookDir(cid) == 0 then
positions = {x=position.x, y=position.y-1, z=position.z}
elseif getPlayerLookDir(cid) == 1 then
positions = {x=position.x+1, y=position.y, z=position.z}
elseif getPlayerLookDir(cid) == 2 then
positions = {x=position.x, y=position.y+1, z=position.z}
elseif getPlayerLookDir(cid) == 3 then
positions = {x=position.x-1, y=position.y, z=position.z}
end
if isWalkable(positions) then
createStone(stonesPosition, positions, stonesId[math.random(1,#stonesId)], cid)
addEvent(createObject, 500, cid, positions, stonesPosition)
else
addEvent(removeStones, timeRemove*1000, stonesPosition)
end
end
end
function createStone(stonesPosition, positions, stone, cid)
doCreateItem(stone, 1, positions)
stonesPosition[(#stonesPosition)+1] = {x=positions.x, y=positions.y, z=positions.z, stackpos=1}
end
function removeStones(stonesPosition)
for i=1, #stonesPosition do
for o=1, 2 do
stonesPosition = {x=stonesPosition.x, y=stonesPosition.y, z=stonesPosition.z, stackpos=o}
if isInArray(stonesId, getThingfromPos(stonesPosition).itemid) then
doRemoveItem(getThingfromPos(stonesPosition).uid)
end
end
end
end
function isWalkable(pos, creature, pz, proj) -- nord
if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end
local creature = getTopCreature(pos)
if creature.type > 0 then return false end
if getTilePzInfo(pos) and not pz then return false 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 onCastSpell(cid, var)
local stonesPosition = {}
local position = getPlayerPosition(cid)
createObject(cid, position, stonesPosition)
return true
end
bom é isso ficarei no aguardo
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados