Jump to content

[Ajuda] Script Dias


Recommended Posts

Eae :D

Estava tentando fazer uma conversão dos dia que são contados em Numeros por os nomes deles só que não estava conseguindo se alguem poder me da uma ajudinha agradeço :)

addEventHandler("onClientRender", root, 
    function () 
    local time = getRealTime() 
    local Days = time.weekday        
        dxDrawText(Days, 1045, 606, 1105, 624, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) 
    end 
)    

Esse ai e o codigo para pegar os dias com o getRealTime ( https://wiki.multitheftauto.com/wiki/GetRealTime ) e o weekday que me da os dias da semana!

Bom queria converte esses dias que vem no formato 0,1,2,3, etc em Domingo, Segunda, Terça, etc, mas como só iniciante em lua não consegui ;( , sei que existe o formatDate ( https://wiki.multitheftauto.com/wiki/FormatDate) que ja faz isso mas não consegui usa-lo, se poder me ajudar agradeço desde já :D

Link to comment
Eae :D

Estava tentando fazer uma conversão dos dia que são contados em Numeros por os nomes deles só que não estava conseguindo se alguem poder me da uma ajudinha agradeço :)

addEventHandler("onClientRender", root, 
addEventHandler("onClientRender", root, 
    function () 
    local time = getRealTime() 
    local day = time.weekday        
        dxDrawText(Days, 1045, 606, 1105, 624, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) 
    end 
)    

Esse ai e o codigo para pegar os dias com o getRealTime ( https://wiki.multitheftauto.com/wiki/GetRealTime ) e o weekday que me da os dias da semana!

Bom queria converte esses dias que vem no formato 0,1,2,3, etc em Domingo, Segunda, Terça, etc, mas como só iniciante em lua não consegui ;( , sei que existe o formatDate ( https://wiki.multitheftauto.com/wiki/FormatDate) que ja faz isso mas não consegui usa-lo, se poder me ajudar agradeço desde já :D

Usa if e elseif

function days () 
    local time = getRealTime() 
    local day = time.weekday 
if day == 1 then   
        dxDrawText("Domingo", 1045, 606, 1105, 624, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) 
elseif day == 2 then 
        dxDrawText("Segunda", 1045, 606, 1105, 624, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) 
elseif day == 3 then 
        dxDrawText("Terça", 1045, 606, 1105, 624, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) 
elseif day == 4 then 
        dxDrawText("Quarta", 1045, 606, 1105, 624, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) 
elseif day == 5 then 
        dxDrawText("Quinta", 1045, 606, 1105, 624, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) 
elseif day == 6 then 
        dxDrawText("Sexta", 1045, 606, 1105, 624, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) 
elseif day == 7 then 
        dxDrawText("Sabado", 1045, 606, 1105, 624, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false)       
    end 
end  
addEventHandler ("onClientRender", root, days) 

Nao sei se esta certo os dias mas e assim espero que tenha entendido se der erro me avise :wink:

Link to comment

É mais fácil usar uma tabela pra isso.

local dias = { 
    [0] = "Domingo"; 
    [1] = "Segunda"; 
    [2] = "Terça"; 
    [3] = "Quarta"; 
    [4] = "Quinta"; 
    [5] = "Sexta"; 
    [6] = "Sábado" 
} 
  
addEventHandler( "onClientRender", root, 
    function () 
        local time = getRealTime() 
        local Days = time.weekday       
        dxDrawText( dias[Days], 1045, 606, 1105, 624, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) 
    end 
) 

Link to comment

BonSay~^

eu tentei usar o If e o elseif, mas não consegui kkkkkkkk

Bom o seu funciono e tu teve um grande ideia em fazer assim, porque, assim posso destacar algum dia seja pela cor ou o tamanho da fonte :D vlw manin <3

--

n3wage

Seu tbm funciono e fico muito mais compacto com a tabela kkkkk, qui pena que so muito burro para não ter pensado nela antes de fazer o post mas vlw tbm kk <3

--

Mas agora só tem um problema eu percebi que o getRealTime pega o dia do meu pc algum de vcs dois sabem uma função que pegue a do jogo? se sim vou ficar muito agradecido dnvo kkk :D

Link to comment

Não sei se existe uma função para pegar dia de semana, mas da pra fazer uma gambiarra tipo essa pra atualizar o dia conforme o horário do getTime:

  
local dias = { 
    [0] = "Domingo"; 
    [1] = "Segunda"; 
    [2] = "Terça"; 
    [3] = "Quarta"; 
    [4] = "Quinta"; 
    [5] = "Sexta"; 
    [6] = "Sábado" 
} 
  
local dia = 0 
  
setTimer(function() 
    local h, m = getTime()  
    if(h == 0 and m == 0) then 
        if(dia == 6) then 
            dia = 0 
        else 
            dia = dia + 1 
        end 
    end 
end, 1000, 0) 
  
addEventHandler( "onClientRender", root, 
    function ()     
        dxDrawText( dias[dia], 1045, 606, 1105, 624, tocolor(255, 255, 255, 255), 1.00, "default", "left", "center", false, false, false, false, false) 
    end 
) 

Edited by Guest
Link to comment

Por mais que o BonSay tenha tido a melhor intenção do mundo em te ajudar (acredito nisso), a solução do n3wage com tabela é sem comparação.

Porém, como você quer basear os dias da semana no horário do jogo, a "gambiarra" (assim por ele dito) do Hornet fica sendo a melhor opção. Isso porque o getTime() não tem esse controle de dias de semana. Aí, para você não resetar a semana toda vez que o script parar, importante salvar o dia da semana toda vez que o evento "onResourceStop" for chamado. Você pode usar o setAccount() do MTA (não quero sugerir o uso de queries diretas com dbExec() e companhia). Crie uma conta qualquer, "myServerManager", onde você pode salvar esse tipo de informação.

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...