Ir para conteúdo

Featured Replies

Postado

.Qual servidor ou website você utiliza como base? 

 

Qual o motivo deste tópico? 

Tenho um Script de Boost de exp e loot diário por monstro aleatório, o erro é que o monstro não é trocado, só muda quando reinicia o sv e executa a funcao startup, queria que o script tbm fizesse que o monstro fosse alterado junto com o dia

Está surgindo algum erro? Se sim coloque-o aqui. 

Citar

 

 

 

Você tem o código disponível? Se tiver publique-o aqui: 

 

Spoiler

local monsterPosition = {x = 32369, y = 32239, z = 7}
local lootBoostPosition = {x = 32369, y = 32240, z = 7}
local expBoostPosition = {x = 32369, y = 32239, z = 7}

local BOOST_SYSTEM_MONSTER_NAME_STORAGE = 12380
local BOOST_SYSTEM_LOOT_BONUS_STORAGE = 12381
local BOOST_SYSTEM_EXP_BONUS_STORAGE = 12382

string.upperAllFirst = string.upperAllFirst or function (str)
  return string.gsub(' ' .. str, '%W%l', string.upper):sub(2)
end

local days = {
  ["Sunday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"}, -- Domingo
  ["Monday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"}, -- Segunda-feira
  ["Tuesday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"}, -- Terça-feira
  ["Wednesday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"}, -- Quarta-feira
  ["Thursday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"}, -- Quinta-feira
  ["Friday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"}, -- Sexta-feira
  ["Saturday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"} -- Sábado
}

