✅ Teleport Al matar un monster

jackye

Miembro
LV
24
 
Awards
20
Hola como estan amigos eh estado buscando un revscript que me ayude a poder crear un teleport cuando el monster muera ya intentne de muchas maneras incluso usar el de azerus pero no me funcionan podrian ayudarme?

Eh intentado con este y registrar los Eventos pero no logro que funcione D:
bossTeleportLogin
bossTeleportKill
bossConfig = {
bossName = "Troll",
storageToSet = 45320,
finalPosition = Position(32365, 32243, 5),
}

local bossTeleportKill = CreatureEvent("bossTeleportKill")
function bossTeleportKill.onKill(creature, target)
if not creature or not creature:isPlayer() then
return true
end

if not target or not target:isMonster() then
return true
end

if target:getName():lower() == bossConfig.bossName:lower() then
creature:setStorageValue(bossConfig.storageToSet, os.time() + 3600)
end
return true
end
bossTeleportKill:register()

local bossTeleportTile = MoveEvent()
function bossTeleportTile.onStepIn(creature, item, position, fromPosition)
if not creature:isPlayer() then
return true
end

local player = Player(creature)
if (player:getStorageValue(bossConfig.storageToSet) > os.time()) then
player:teleportTo(bossConfig.finalPosition)
else
player:teleportTo(fromPosition)
player:say("Sorry, you need to kill the boss before going to this teleport.")
end
return true
end

bossTeleportTile:aid(50420)
bossTeleportTile:register()

local bossTeleportLogin = CreatureEvent("bossTeleportLogin")
function bossTeleportLogin.onLogin(player)
player:registerEvent('bossTeleportKill')
return true
end
bossTeleportLogin:register()
 
Solución
Hola Alex,





intente agregarlo de esa manera pero no me funciono

Perdona, actualicé el tema, ahora lo tienes corregido, el ultimo apartado el parrafo:


Debería de quedarte así, si solamente incorporas 1 solo script, como el del ejemplo , con el nombre tpkillboss

player:registerEvent("tpkillboss")
player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Welcome to " .. SERVER_NAME .. " Server.!")

Ahora, si por ejemplo vas a crear 2 mas, el segundo se llamara tpkillbosssecond y el tercero tpkillbossthird, entonces quedaria en el login.php:


player:registerEvent("tpkillboss")
player:registerEvent("tpkillbosssecond")...

Alex

Miembro del equipo
Webdesigner
LV
58
 
Awards
38
Hola como estan amigos eh estado buscando un revscript que me ayude a poder crear un teleport cuando el monster muera ya intentne de muchas maneras incluso usar el de azerus pero no me funcionan podrian ayudarme?

Eh intentado con este y registrar los Eventos pero no logro que funcione D:
bossTeleportLogin
bossTeleportKill

Hola @marcuz ,

En el foro ya se dispone de un Script, dentro del RevScript Dungeon, ( si no es fácil para encontrarlo ahora mismo haré un tema aparte )

El script que quieres aquí lo tienes:


Aquí esta el tema del dungeon system, que lo que hace es crear un sistema de dung, con bosses customs que aparecen, al matarlos aparece un Teleport que te lleva a X sitio, tienes X segundos para cogerlo.

 
Última edición:

jackye

Miembro
LV
24
 
Awards
20
Hola Alex,

Eh intentado usar el script en la parte donde dice

player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Welcome to " .. SERVER_NAME .. " Server.!")

player:registerEvent("ffirstMonsterDungeon")
player:registerEvent("fsecondMonsterDungeon")
player:registerEvent("fthirdMonsterDungeon")
player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Welcome!")
player:sendTextMessage(MESSAGE_STATUS_DEFAULT, string.format("Your last visit in server: %s.", os.date("%d. %b %Y %X", player:getLastLoginSaved())))

Y en mi login_event
registrar el evento como? tpkillboss o todos deben ser registrado en mi login event?

intente agregarlo de esa manera pero no me funciono
 

Alex

Miembro del equipo
Webdesigner
LV
58
 
Awards
38
Hola Alex,





intente agregarlo de esa manera pero no me funciono

Perdona, actualicé el tema, ahora lo tienes corregido, el ultimo apartado el parrafo:


Debería de quedarte así, si solamente incorporas 1 solo script, como el del ejemplo , con el nombre tpkillboss

player:registerEvent("tpkillboss")
player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Welcome to " .. SERVER_NAME .. " Server.!")

Ahora, si por ejemplo vas a crear 2 mas, el segundo se llamara tpkillbosssecond y el tercero tpkillbossthird, entonces quedaria en el login.php:


player:registerEvent("tpkillboss")
player:registerEvent("tpkillbosssecond")
player:registerEvent("tpkillbossthird")
player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Welcome to " .. SERVER_NAME .. " Server.!")
 

jackye

Miembro
LV
24
 
Awards
20
Hola Alex Perdon se que te moleste se que estas ocupado de casualidad tendras un script de algun item que remueva todas las frags mediante un item para una version 12.64 - 12.72

Tengo este pero solo es para remover 1 sola skull

Si eres red o black


local removeSkull = Action()

function removeSkull.onUse(player, item, fromPosition, target, toPosition, isHotkey)


--local tile = Tile(player:getPosition()):hasFlag(TILESTATE_PROTECTIONZONE)
--if not tile then
--player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You must be in protection zone to use this item.")
--return true
--end
if isInArray({SKULL_RED, SKULL_BLACK}, player:getSkull()) then
player:setSkull(SKULL_NONE)
player:setSkullTime(0)
player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN)
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your skull has been removed!")
db.query("UPDATE `player_deaths` SET `unjustified` = 0 WHERE `unjustified` = 1 AND `killed_by` = " .. db.escapeString(player:getName()))
item:remove(1)
else
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You can only remove red or black skulls!")
player:getPosition():sendMagicEffect(CONST_ME_POFF)
end



return true
end

removeSkull:id(24317) ----------------cambia id del objeto que va utilizar
removeSkull:register()
 

Alex

Miembro del equipo
Webdesigner
LV
58
 
Awards
38
Ese tipo de script no, pero ahora me ando preguntando,
No Funcionaria si supieras el nombre de las demás skulls ? ' White_Skull ' Etc .. ?
Y añadirlo en
if isInArray({SKULL_RED,SKULL_BLACK,SKULL_WHITE}

Ni idea, habría que ver como se comenta en la base de datos las diferentes skulls y en este caso quizás añadirlo y ver si funciona.
 

Alex

Miembro del equipo
Webdesigner
LV
58
 
Awards
38
con ese script si tengo el nombre de las demas skull solo seria añadirlas? y le quitaria todas las frags o seguiria siendo solo 1?

Por lo que entiendo:
db.query("UPDATE `player_deaths` SET `unjustified` = 0 WHERE `unjustified` = 1 AND `killed_by` = " .. db.escapeString(player:getName()))

Dice set 0 Unjustified, en donde encuentras 1, entonces, seria ponerle el numero 2, para quitar 2 Skulls, si lo entiendo bien.
No soy de mucho script pero yo lo entendería de esta forma.
 
Arriba