Ir para conteúdo
  • 0

bfs102030

Pergunta

nao achei nada do tipo ake gstaria de uma ajudinha

 

eu tenho uma spell que se chama utevo rex, esta spell sumona um monster chamado war wolf rex e quando alguem mata esta minha criatura sumonada nasce um novo moster chamado Lobisomen..

 

a parte de sumonar o war wolf rex esta tudo ok,

a parte de nascero lobisomen tambem esta ok porem ele nasce esta me atacando.. este e o problema.Gostaria que ele nao me atacasse e reagisse como a riatura anterior que eu sumonei e so atacasse quem eu atacar..

 

segue abaixo as 2 creatures + script de reviver.

 

 

script revive.Lua >>> function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

local area = 15 ------- A area que o efeito vai alcançar----
local effect = 25 --- Id do efeito de área para deixar mais bonito escolha um vibrante e colorido--------
local creature = "werewolf" -- Monstro que revive ---
function doSendDistanceEffectAround(cid, position, AreaNumber, type)
local numberInArea = tonumber(AreaNumber)
local distance0 = {x=position.x, y=position.y-numberInArea, z=position.z}
local distance1 = {x=position.x+numberInArea, y=position.y, z=position.z}
local distance2 = {x=position.x, y=position.y+numberInArea, z=position.z}
local distance3 = {x=position.x-numberInArea, y=position.y, z=position.z}
return doSendDistanceShoot(position, distance0, type) and doSendDistanceShoot(position, distance1, type) and doSendDistanceShoot(position, distance2, type) and doSendDistanceShoot(position, distance3, type)
end
doSendDistanceEffectAround(cid, getCreaturePosition(cid), area, effect)
doCreateMonster(creature, getCreaturePosition(cid))
return doRemoveCreature(cid)
end
war wolf rex.xml >>> <?xml version="1.0" encoding="UTF-8"?>
<monster name="war wolf rex" nameDescription="a war wolf rex" race="blood" experience="300" speed="1500" manacost="0">
<health now="10000" max="10000"/>
<look type="3" head="20" body="30" legs="40" feet="50" corpse="6009"/>
<targetchange interval="2000" chance="0"/>
<strategy attack="100" defense="0"/>
<flags>
<flag summonable="0"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag illusionable="1"/>
<flag convinceable="1"/>
<flag pushable="0"/>
<flag canpushitems="1"/>
<flag canpushcreatures="0"/>
<flag targetdistance="1"/>
<flag staticattack="90"/>
<flag runonhealth="0"/>
</flags>
<attacks>
<attack name="melee" interval="1200" chance="100" min="-280" max="-550" range="1"/>
</attacks>
<defenses armor="40" defense="50"/>
<immunities>
<immunity physical="0"/>
<immunity energy="0"/>
<immunity fire="0"/>
<immunity poison="0"/>
<immunity lifedrain="0"/>
<immunity paralyze="0"/>
<immunity outfit="0"/>
<immunity drunk="0"/>
<immunity invisible="0"/>
</immunities>
<voices interval="5000" chance="10">
<voice sentence="Grrrrrrr"/>
<voice sentence="Yoooohhuuuu!" yell="1"/>
</voices>
<loot>
<item id="3976" countmax="10" chance1="50000" chancemax="0"/>
<item id="2671" countmax="5" chance1="33333" chancemax="0"/>
<item id="5897" countmax="1" chance1="6666" chancemax="0"/>
</loot>
<script>
<event name="revive"/>
</script>
</monster>
lobisomen.xml >> <?xml version="1.0"?>
<monster name="Lobisomen" description="a Lobisomen" experience="300" speed="2500" race="blood">
<health now="15000" max="15000"/>
<strategy attack="100" defense="0"/>
<targetchange speed="0" chance="8"/>
<look type="308" corpse="6080"/>
<flags>
<flag summonable="0"/>
<flag attackable="1"/>
<flag hostile="1"/>
<flag illusionable="0"/>
<flag convinceable="1"/>
<flag pushable="0"/>
<flag canpushitems="1"/>
<flag canpushcreatures="1"/>
<flag staticattack="98"/>
<flag targetdistance="1"/>
<flag runonhealth="0"/>
</flags>
<attacks>
<attack name="melee" interval="1500" chance="100" min="-380" max="-750" range="1"/>
<attack name="outfit" interval="1000" chance="9" range="7" monster="werewolf" duration="5000">
<attribute key="areaeffect" value="blueshimmer"/>
</attack>
</attacks>
<defenses armor="50" defense="55"/>
<elements>
<element physicalPercent="10"/>
<element energyPercent="5"/>
<element earthPercent="5"/>
<element firePercent="-5"/>
<element deathPercent="10"/>
<element icePercent="-5"/>
<element holyPercent="-10"/>
</elements>
<immunities>
<immunity paralyze="1"/>
<immunity invisible="1"/>
</immunities>
<voices speed="5000" chance="10">
<voice sentence="BLOOD!" yell="1"/>
<voice sentence="HRAAAAAAAAAARRRRRR!" yell="1"/>
</voices>
</monster>