function onStartup()
  local monsters = days[os.date("%A")]
  if not monsters then
    return true 
  end
  
  
  local func = db.query or db.executeQuery
  local monster = monsters[math.random(1, #monsters)]
  print(monster)
  doSetStorage(BOOST_SYSTEM_MONSTER_NAME_STORAGE, monster:lower())
  doSetStorage(BOOST_SYSTEM_LOOT_BONUS_STORAGE, math.random(30, 50))
  doSetStorage(BOOST_SYSTEM_EXP_BONUS_STORAGE, math.random(30, 50))
  doCreateMonster(monster, monsterPosition, false, true)
  func("INSERT INTO monster_boost (monster, loot, exp) VALUES ('"..monster.."', '"..getStorage(BOOST_SYSTEM_LOOT_BONUS_STORAGE).."', '"..getStorage(BOOST_SYSTEM_EXP_BONUS_STORAGE).."')")
  return true
end

function onThink()
  local monsterName = getStorage(BOOST_SYSTEM_MONSTER_NAME_STORAGE)
  if monsterName == EMPTY_STORAGE then 
    return true
  end

  local creature = getTopCreature(monsterPosition)
  if not creature or creature.uid == 0 then 
    doCreateMonster(monsterName, monsterPosition, false, true)
  elseif getCreatureName(creature.uid):lower() ~= monsterName then
    doRemoveCreature(creature.uid)
    doCreateMonster(monsterName, monsterPosition, false, true)
  end

  --doSendAnimatedText(monsterPosition, string.upperAllFirst(monsterName), COLOR_LIGHTBLUE)
  doSendAnimatedText(lootBoostPosition, "Loot +" .. getStorage(BOOST_SYSTEM_LOOT_BONUS_STORAGE) .. "%", 194)
  doSendAnimatedText(expBoostPosition, "Exp +" .. getStorage(BOOST_SYSTEM_EXP_BONUS_STORAGE) .. "%", 194)

  return true
end
 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

Editado por Shoguns
por o script em spoiler (veja o histórico de edições)

Postado
Em 20/06/2021 em 22:01, Shoguns disse:

.Qual servidor ou website você utiliza como base? 

 

Qual o motivo deste tópico? 

Tenho um Script de Boost de exp e loot diário por monstro aleatório, o erro é que o monstro não é trocado, só muda quando reinicia o sv e executa a funcao startup, queria que o script tbm fizesse que o monstro fosse alterado junto com o dia

Está surgindo algum erro? Se sim coloque-o aqui. 

 

 

Você tem o código disponível? Se tiver publique-o aqui: 

 

  Mostrar conteúdo oculto

local monsterPosition = {x = 32369, y = 32239, z = 7}
local lootBoostPosition = {x = 32369, y = 32240, z = 7}
local expBoostPosition = {x = 32369, y = 32239, z = 7}

local BOOST_SYSTEM_MONSTER_NAME_STORAGE = 12380
local BOOST_SYSTEM_LOOT_BONUS_STORAGE = 12381
local BOOST_SYSTEM_EXP_BONUS_STORAGE = 12382

string.upperAllFirst = string.upperAllFirst or function (str)
  return string.gsub(' ' .. str, '%W%l', string.upper):sub(2)
end

local days = {
  ["Sunday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"}, -- Domingo
  ["Monday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"}, -- Segunda-feira
  ["Tuesday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"}, -- Terça-feira
  ["Wednesday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"}, -- Quarta-feira
  ["Thursday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"}, -- Quinta-feira
  ["Friday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"}, -- Sexta-feira
  ["Saturday"] = {"Dawnfire Asura", "Draken Abomination", "Behemoth", "Midnight Asura", "Serpent Spawn", "Medusa", "Draken Elite", "Skeleton Elite Warrior", "Hellhound", "Undead Dragon", "Ghastly Dragon", "Grim Reaper", "Demon", "Dragon Lord", "Hydra", "Frost Dragon", "Fury", "Warlock"} -- Sábado
}

function onStartup()
  local monsters = days[os.date("%A")]
  if not monsters then
    return true 
  end
  
  
  local func = db.query or db.executeQuery
  local monster = monsters[math.random(1, #monsters)]
  print(monster)
  doSetStorage(BOOST_SYSTEM_MONSTER_NAME_STORAGE, monster:lower())
  doSetStorage(BOOST_SYSTEM_LOOT_BONUS_STORAGE, math.random(30, 50))
  doSetStorage(BOOST_SYSTEM_EXP_BONUS_STORAGE, math.random(30, 50))
  doCreateMonster(monster, monsterPosition, false, true)
  func("INSERT INTO monster_boost (monster, loot, exp) VALUES ('"..monster.."', '"..getStorage(BOOST_SYSTEM_LOOT_BONUS_STORAGE).."', '"..getStorage(BOOST_SYSTEM_EXP_BONUS_STORAGE).."')")
  return true
end

function onThink()
  local monsterName = getStorage(BOOST_SYSTEM_MONSTER_NAME_STORAGE)
  if monsterName == EMPTY_STORAGE then 
    return true
  end

  local creature = getTopCreature(monsterPosition)
  if not creature or creature.uid == 0 then 
    doCreateMonster(monsterName, monsterPosition, false, true)
  elseif getCreatureName(creature.uid):lower() ~= monsterName then
    doRemoveCreature(creature.uid)
    doCreateMonster(monsterName, monsterPosition, false, true)
  end

  --doSendAnimatedText(monsterPosition, string.upperAllFirst(monsterName), COLOR_LIGHTBLUE)
  doSendAnimatedText(lootBoostPosition, "Loot +" .. getStorage(BOOST_SYSTEM_LOOT_BONUS_STORAGE) .. "%", 194)
  doSendAnimatedText(expBoostPosition, "Exp +" .. getStorage(BOOST_SYSTEM_EXP_BONUS_STORAGE) .. "%", 194)

  return true
end
 

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 

 

eu acho que o server precisa ser reiniciado pra ele Atualizar um Novo Monstro

Postado
  • Autor
2 horas atrás, diegokenshin disse:

eu acho que o server precisa ser reiniciado pra ele Atualizar um Novo Monstro

Sim. foi oq eu falei acima, quero que o script atualize o monstro assim que mudar o dia

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo