- Awards
- 38
Aquí les traigo un script por tofame, convertido por mi en revscript y corregido para que al desequipar pueda correctamente eliminar el monstruo.
Sería mas util de usar ese tipo de script en un item con valoración
El script va en data/scripts/
En el caso del ejemplo 2472 = Magic Plate Armor.
Para que funcione correctamente deberán de eliminar las líneas del item en unscripted_equipements, y si es arma en unscripted_weapons.
Sería mas util de usar ese tipo de script en un item con valoración
decay
, es decir, un item temportal.El script va en data/scripts/
En el caso del ejemplo 2472 = Magic Plate Armor.
Para que funcione correctamente deberán de eliminar las líneas del item en unscripted_equipements, y si es arma en unscripted_weapons.
Código:
local skillReq = MoveEvent()
local summonName = "demon"
function skillReq.onEquip(player, item, slot, isCheck)
if isCheck then
return true
end
local playerSummons = player:getSummons(summonName)
local playerPosition = player:getPosition()
local summonsCountGamakichi = 0
if Tile(playerPosition):hasFlag(TILESTATE_PROTECTIONZONE) then
return player:sendCancelMessage("You mustn't be in PZ!")-- error msg
end
for _,player in pairs(playerSummons) do
if player:getName() == summonName then
summonsCountGamakichi = 1
end
end
if summonsCountGamakichi == 0 then
local summon = Game.createMonster(summonName, playerPosition)
summon:setMaster(player)
summon:setDropLoot(false)
summon:registerEvent('SummonThink')
-- what will player say upon summoning: player:say("Go " .. summonName .. "!", TALKTYPE_MONSTER_SAY)
else
player:sendCancelMessage("Gamakichi is already summoned.")-- error msg
end
return true
end
skillReq:type("equip")
skillReq:id(2472)
skillReq:register()
local skillReqQ = MoveEvent()
function skillReqQ.onDeEquip(creature, item, slot)
local creatureSummons = creature:getSummons(summonName)
local creaturePosition = creature:getPosition()
for _,creature in pairs(creatureSummons) do
if creature:getName() == summonName then
creature:getPosition():sendMagicEffect(6) -- 3 = poff, 6 = explosion
doRemoveCreature(creature:getId())
else
creature:getPosition():sendMagicEffect(6) -- 3 = poff, 6 = explosion
doRemoveCreature(creature:getId())
end
end
return true
end
skillReqQ:type("deequip")
skillReqQ:id(2472)
skillReqQ:register()