up


alguem ae ajuda porfavor ?

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

oque o GABRIELVS mencionou nao vai adiantar pois se eu colocar <flag summonable="1"/> os mages poderao sumonar a criatura...

 

SKULLS isso que voce falou pode dar certo porem eu nao sei fazer se puder e ajudar com isso ficareii grato ou se mais alguem ae souber ajudar

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, é exatamente o que eu falei.

Substitui: doCreateMonster(creature, getCreaturePosition(cid))

Por: doConvinceCreature(cid, doCreateMonster(creature, getCreaturePosition(cid)))

Link para o comentário
Compartilhar em outros sites

  • 0

mano fiz oque voce disse subistitui

doCreateMonster(creature, getCreaturePosition(cid))

por doConvinceCreature(cid, doCreateMonster(creature, getCreaturePosition(cid)))

no script de monster revive

ae apareceu esse erro no distro quando o bixo vai reviver

 

 

[3:19:51.295] [Error - CreatureScript Interface]
[3:19:51.295] data/creaturescripts/scripts/count.lua:onKill
[3:19:51.295] Description:
[3:19:51.305] (luaGetCreatureName) Creature not found
[3:19:51.305] [Error - CreatureScript Interface]
[3:19:51.305] data/creaturescripts/scripts/count.lua:onKill
[3:19:51.305] Description:
[3:19:51.315] data/creaturescripts/scripts/count.lua:12: bad argument #1 to 'low
er' (string expected, got boolean)
[3:19:51.315] stack traceback:
[3:19:51.315] [C]: in function 'lower'
[3:19:51.325] data/creaturescripts/scripts/count.lua:12: in function <data/cre
aturescripts/scripts/count.lua:9>
Link para o comentário
Compartilhar em outros sites

  • 0

 

mano fiz oque voce disse subistitui

doCreateMonster(creature, getCreaturePosition(cid))

por doConvinceCreature(cid, doCreateMonster(creature, getCreaturePosition(cid)))

no script de monster revive

ae apareceu esse erro no distro quando o bixo vai reviver

 

 

[3:19:51.295] [Error - CreatureScript Interface]
[3:19:51.295] data/creaturescripts/scripts/count.lua:onKill
[3:19:51.295] Description:
[3:19:51.305] (luaGetCreatureName) Creature not found
[3:19:51.305] [Error - CreatureScript Interface]
[3:19:51.305] data/creaturescripts/scripts/count.lua:onKill
[3:19:51.305] Description:
[3:19:51.315] data/creaturescripts/scripts/count.lua:12: bad argument #1 to 'low
er' (string expected, got boolean)
[3:19:51.315] stack traceback:
[3:19:51.315] [C]: in function 'lower'
[3:19:51.325] data/creaturescripts/scripts/count.lua:12: in function <data/cre
aturescripts/scripts/count.lua:9>

 

Eu bobiei aqui, do jeito que eu fiz ele ta convencendo a criatura para ela mesmo ser owner dela. (o cid, nessa função é a creatura prestes a morrer e não o player).

Tem que ver se tem alguma função que retorna o id dono da criatura ou algum outro jeito de pegar o id do player.

Se eu achar/lembrar de algo edito aqui.

 

Edited, achei algo que faz o que eu queria. Deve funcionar.

Mas basicamente é aquilo que eu falei, só que fica assim:

doConvinceCreature(getCreatureMaster(cid), doCreateMonster(creature, getCreaturePosition(cid)))

