Como assim "explode?"
- Fórum
- OTServ
- Recursos
- Scripting
- CreatureScripts e Movements
- [0.3.6-0.4] Explosive mine
5
2.3k
24 de fevereiro de 2017 às 20:54
24 de fevereiro de 2017 às 21:08
Bem Legal, Parabéns.
24 de fevereiro de 2017 às 21:09
8 minutos atrás, Lenhador disse:Como assim "explode?"
Voce Pisa nela e ela causa um dano em Area.
Voce tambem pode editar a o tamanho da area:
local arr = {{0, 1, 0},{1, 3, 1},{0, 1, 0},}
Editado Fevereiro 24 por Crypter
24 de fevereiro de 2017 às 21:10
Agora, Crypter disse:Voce Pisa nela e ela causa um dano em Area.
Voce tambem pode editar a o tamanho da area:
local arr = {{0, 1, 0},{1, 3, 1},{0, 1, 0},}
Entendi entendi, gostei bastante. REP ++





info
Grupo: Visconde
Registrado: 23/02/17
Posts: 368
Reputação: +136
Gênero: Masculino
Sistema simples que ao pisar em "X" item com a action id ele explode //
Em data/lib
Crie um arquivo chamado Mine.lua
function setItemAid(uid, value)return doItemSetAttribute(uid, 'aid', value)endfunction removeBomba(pos, id)local item = getTileItemById(pos, id) if item.uid > 0 then doRemoveItem(item.uid) endreturn trueendEm data/movements/scripts
Crie um arquivo chamado Mine.lua
local config = {effect1 = 4, -- efeito ao pisareffect2 = 5, -- efeito ao explodirmsg = "Você foi acertado pela bomba.", -- msg que manda pra quem for acertadomindmg = 100, -- dmg minimo que tira (nao é necessariamente o dano que vai sair do cara pois precisa desconsiderar as defesas dele antes)maxdmg = 300, -- dmg maximo que tira (nao é o dano que vai sair do cara)self = true -- true/false pra ativar/desativar dano no cara que colocou a bomba caso ele mesmo passe na bomba.}local arr = {{0, 1, 0},{1, 3, 1}, -- area que vai acertar ao explodir a bomba{0, 1, 0},}local area = createCombatArea(arr)function onStepIn(cid, item, position) local player = getPlayerByNameWildcard(getItemAttribute(item.uid, 'ref')) doSendMagicEffect(position, config.effect1) if isCreature(player) then doAreaCombatHealth(player, COMBAT_FIREDAMAGE, position, area, -config.mindmg, -config.maxdmg, config.effect2) end if ((cid == player and config.self) or (not isPlayer(cid)) or (not isCreature(player))) then doCreatureAddHealth(cid, -1 * math.random(config.mindmg, config.maxdmg)) doSendMagicEffect(position, config.effect2) end if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msg) end doRemoveItem(item.uid)return trueendEm movements.xml
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Caso voce queira rodar esse movements em uma spell
data/spells/scripts:
Crie um arquivo chamado mine.lua
local config = {itemid = 2180, -- Id do item que ira explodir duration = 10, -- duração para ser removidaactionid = 13245, --Nao mechaeffect = 1, -- efeitomsg = "Planted explosive mine!" -- mensagemcooldown = 120, --- tempo entre um uso e outro em segundo}function onCastSpell(cid, var) if os.time() - getPlayerStorageValue(cid, 55695) >= config.cooldown then setPlayerStorageValue(cid, 55695, os.time()) local position = getCreaturePosition(cid) local item = doCreateItem(config.itemid, 1, position) setItemAid(item, config.actionid) doItemSetAttribute(item, 'ref', getCreatureName(cid)) doCreatureSay(cid, config.msg, 20) doSendMagicEffect(position, config.effect) addEvent(removeBomba, config.duration * 1000, position, config.itemid) elsedoPlayerSendCancel(cid, "Aguarde "..(config.cooldown - (os.time() - getPlayerStorageValue(cid, 55695))).." segundos para plantar outra bomba!") endreturn trueendEm Spells.xml
Se Voce Gostou da script da um REP+ e me Segui .!
Editado Fevereiro 24 por Crypter