
-
-
-
Spawn monstros alavanca
teria que ter um intervalo que fica verificando se os monstros já morreram. e caso contrário a função vai criar de novo. uma forma de fazer isso: usar um game storage que vai armazenar os IDs dos monstros que foram criados. daí a função de invervalo vai pegar o valor desse storage e ver se os monstros ainda estão vivos (usando ` Monster(monsterId) `) Esse tópico tem o que você precisa. ?
-
-
-
-
-
-
Hati New AAC
O que quis dizer é que usar PHP é meio ultrapassado. React e Node não é mais “estar na moda” e sim se adaptar ao mercado. Estou apenas incentivando o uso xD Mas nada contra os AAC atuais. Inclusive servem muito bem o propósito. @Yinz inclusive, já tenho uma base em Node de uma API que consulta os dados MySQL de um OT. Só preciso fazer uns updates pois isso foi feito em 2018: https://github.com/edaegonis/forgottensite E também trocar de nome, pois usar "forgotten" é meio plágio. Vou iniciar um projeto novo e pegar algumas coisas que existem nesse repositório. Quando eu fizer isso eu coloco a URL aqui para quem quiser contribuir. Vamos se falando pra dar continuidade ?
-
-
-
Hati New AAC
Cara, confesso que estou surpreso de ler esse tipo de sugestão, e fico feliz pois já estive pensando nessas possibilidades. NodeJS e React já não são tecnologias tão recentes, e hoje em dia a linguagem Javascript consegue alcançar todos tipos de soluções relacionadas a web e inclusive mobile. Acho que já passou da hora de trazer algo nesse sentido para OTServs. Só que, antes tarde do que nunca haha ? Estou me colocando a disponibilidade pra fazer parte desse projeto. Hoje eu trabalho como engenheiro e uso javascript em todas minhas aplicações. Vamos começar com um MVP com as funcionalidades mais essenciais de gerenciamento de conta(login, characters, etc.) e o básico de análise(highscores, etc.) O que acha?
-
edaegonis reagiu a uma resposta no tópico: Sistema de teleports por waypoints (descobrir áreas no mapa)
-
-
-
-
-
(Resolvido)Mana e Life Scroll por vocation com Limite
É simples, você pode usar o player storage para chegar nesse resultado. Na sua função verifique a vocação do player, e veja se o storage (que você criou) dele é menor do que o valor permitido para a vocação. Caso positivo, você adiciona vida/mana máxima ao player, e adiciona +1 ao valor da storage. Caso negativo, você pode enviar uma mensagem dizendo que já usou o limite
-
[AJUDA] COLOCANDO SERVIDOR EM MYSQL
Bom cara, eu posso tentar te ajudar, mas acho difícil pois o distro crashou no meio da conexão com o banco de dados, e ficamos sem nenhum erro para começar a debugar. Primeiramente, você tem o mysql server configurado na sua máquina? Se você tem o XAMPP para configurar o Apache do seu website, ele também pode configurar o ambiente do MySQL. Tente acessar o seu MySQL pelo terminal/bash (através do painel de controle do Xampp). Se você conseguir, digite esse comando: show databases; E me mostre o resultado
-
Bug query MYSQL Linux
Esse erro está sendo causado pois a tabela player_spells não existe no seu banco de dados. Acesse o seu banco de dados e rode essa query: CREATE TABLE `player_spells` ( `player_id` INT(11) NOT NULL, `name` VARCHAR(255) NOT NULL, INDEX `player_id` (`player_id`), FOREIGN KEY (`player_id`) REFERENCES `players` (`id`) ON DELETE CASCADE ); e veja se funciona
-
-
(Resolvido)Ajudaaaa please
Troque a linha 50 por isso e veja se funciona $config['site']['newchar_towns'][0] = array(1);
-
(Resolvido)Ajudaaaa please
Geralmente aí aparecme os towns configurados para os novos personagens no arquivo config/config.php Se o seu site tem esse arquivo coloque ele aqui para eu dar uma olhada
-
Error Account Manager
Você está utilizando o TFS 1.3 e aparentemente existe um script chamando a função getPlayerStorageValue, e essa função não existe no TFS 1.3 Ela deve ser substituída por player:getStorageValue(key) Se você me passar o código eu posso te dar uma solução com mais precisão
-
-
-
(Resolvido)[Creaturescript] tempo pra avançar um level ----> "you advanced from level 227 to level 228 in 20 minutes and 40 seconds"
Esse erro está no arquivo newadvance.lua, na linha 10. No final dessa linha está chamando a função secondsToClock, mas essa função não é global e não está nesse arquivo. Solução: Acho essa linha deveria estar no início do arquivo newadvance.lua: STORAGE_FOR_TIMESTAMP = 15854 Insira essa função no final do arquivo newadvance.lua: local function secondsToClock(seconds, worded) -- Returns inputted seconds as a formatted string local seconds = tonumber(seconds) if seconds <= 0 then if worded == true then return "0 seconds."; else return "00:00:00"; end else local hours = string.format("%02.f", math.floor(seconds/3600)); local mins = string.format("%02.f", math.floor(seconds/60 - (hours*60))); local secs = string.format("%02.f", math.floor(seconds - hours*3600 - mins *60)); if worded == true then return ((seconds<3600 and "") or ((math.floor(seconds/3600) == 1 and "1 hour, ") or (math.floor(seconds/3600)) .. " hours, ")) .. ((seconds < 60 and "") or ((math.floor(seconds/60 - (hours*60)) == 1 and "1 minute, and ") or (math.floor(seconds/60 - (hours*60)).. " minutes, and "))) .. ((math.floor(seconds - hours*3600 - mins *60) == 1 and "1 second") or (math.floor(seconds - hours*3600 - mins *60).. " seconds")) .. "." else return hours..":"..mins..":"..secs end end end
-
Monstros são criados apenas se já forem mortos
Bom pessoal, esse é um script bem simples, mas eu gosto da ideia dele, e não consegui encontrar por aí. É uma boa solução pra quando você quer summonar monstros numa quest, e se tiver vários players não ficará summonando monstros várias vezes. Esse script está sendo usado ao dar use num chest, mas está a seu critério onde utilizar. monstersToCreate = { [1] = { name = 'Lost Berserker', position = {x = 1034, y = 1425, z = 15} }, [2] = { name = 'Lost Thrower', position = {x = 1028, y = 1424, z = 15} }, [3] = { name = 'Lost Basher', position = {x = 1034, y = 1427, z = 15} }, [4] = { name = 'Lost Thrower', position = {x = 1040, y = 1423, z = 15} }, [5] = { name = 'Lost Husher', position = {x = 1030, y = 1430, z = 15} }, [6] = { name = 'Lost Husher', position = {x = 1038, y = 1429, z = 15} } } function onUse (player, item, param) if item:getActionId() == 45016 then if player:getStorageValue(45016) == -1 then player:addItem(2517, 1) -- shield of honour player:addItem(2502, 1) -- dwarven helmet local currentMonsters = Game.getStorageValue(45016) if currentMonsters then for v = 1, #currentMonsters do local monsterId = currentMonsters[v] local isMonsterAlive = Monster(monsterId) if not isMonsterAlive then local createdMonster = Game.createMonster(monstersToCreate[v].name, monstersToCreate[v].position) currentMonsters[v] = createdMonster:getId() end end Game.setStorageValue(45016, currentMonsters) else local createdMonsters = {} for i = 1, #monstersToCreate do local createdMonster = Game.createMonster(monstersToCreate[i].name, monstersToCreate[i].position) table.insert(createdMonsters, createdMonster:getId()) end Game.setStorageValue(45016, createdMonsters) end player:setStorageValue(45016, 1) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You've got a reward.") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You've already got your reward.") end end return true end actions.xml: <action actionid="45016" script="seu_script.lua" /> Se alguém quiser aprimorar o script, sinta-se à vontade ?
-
[ERRO] Database e Mysql
Esse erro acontece pois não está sendo possível conectar ao MySQL utilizando o usuário 'forgottenserver'@'localhost' A configuração das credenciais ficam no config.lua. Procure lá e troque para as credenciais corretas do seu MySQL server. As vezes, trocando o forgottenserver por root já funciona ?
-
SOCORRROOOOOO
@Emanueldk você pode hostear ele no seu próprio pc, se o seu roteador tiver as configurações corretas; mas essa forma é a mais complicada pois ainda existem provedores que bloqueiam esse acesso através do modem. Eu aconselho você colocar o seu site num host gratuito, existem vários por aí, por exemplo esse que já usei: https://infinityfree.net/ Você vai precisar basicamente fazer upload da pasta do seu site e do seu banco de dados. Acredito que eles possuam um tutorial ou algo do tipo. Qualquer dúvida só chamar aí ?
-
Erro Script Função getCreatureName
@peterson18 está quase, faltou remover o if desnecessário acredito que a versão correta do script seria assim: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local nome = getCreatureName(cid) if msgcontains(msg, "blz") or msgcontains(msg, "blzz") and talkState[talkUser] == 1 then selfSay("Olá, como está ".. nome ..", faz tempo que não aparece por aqui... Em que posso lhe ajudar?",cid) return true end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) veja se deu certo ?
-
SOCORRROOOOOO
E ai cara, tudo certo? Bom, primeiramente, vou te explicar uns conceitos sobre desenvolvimento web: CSS - esse é o cara que faz o estilo da sua página, ou seja, a maioria dos detalhes visuais. Por exemplo: a cor de um botão, o tamanho da fonte de um texto, a distância entre elementos, etc. Geralmente, dentro da pasta do seu site, ele é um arquivo com o nome styles.css. Se não existir esse nome, procure por arquivos que terminem com .css. Você vai precisar desse cara pra resolver alguns de seus problemas. HTML - esse aqui é responsável pela estrutura da sua página. Por exemplo: os textos, as tabelas, as imagens, os campos de digitar, os botões, etc. Geralmente os sites criados por gesior(de otserver em geral), o HTML fica em arquivos que terminam com .php. PHP - ele é responsável por gerar a parte dinâmica da sua página. Ele fica no lado do servidor, então, acredito que por agora o seu problema não seja com ele. Se você usa o navegador Google Chrome, vá para a sua página e aperte CTRL+SHIFT+C, vai abrir o inspecionador de elementos, tente brincar com esse cara. Com ele, você pode ver o estilo dos elementos e também qual arquivo .css que o elemento que você selecionou está utilizando: Além disso não tem muito o que eu possa ajudar, sem acessar o seu site.