Ir para conteúdo

A arte da POG


LuckOake

Posts Recomendados

Olá :)

 

Antes de mais nada, quero informar que este tutorial é apenas para descontração, e que não seja levado a sério, por favor. Não, é sério mesmo, não leve isso a sério ou você pode acabar com sua reputação.

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

Introdução

 

1) O que é POG?

 

POG, ou Programação Orientada a Gambiarras, é o modo de programar que faz um usuário chegar à um resultado de uma maneira extremamente nada convencional, tendo vários motivos, como a preguiça. É o ápice da carreira de um programador, em que ele se torna um gambiarrizador.

 

O primeiro POG conhecido foi feito em 1582 d.C. Atualmente, este POG é chamado de "Ano Bissexto", criado pelo Papa Gregório XIII. Este POG foi aplicado quando descoberto que a Terra leva 365 dias e 6 horas para dar uma volta no Sol, sendo que nosso calendário tem apenas 365 dias, fazendo com que tenhamos 6 horas a menos no ano.

 

Ao invés de corrigir o sistema para que não houvesse essa diferença, a solução adotada pelo Papa foi: "A cada quatro anos, é só colocar mais um dia". E então foi criado o primeiro POG de que se tem notícia. Por causa desse fato, dia 29 de fevereiro ficou conhecido como "Dia Internacional da POG", instituído em 1930.

 

2) POGs Conhecidas

 

- Windows

- Qt

- Universo

- MacGyver

- Scripts do Caotic

 

Sendo um POGger

 

Antes de se tornar um POGger, há alguns requisitos básicos:

 

- Preguiça

- Final de semana

- Véspera de feriado ou feriado

- Windows

- Imaginação

 

Após ter esses requisitos, você pode começar a ser o mestre dos mestres, o gambiarrizador. O tipo de programador que consegue fazer o confuso ficar complexo.

 

Comecemos com um script básico, que soma 3 com 50.

 

local a = 3
local b = a + 50
local c = b
print(c)

 

E um script que diz sim se a = b.

 

local a = 3
local b = 2

if b == a then
print("Sim")
end
if b ~= a then
print("Não")
end

 

Ou então, para gerar um número aleatório.

 

function generateRandomNumber()
return 4
end

 

(OBS: A melhor parte é teimar que o número é aleatório)

 

E até mesmo pra saber se o número é par:

 

function isPar(number)
local x = {1, 3, 5, 7 , 9}
local number = tostring(number)
local a = string.sub(number, #number)
local a = tonumber(a)
for i =1, #x do
if a == x[i] then
return false
end
end
return true
end

 

Para descobrir se alguém está online também:

 

function isOnline(cid)
local player = {}
for a, b in ipairs(getPlayersOnline()) do
if b == cid then
table.insert(player, cid)
end
end
if #player > 0 then
return true
else
return false
end
end

 

Ou montando frases:

 

function pogeandoComCaotic(array) -- Quem precisa de table.concat?
k = 1
while k < #array+1 do
x = ""..(x or "").." "..array[k]..""
k = k+1
end
return x
end

local a = {"usar","table","concat","e","para","os","fracos"}

print(pogeandoComCaotic(a))

 

Afinal, pra quê table.concat quando se tem um caotic?

 

- POGs falhos

 

Só vale lembrar que nem sempre um POG vai funcionar, muitas vezes ele vai acabar explodindo o PC da pessoa dando erro.

 

local a = 3
while a ~= 100 do
if a then
os.execute("ECHO "..a.."")
local a = a + 1
end
end

Final

 

Como já dizem os grandes programadores gambiarrizadores: "Não importa a gambiarra, o que importa é o resultado final".

 

Felizmente, ninguém escapa do POG. Programador que não usa POG é poser.

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

É isso galera, obrigado e NÃO SEJAM POGGERS :)

 

Créditos:

 

- LuckOake -- Pelo "tutorial" e scripts
- Caotic -- Por alguns POGs
- Slicer -- Por ajudar com um POG
- Desciclopédia -- Por algumas informações

Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

kkkk muito bom ms luck...

o caotic ta virando mestre nisso ultimamente...

eu n flo nd pq eu considero TODOS os meus scripts como POGs... mas como a frase q tu coloco ae.. o importante eh essa bagaça funcionar!

Link para o comentário
Compartilhar em outros sites

kkkk muito bom ms luck...

o caotic ta virando mestre nisso ultimamente...

eu n flo nd pq eu considero TODOS os meus scripts como POGs... mas como a frase q tu coloco ae.. o importante eh essa bagaça funcionar!

 

E isto ai slicer.

Foda-se o processamento da maquina e viva o pog

Link para o comentário
Compartilhar em outros sites

Sou POG desde 2012, recomendo bastante

Você faz as coisas com a mesma velocidade de uma mula manca do nordeste

E os clientes vão adorar seu script da mesma forma que eles adoram o justin bieber ou o restart

Link para o comentário
Compartilhar em outros sites

@caotic

kkk nem me fle.. oia isso aki..

 

function nextHorario(cid)
   horarioAtual = os.date("%X")
   horario = string.explode(horarioAtual, ":")

   for i = 1, #horas do
    horarioComparacao = horas[i]
    horarioComp = string.explode(horarioComparacao, ":")
    ---------------
    if tonumber(horarioComp[1]) > tonumber(horario[1]) then
	   return horarioComparacao							     
    elseif tonumber(horarioComp[1]) == tonumber(horario[1]) and tonumber(horario[2]) < tonumber(horarioComp[2]) then
	   return horarioComparacao
    end
   end
   return horas[1]								  