Editado por Skulls
Link para o comentário
Compartilhar em outros sites

  • 0

amigo agora funcionou a criatura que reviveu ela reagiu como a anterior que foi sumonada nao teve problemas execeto o erro que ainda aparece no distro e faz com que de uma travadinha

 

[9:12:54.163] [Error - CreatureScript Interface]
[9:12:54.163] data/creaturescripts/scripts/count.lua:onKill
[9:12:54.163] Description:
[9:12:54.163] (luaGetCreatureName) Creature not found
[9:12:54.163] [Error - CreatureScript Interface]
[9:12:54.163] data/creaturescripts/scripts/count.lua:onKill
[9:12:54.163] Description:
[9:12:54.163] data/creaturescripts/scripts/count.lua:12: bad argument #1 to 'low
er' (string expected, got boolean)
[9:12:54.163] stack traceback:
[9:12:54.173] [C]: in function 'lower'
[9:12:54.173] data/creaturescripts/scripts/count.lua:12: in function <data/cre
aturescripts/scripts/count.lua:9>
Link para o comentário
Compartilhar em outros sites

  • 0

 

amigo agora funcionou a criatura que reviveu ela reagiu como a anterior que foi sumonada nao teve problemas execeto o erro que ainda aparece no distro e faz com que de uma travadinha

 

[9:12:54.163] [Error - CreatureScript Interface]
[9:12:54.163] data/creaturescripts/scripts/count.lua:onKill
[9:12:54.163] Description:
[9:12:54.163] (luaGetCreatureName) Creature not found
[9:12:54.163] [Error - CreatureScript Interface]
[9:12:54.163] data/creaturescripts/scripts/count.lua:onKill
[9:12:54.163] Description:
[9:12:54.163] data/creaturescripts/scripts/count.lua:12: bad argument #1 to 'low
er' (string expected, got boolean)
[9:12:54.163] stack traceback:
[9:12:54.173] [C]: in function 'lower'
[9:12:54.173] data/creaturescripts/scripts/count.lua:12: in function <data/cre
aturescripts/scripts/count.lua:9>

 

 

Funcionou do jeito que você queria?

Eu tb estou tendo alguns warnings como este quando mexo com a parte de creature scripts (principalmente quando envolve remover/sumonar criatura). Eu acredito que seja alguns deslizes na hora de verificar a existência da criatura. Tipo, não vai interferir no servidor, mas é chato ficar recebendo esses warnings.

 

Eu ainda não consegui solucionar aqui no meu, se eu descobrir eu te dou ideia.

Mas basicamente, ele tenta executar uma funcao pra uma criatura que não existe mais.

Link para o comentário
Compartilhar em outros sites

  • 0

entendi mano vlw pela ajuda e se n for abusar da boa vontade

eu tenho 2 spells de knight, mas exori e mas exori hur vou postar ake embaixo elas , mas eu gostaria que elas funcionacem da seguinte forma. quanto maior o ATK da arma mais a spell vai arrancar entendeu.? ex tenho uma arma que atk 70 ae com ela a spell bate x ae coloco uma arma na mao de atk 100 ae a spell vai bater mais entende.

gostaria que a formula delas fosse pelo atk da arma... pois pretendo colocar ICE RAPIER com ATK maior porem quando o player soltar a spell com a ICE RAPIER na mao ela ir ritar e quebrar entende ?

 

abaixo as 2 spells

 

mas exori hur

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 34)
setCombatParam(combat, COMBAT_PARAM_USECHARGES, true)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -21.9, -17, -23.9, -19)
local arr = {
{1, 1, 1},
{1, 1, 1},
{1, 1, 1},
{0, 1, 0},
{0, 3, 0},
{0, 0, 0},
}
local area = createCombatArea(arr)
setCombatArea(combat, area)
function onCastSpell(cid, var)
local storage = 302010
if getPlayerStorageValue(cid, storage) < 1 then
doPlayerSendCancel(cid, "Desculpe, Você tem que Fazer a [The Spells Quest] para usar está magia.")
return false
end
return doCombat(cid, combat, var)
end
mas exori
--Created with OSM--
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE,COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT,CONST_ME_GROUNDSHAKER)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -3.1, -750, 4.1, -1250)
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, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 3, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0},
{0, 0, 0, 1, 1, 1, 1, 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

 

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...