restablecimiento localSys = TalkAction("!reset")
configuración local = {
reinicios de almacenamiento = 500,
volver al nivel = 8,
redskull = true, - ¿necesitas estar sin redskull para reiniciar?
batalla = verdadero, - ¿necesitas estar sin batalla para reiniciar?
pz = false, -- ¿necesita estar en la zona protegida para restablecer?
etapas = {
{se reinicia = 1, nivel = 1000, prima = 1000},
{se reinicia = 2, nivel = 2000, prima = 2000},
{se reinicia = 3, nivel = 3000, premium = 3000},
{se reinicia = 4, nivel = 4000, premium = 4000}
}
}
función local getExperienceForLevel(lv)
nivel = nivel - 1
retorno ((50 * lv * lv * lv) - (150 * lv * lv) + (400 * lv)) / 3
fin
función resetSys.onSay(jugador, palabras, parámetro)
si config.redskull y player:getSkull() == 4 entonces
player:sendCancelMessage("Debes no tener la calavera roja para reiniciar.")
falso retorno
elseif config.pz y no getTilePzInfo(player:getPosition()) entonces
player:sendCancelMessage("Debes estar en la zona de protección para reiniciar.")
falso retorno
elseif config.battle y player:getCondition(CONDITION_INFIGHT) entonces
player:sendCancelMessage("Debes estar sin batalla para reiniciar.")
falso retorno
fin
playerResets local = math.max(0, jugador:getStorageValue(config.storageResets))
etapa local = nula
para _, _stage en pares (config.stages) hacer
si playerResets <= _stage.resets entonces
etapa = _etapa
romper
fin
fin
Si no es escenario entonces
print("[Advertencia - ResetSystem::onSay] Etapa no encontrada para el reproductor: " .. player:getName())
falso retorno
fin
resetLevel local = player:isPremium() y stage.premium o stage.level
nivel de jugador local = jugador:getLevel()
si nivel de jugador <resetLevel entonces
player:sendCancelMessage("Necesitas nivel " .. resetLevel .. " o más para restablecer.")
falso retorno
fin
reinicios de jugador = reinicios de jugador + 1
jugador:setStorageValue(config.storageResets, playerResets)
jugador:removeExperience(getExperienceForLevel(playerLevel) - getExperienceForLevel(config.backToLevel))
local nuevoMaxHealth = 185
nuevoMaxMana local = 90
jugador:setMaxHealth(nuevoMaxHealth)
jugador:setMaxMana(nuevoMaxMana)
jugador:addHealth(newMaxHealth)
jugador: agregarMana (nuevoMaxMana)
jugador:getPosition():sendMagicEffect(CONST_ME_FIREWORK_RED)
player:sendTextMessage(MESSAGE_INFO_DESCR, "Ahora tienes " .. playerResets .. " " .. (playerResets == 1 y "reset" o "resets") .. ".")
falso retorno
fin
resetSys:registro()[/CÓDIGO]
Encontré este script en el foro. Me gustaría modificarlo para que si el jugador tiene el nivel 2000, obtenga 2 puntos de reinicio. Si tiene el nivel 1000, 1 punto de reinicio.
[/QUOTE]
aqui te dejo una
[CODE=lua]restablecimiento localSys = TalkAction("!reset")
configuración local = {
reinicios de almacenamiento = 101,
volver al nivel = 8,
redskull = true, -- ¿Se necesita estar sin calavera roja para reiniciar?
battle = true, -- ¿Se necesita estar fuera de combate para reiniciar?
pz = false, -- ¿Se necesita estar en zona de protección para reiniciar?
etapas = {
{se reinicia = 10, nivel = 10, premium = 10},
{se reinicia = 20, nivel = 20, premium = 20},
{se reinicia = 30, nivel = 30, premium = 30},
{se reinicia = 40, nivel = 40, premium = 40}
}
}
función local getExperienceForLevel(lv)
nivel = nivel - 1
retorno ((50 * lv * lv * lv) - (150 * lv * lv) + (400 * lv)) / 3
fin
función resetSys.onSay(jugador, palabras, parámetro)
si config.redskull y player:getSkull() == SKULL_RED entonces
player:sendCancelMessage("Debes no tener la calavera roja para reiniciar.")
falso retorno
elseif config.pz y no getTilePzInfo(player:getPosition()) entonces
player:sendCancelMessage("Debes estar en la zona de protección para reiniciar.")
falso retorno
elseif config.battle y player:getCondition(CONDITION_INFIGHT) entonces
player:sendCancelMessage("Debes estar sin batalla para reiniciar.")
falso retorno
fin
playerResets local = math.max(0, jugador:getStorageValue(config.storageResets))
etapa local = nula
para _, _stage en pares (config.stages) hacer
si playerResets <= _stage.resets entonces
etapa = _etapa
romper
fin
fin
Si no es escenario entonces
print("[Advertencia - ResetSystem::onSay] Etapa no encontrada para el reproductor: " .. player:getName())
falso retorno
fin
resetLevel local = player:isPremium() y stage.premium o stage.level
nivel de jugador local = jugador:getLevel()
si nivel de jugador <resetLevel entonces
player:sendCancelMessage("Necesitas nivel " .. resetLevel .. " o más para restablecer.")
falso retorno
fin
puntos de reinicio locales = 0
si playerLevel >= 10 y playerLevel < 20 entonces
puntos de reinicio = 1
elseif playerLevel >= 20 y playerLevel < 30 entonces
puntos de reinicio = 2
fin
si resetPoints > 0 entonces
player:addItem(35239, resetPoints) -- ID para monedas de oro (se puede cambiar)
player:sendTextMessage(MESSAGE_INFO_DESCR, "Recibes " .. resetPoints .. " puntos de reinicio.")
fin
reinicios de jugador = reinicios de jugador + 1
jugador:setStorageValue(config.storageResets, playerResets)
jugador:removeExperience(getExperienceForLevel(playerLevel) - getExperienceForLevel(config.backToLevel))
local nuevoMaxHealth = 185
nuevoMaxMana local = 90
jugador:setMaxHealth(nuevoMaxHealth)
jugador:setMaxMana(nuevoMaxMana)
jugador:addHealth(newMaxHealth)
jugador: agregarMana (nuevoMaxMana)
jugador:getPosition():sendMagicEffect(CONST_ME_FIREWORK_RED)
player:sendTextMessage(MESSAGE_INFO_DESCR, "Ahora tienes " .. playerResets .. " " .. (playerResets == 1 y "reset" o "resets") .. ".")
falso retorno
fin
resetSys:registro()
[/CÓDIGO]