end   

function showTimeDiff(timeComp)
local b = string.explode(os.date("%X"), ":")
local c = string.explode(timeComp, ":")
   ---
   local d, m, y = os.date("%d"), os.date("%m"), os.date("%Y")
   local hAtual, mAtual = tonumber(b[1]), tonumber(b[2])
   local hComp, mComp = tonumber(c[1]), tonumber(c[2])
   ---
   local t = os.time{year= y, month= m, day= d, hour= hAtual, min= mAtual}
   local t1 = os.time{year= y, month= m, day= d, hour= hComp, min= mComp}
   ---																	    
   comparacao = t1-t
   if hComp < hAtual then
   v = os.time{year= y, month= m, day= d, hour= 24, min= 0}
   v2 = os.time{year= y, month= m, day= d, hour= 0, min= 0}
   comparacao = (v-t)+(t1-v2)
   end
return getTimeDiff(comparacao)
end

function getTimeDiff(timeDiff)
local dateFormat = {
{'hour', timeDiff / 60 / 60}, --6%
{'min', timeDiff / 60 % 60},
}
local out = {}								   
for k, t in ipairs(dateFormat) do
   local v = math.floor(t[2])
   if(v > -1) then
	 table.insert(out, (k < #dateFormat and '' or ' and ') .. v .. '' .. (v <= 1 and t[1] or t[1].."s"))
   end
end
if tonumber(dateFormat[1][2]) == 0 and tonumber(dateFormat[2][2]) == 0 then
  return "seconds"
end
return table.concat(out)
end

 

 

oq 'isso' deve fazer... pegar a hora atual e comparar com uma tabela, dai pegar a proxima hora dessa tabela e depois pegar a diferença dessas 2 horas... vo nem comenta oq eu fiz ae kk ainda bem q ela n eh 'muito' executada no serv.. kkk vm q vm

Editado por Slicer
Link para o comentário
Compartilhar em outros sites

@caotic

kkk nem me fle.. oia isso aki..

 

function nextHorario(cid)
horarioAtual = os.date("%X")
horario = string.explode(horarioAtual, ":")

for i = 1, #horas do
	horarioComparacao = horas[i]
	horarioComp = string.explode(horarioComparacao, ":")
	---------------
	if tonumber(horarioComp[1]) > tonumber(horario[1]) then
	   return horarioComparacao								
	elseif tonumber(horarioComp[1]) == tonumber(horario[1]) and tonumber(horario[2]) < tonumber(horarioComp[2]) then
	   return horarioComparacao
	end
end
return horas[1]								  
end  

function showTimeDiff(timeComp)
local b = string.explode(os.date("%X"), ":")
local c = string.explode(timeComp, ":")
---
local d, m, y = os.date("%d"), os.date("%m"), os.date("%Y")
local hAtual, mAtual = tonumber(b[1]), tonumber(b[2])
local hComp, mComp = tonumber(c[1]), tonumber(c[2])
---
local t = os.time{year= y, month= m, day= d, hour= hAtual, min= mAtual}
local t1 = os.time{year= y, month= m, day= d, hour= hComp, min= mComp}
---																		
comparacao = t1-t
if hComp < hAtual then
   v = os.time{year= y, month= m, day= d, hour= 24, min= 0}
   v2 = os.time{year= y, month= m, day= d, hour= 0, min= 0}
   comparacao = (v-t)+(t1-v2)
end
return getTimeDiff(comparacao)
end

function getTimeDiff(timeDiff)
local dateFormat = {
{'hour', timeDiff / 60 / 60}, --6%
{'min', timeDiff / 60 % 60},
}
local out = {}								  
for k, t in ipairs(dateFormat) do
local v = math.floor(t[2])
if(v > -1) then
	 table.insert(out, (k < #dateFormat and '' or ' and ') .. v .. '' .. (v <= 1 and t[1] or t[1].."s"))
end
end
if tonumber(dateFormat[1][2]) == 0 and tonumber(dateFormat[2][2]) == 0 then
  return "seconds"
end
return table.concat(out)
end

 

 

oq 'isso' deve fazer... pegar a hora atual e comparar com uma tabela, dai pegar a proxima hora dessa tabela e depois pegar a diferença dessas 2 horas... vo nem comenta oq eu fiz ae kk ainda bem q ela n eh 'muito' executada no serv.. kkk vm q vm

 

Eu curti a função nextHorario.

Teve que ate separar os valores do ":" e depois transformar tudo em numero para depois comparar valores numa tabela.

E isto ai slicer gostei

Editado por caotic
Link para o comentário
Compartilhar em outros sites

Nah, para explodir o PC é assim:

 

		repeat
			while true do
					for i = 1, math.huge do
							os.execute("ECHO " .. i)
					end
			end
	until false

 

By: vulpes vulpes Skyen Hasus

Editado por Oneshot
Link para o comentário
Compartilhar em outros sites

function isOnline(cid)

local player = {}

for a, b in ipairs(getPlayersOnline()) do

if b == cid then

table.insert(player, cid)

end

end

if #player > 0 then

return true

else

return false

end

end

 

Quem fez esse pog?

Link para o comentário
Compartilhar em outros sites

function isOnline(cid)

local player = {}

for a, b in ipairs(getPlayersOnline()) do

if b == cid then

table.insert(player, cid)

end

end

if #player > 0 then

return true

else

return false

end

end

 

Quem fez esse pog?

 

Eu mesmo :)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...