OrionTH1 Posted May 6, 2022 Share Posted May 6, 2022 Boa noite, eu estou querendo fazer um sistema como o do ffs, que tem um "menu" e você escolhe o modo de jogo. Já fiz o menu e etc, só não sei como fazer um sistema que quando o player clique em um modo de jogo, o gamemode inicie só pra ele e pras pessoas que também clicaram no mesmo modo de jogo, exemplo: No menu o player escolhe o modo de jogo de corrida, e então, o gamemode de corrida inicia só pro player que escolheu o modo de jogo de corrida, depois outro player no menu escolhe o modo de jogo de corrida também, e então, o player vai entrar no mesmo gamemode de corrida que o player anterior está, porque os dois escolheram os mesmo modo. A minha dúvida é como eu faço esse sistema kkkk, como eu faço pra um gamemode iniciar no client, pra iniciar só pros players que escolheram tal modo, igual no exemplo acima, pq o "normal" quando um gamemode inicia, é iniciar no server e para todos, então não faria sentido um player escolher o modo de jogo corrida e o gamemode corrida iniciar pra todos que estão no servidor e não só pro player que escolheu o modo de jogo corrida. Sei que pedir um código completo disso tudo é pedir muito kkk, então eu só quero saber como eu faço isso e o que eu uso pra fazer isso Desde já agradeço pela ajuda, uma boa noite Link to comment
Gw8 Posted May 13, 2022 Share Posted May 13, 2022 (edited) Eu trabalhei com muitos sistemas desse modelo, para Multi GameMode especificamente o melhor resultado é você criar o gerenciador de arquivos(mapas) fora mta, em um webservice php por exemplo, já para as arenas a melhor opção é utilizar eventos com base em resourceRoot, vai precisar tbm fazer tudo que o mta já faz nativamente porém fazendo alguns override em funções para conseguir carregar mapas e scripts com êxito, resumindo baixar mapas e script utilizando fetchremote e controlar o sistema utilizando eventos com resourceRoot, caso deseja comprar um sistema pode entrar em contato comigo, tenho um pronto, tmj. Edited May 13, 2022 by Lord Henry 1 Link to comment
Other Languages Moderators Lord Henry Posted May 13, 2022 Other Languages Moderators Share Posted May 13, 2022 Ou você pode simplesmente usar um elementData no jogador, onde cada gamemode só funciona nos jogadores que possuam um valor específico nesse elementData. É claro que isso será muito complexo, visto que todos os resources que dependem do gamemode precisarão fazer essa verificação de data também, o que vai prejudicar seu desempenho no servidor. Outra alternativa seria existir uma tabela global de jogadores onde cada jogador entra em um índice diferente após escolher o Gamemode no painel de login. Então cada gamemode e cada resource que dependa de gamemode irá verificar essa tabela usando um call (exports). gamemodeDeGeral = { ["Freeroam"] = {}, ["Race"] = {}, ["DM"] = {}, ["DayZ"] = {}, ["RPG"] = {}, } addEventHandler("onPlayerLogin", root, function(thePlayer) table.insert(gamemodeDeGeral["Freeroam"], thePlayer) -- Exemplo para inserir um player que acabou de logar no Freeroam. end) addEventHandler("onPlayerLogout", root, function(thePlayer) for i,p in pairs (gamemodeDeGeral["Freeroam"]) do if (p == thePlayer) then gamemodeDeGeral["Freeroam"][i] = nil -- Exemplo para remover um player da tabela Freeroam ao deslogar. return end end end) 1 Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now