Seção errada.
Dúvidas sobre scripts é neste tópico:
http://www.xtibia.com/forum/forum/86-pedidos-e-duvidas-scripting/
Atenção da próxima vez e não esqueça de ler as regras da seção.
Reportado para moverem.
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Seção errada.
Dúvidas sobre scripts é neste tópico:
http://www.xtibia.com/forum/forum/86-pedidos-e-duvidas-scripting/
Atenção da próxima vez e não esqueça de ler as regras da seção.
Reportado para moverem.
info
Grupo: Campones
Registrado: 09/09/12
Posts: 28
Reputação: 0
Char no Tibia: Bluetone Devay

info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

creaturescripts.xml:
<event type="death" name="MonsterCharge" script="monstercharge.lua"/>
monstercharge.lua:
function onDeath(cid, deathList)
mmsg = "sim" -- Mandar mensagem? Sim ou nao
msg = "Você obteve 1x charge de spell." -- Mensagem que será mandada
stor = getPlayerStorageValue(cid, 3172)
if stor == -1 then
setPlayerStorageValue(deathList[1], 3172, 1)
else
setPlayerStorageValue(deathList[1], 3172, stor+1)
end
if mmsg == "sim" then
doPlayerSendTextMessage(deathList[1], MESSAGE_STATUS_CONSOLE_ORANGE, msg)
end
return true
end
No monstro que você quer, adiciona isso antes de </monster>:
<script> <event name="MonsterCharge"/> </script>
Adicione isso no script da spell que você quer que tenha charges, abaixo de onCastSpell:
if getPlayerStorageValue(cid, 3172) == 0 then doPlayerSendCancel(cid, "Not enough charges.") return false end charges = getPlayerStorageValue(3172) setPlayerStorageValue(cid, 3172, charges-1)
Editado Setembro 11 por LuckOake
info
Grupo: Conde
Registrado: 04/08/12
Posts: 762
Reputação: +80

Eu vi que o Luck postou ai, só que já tava acabando uma, então apenas ignore.
Quem quiser usar:
Fiz uma que só pode usar se tiver certo item:
Usei o exemplo com um skyring.
Testado em TSF 8.6.
Em data/spells/scripts crie um arquivo.lua nomeie para skyring e adicione:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 47)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -5.9, -68, -4.9, 109)
local arr1 = {
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
}
local area = createCombatArea(arr1)
setCombatArea(combat, area)
function onCastSpell(cid, var)
if getPlayerSlotItem(cid, CONST_SLOT_RING).itemid == 2123 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You use POWER ENERGY!")
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "Você não possui o Skyring.")
doSendMagicEffect(getPlayerPosition(cid), 2)
end
end
Editando:
-Azul: Areá de efeito e hit (1 para ativar e 0 para desativar)
-Marrom: Efeito (/z)
-Teal: Formula de attack
-Laranja: Local do slot
Lista:
head = CONST_SLOT_HEAD,
armor = CONST_SLOT_ARMOR,
legs = CONST_SLOT_LEGS,
feet = CONST_SLOT_FEET,
ring = CONST_SLOT_RING,
necklace = CONST_SLOT_NECKLACE
-Roxo: Id do item
-Vermelho: Mensagem em baixo da tela
-Verde: Mensagem no centro da tela
Em spells.xml:
<instant name="skyring" words="energy power" lvl="100" mana="1600" prem="1" exhaustion="1200" selftarget="1" needlearn="0" script="skyring.lua">
<vocation id="2"/>
<vocation id="6"/>
<vocation id="1"/>
<vocation id="5"/>
</instant>
Qualquer dúvida para editar a tag pergunte.
Editado Setembro 11 por Newtonnotwen
info
Grupo: Campones
Registrado: 09/09/12
Posts: 28
Reputação: 0
Char no Tibia: Bluetone Devay

@
Deu erro !
[11/09/2012 18:53:01] data/creaturescripts/scripts/monstercharge.lua:7: attempt to index local 'deathList' (a number value)
[11/09/2012 18:53:01] stack traceback:
[11/09/2012 18:53:01] data/creaturescripts/scripts/monstercharge.lua:7: in function <data/creaturescripts/scripts/monstercharge.lua:1>
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Hm... Tá, tenta ai. Não prometo que funciona, mas tentemos.
function onDeath(cid, deathList)
mmsg = "sim" -- Mandar mensagem? Sim ou nao
msg = "Você obteve 1x charge de spell." -- Mensagem que será mandada
stor = getPlayerStorageValue(cid, 3172)
tkiller = getPlayerGUID(deathList[1])
if stor == -1 then
setPlayerStorageValue(tkiller, 3172, 1)
else
setPlayerStorageValue(tkiller, 3172, stor+1)
end
if mmsg == "sim" then
doPlayerSendTextMessage(tkiller, MESSAGE_STATUS_CONSOLE_ORANGE, msg)
end
return true
end
Editado Setembro 11 por LuckOake
info
Grupo: Campones
Registrado: 09/09/12
Posts: 28
Reputação: 0
Char no Tibia: Bluetone Devay

Deu erro ainda se liga lek eu tenho um script desses ai só que tipo não ta com carga se eu mandar pra tu tu poe carga nele ?
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Sim. Manda ele ai.
info
Grupo: Campones
Registrado: 09/09/12
Posts: 28
Reputação: 0
Char no Tibia: Bluetone Devay

Pode ser pelo skype ou msn ?
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Não, só atendo pedidos via Private Message aqui no XTibia.
info
Grupo: Campones
Registrado: 09/09/12
Posts: 28
Reputação: 0
Char no Tibia: Bluetone Devay

Vishi como manda privat RIARIAI so novo malz :x
vou enviar como msg tá ?
Mandei como msg !
Viiiiu ?
@
Ta Aew ?
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Rapaz, por favor, não fique floodando no tópico, isso não é permitido. Espere um pouco que já edito aqui, vou tentar fazer o que você pediu.
info
Grupo: Campones
Registrado: 09/09/12
Posts: 28
Reputação: 0
Char no Tibia: Bluetone Devay

Malz é que eu to agoniado pensei que tu tinha deixado pra la :s Mas valeu leks pela consideração
info
Grupo: Visconde
Registrado: 11/08/10
Posts: 477
Reputação: +175
Gênero: Masculino

o script q vc colocar na pasta creaturescripts/scripts
function onDeath(cid, corpse, deathList) addchar = 3 --quantas cargas add ao matar mmsg = "sim" -- Mandar mensagem? Sim ou nao msg = "Você obteve "..addchar.."x charge de spell." -- Mensagem que será mandada stor = getPlayerStorageValue(deathList[1], 3172) if stor == -1 then setPlayerStorageValue(deathList[1], 3172, addchar) else setPlayerStorageValue(deathList[1], 3172, stor+addachar) end if mmsg == "sim" then doPlayerSendTextMessage(deathList[1], MESSAGE_STATUS_CONSOLE_ORANGE, msg) end return true end
Editado Setembro 11 por Eskylo
info
Grupo: Campones
Registrado: 09/09/12
Posts: 28
Reputação: 0
Char no Tibia: Bluetone Devay
Cooé Rapaziada sussa? Ai to querendo um script de magias de cargar no meu ot eu botei um boss que quando tu mata ele tu ganha um magia mas eu quero ela por com carga Ex:mata o bixo ganha 3x Da Magia Diablo Rain... Falou Lekada !