TavinhoMTA Posted March 23, 2019 Share Posted March 23, 2019 (edited) -------------------------------------------------------------------------------------------------- function upLevel (thePlayer) for i,player in ipairs(getElementsByType("player")) do if ( player ) then if ( getPlayerAccount(player) ) and not ( isGuestAccount(getPlayerAccount(player)) ) then setElementData(player,"minutes",(getElementData(player,"minutes") or 0) +1) if ( getElementData(player,"minutes") > 59 ) then setElementData(player,"minutes",0) setElementData(player,"Level",(getElementData(player,"Level") or 0) +1) local bonus = math.random(1200,7200) local value = (bonus) givePlayerMoney(player,value) outputChatBox("#000000===================================", player, 255, 255, 255, true ) outputChatBox(" #ffffff「 #00ff00Level System #ffffff」 ", player, 255, 255, 255, true ) outputChatBox("#FFFFFFPagamento: R$ #00FF00"..value, player, 255, 255, 255, true ) outputChatBox("#000000===================================", player, 255, 255, 255, true ) local accName = getAccountName ( getPlayerAccount ( player ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Everyone" ) ) then end end end end end end setTimer(upLevel,3600,0) function setLevelLogin () local account = getPlayerAccount(source) if ( account ) then local Level = (getAccountData(account,"Level") or 0) local minutes = (getAccountData(account,"minutes") or 0) setElementData(source,"Level",Level) setElementData(source,"minutes",minutes) end end addEventHandler("onPlayerLogin",getRootElement(),setLevelLogin) function setLevelJoin () setElementData(source,"Level",0) setElementData(source,"minutes",0) end addEventHandler("onPlayerJoin",getRootElement(),setLevelJoin) function setLevelQuit () local account = getPlayerAccount(source) if ( account ) then local minutes = (getElementData(source,"minutes") or 0) local Level = (getElementData(source,"Level") or 0) setAccountData(account,"minutes",minutes) setAccountData(account,"Level",Level) end end addEventHandler("onPlayerQuit",getRootElement(),setLevelQuit) Alguem me ajudar com script de level eu quero por uma Forma de Seta Level Ex: /level tavinho 100 ( Obs: Apenas uma ajudar ! Quem quiser ajudar...) Edited March 23, 2019 by TavinhoXP Link to comment
Other Languages Moderators Lord Henry Posted March 23, 2019 Other Languages Moderators Share Posted March 23, 2019 Olá novamente mano. Vejo que vc está cometendo um pequeno equívoco na formatação de seu tópico. O texto da sua dúvida deve vim antes do código e não depois dele. Veja as regras aqui: https://forum.multitheftauto.com/topic/114671-vídeo-tudo-sobre-este-fórum/ Agora sobre a sua dúvida, você deve adicionar um comando ativador por meio do addCommandHandler e dai nos parâmetros dele você declara qual comando deseja usar (no caso é "level") e qual função será ativada com ele. Dai os valores que vc vai declarar depois do comando, você adiciona como parâmetros de função, da mesma forma que mostra a wiki. Exemplo: function levelComando (thePlayer, cmd, nick, nivel) -- thePlayer é o jogador que executou o comando. local jogador = getPlayerFromName (nick) -- a variável jogador recebe o player com este nick, será false se não existir. if jogador then -- Se existe um jogador com o nick informado, então: setElementData (jogador, "Level", tonumber (nivel) or 0) -- Seta o level nesse jogador (converte o nível de texto pra número antes de setar no jogador, se não for possível converter pra número, seta level 0 no jogador) outputChatBox ("Level setado com sucesso: "..getElementData (jogador, "Level"), thePlayer, 0, 255, 0) else -- Se não existe um jogador com o nick informado (se o nome tem códigos de cores, vc deve colocar também) outputChatBox ("Nenhum jogador com o nick informado foi encontrado.", thePlayer, 255, 0, 0) end end addCommandHandler ("level", levelComando) -- /level nickExato 100 Link to comment
Jonas^ Posted March 23, 2019 Share Posted March 23, 2019 (edited) Uma pergunta, tem diferença em usar GetPlayerFromPartialName ou GetPlayerFromName, sempre uso GetPlayerFromPartialName pra esse tipo de caso. OBS: Pelo que vi na wiki, as 2 retorna um jogador, posso estar errado. @Lord Henry Edited March 23, 2019 by Jonas^ Link to comment
Other Languages Moderators Lord Henry Posted March 23, 2019 Other Languages Moderators Share Posted March 23, 2019 (edited) @Jonas^ - Brothers A diferença é que o getPlayerFromPartialName não precisa ser o nick exato do jogador, ele retornará o primeiro jogador que encontrar cujo nick tiver qualquer parte com essa string. Já o getPlayerFromName precisa informar o nick inteiro exato, caso contrário ele não encontra o jogador. Eu optei pelo getPlayerFromName nesse caso apenas pois eu não quis complicar usando função útil. Achei mais fácil pra ele entender usando a função nativa do MTA. Claramente se eu fosse fazer o script pra mim, usaria com o Partial. Se tem um jogador com o nick #00bfffLord, ocorre o seguinte: getPlayerFromName ("Lord") -- Retornará false. Não encontra o jogador. getPlayerFromPartialName ("Lord") -- Retornará o jogador, pois essa string existe dentro do nick dele. Mesmo se existir outro jogador com essa string também, retornará somente o primeiro jogador encontrado. getPlayerFromName ("#00bfffLord") -- Retornará o jogador. Pois o nick dele é igual a este. getPlayerFromPartialName ("#00bfffLord") -- Retornará o jogador. Pois essa string foi encontrada no nick dele (no nick inteiro). Edited March 23, 2019 by Lord Henry 2 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