Ir para conteúdo
Entre para seguir isso  
Mock

Teste! Venha saber se vc sabe lua!

Recommended Posts

Mock    32
Mock
Desafio 2.0

 

Resultado do 1º:

Capaverde com script:

local t = {}

for x=1,#players do

table.insert(t, getPlayerLevel(players[x]))

end

menor_level = math.min(unpack(t))

for k,v in pairs(t) do

if v == menor_level then

return players[k]

end

end

 

 

Desafio 2.0:

 

Agora e algo mais simples,

O tfs (the Forgotten server) tem a opção de salvar global storages p vc derurbar o ot e ela nao sumir, agora o problema é que: global storage nao salva STRING e o desafio desta vez é:

Criar um modo de salvar string em algum lugar ou coisa e pegar o que estiver la depois.

 

Dessa vez eu quero varirar vou colocar 1 forma de faze-lo porem dentro de spoiler

PS: nao vale copiar do spoiler :D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

VocÊ tem certeza...

function writeGlobalString(vauleid,string)

local file = io.open(vauleid..".vld", "a+")

file:write("vld = '"..string.."'")

file:close()

end

function readGlobalString(vauleid)

dofile(vauleid..".vld")

return vld

end

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Editado por Mock

Compartilhar este post


Link para o post
Compartilhar em outros sites
Elys Zarox    0
Elys Zarox

mock eu sinceramente nao intendi oq vc quer ai =p, entra msn e me explica pq intendi absolutamente nada

Compartilhar este post


Link para o post
Compartilhar em outros sites
GuilhermeSinX    0
GuilhermeSinX

Na real, não entendi nadadessamerda. :soudado:

Compartilhar este post


Link para o post
Compartilhar em outros sites
Kaotar    5
Kaotar

Simples ele quer uma tabela com os resultados de leveis por ordem crescente que é bem facil de fazer. :)

 

Se realmente for isso, quer que eu poste aqui?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eventide    7
Eventide

interessante, da pra fazer, mas seria perda de tempo, não ? pra que eu usaria isso? u.U

Compartilhar este post


Link para o post
Compartilhar em outros sites
Kaotar    5
Kaotar

Nao é nescessario que seja feito, ja existem o tal comando no lua.

 

Flws :bye:

Compartilhar este post


Link para o post
Compartilhar em outros sites
Dark    3
Dark

Basta usar o comando table.sort e pegar o primeiro valor da tabela. Assim:

 

local tab = {3, 8, 1, 24, 5}

table.sort(tab)

doPlayerSendTextMessage(cid, 22, "O menor numero é: "..tab[1])

 

Acho que assim da Oo

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock
local tab = {3, 8, 1, 24, 5}

 

table.sort(tab)

 

doPlayerSendTextMessage(cid, 22, "O menor numero é: "..tab[1])

 

em 60% isso,

tipo tem uma tabela com IDS de players, u que eu disse no topico e que:

doPlayerSendTextMessage(cid, 22, "O menor level é de:"..getPlayerName(idEmReturn)) ou seja pegar todos os player o level de todos e o que tiver menor level dar return apenas NO ID dele :P

isso me fez quebrar a cabeça XD

Compartilhar este post


Link para o post
Compartilhar em outros sites
Capaverde    1
Capaverde

local t = {}

for x=1,#players do

table.insert(t, getPlayerLevel(players[x]))

end

return math.min(unpack(t))

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock
local t = {}

for x=1,#players do

table.insert(t, getPlayerLevel(players[x]))

end

return math.min(unpack(t))

 

Bom mais rapidao... isso da return no LEVEL do player eu queria o ID do player com menor level :P

Editado por Mock

Compartilhar este post


Link para o post
Compartilhar em outros sites
Capaverde    1
Capaverde

local t = {}

for x=1,#players do

table.insert(t, getPlayerLevel(players[x]))

end

menor_level = math.min(unpack(t))

for k,v in pairs(t) do

if v == menor_level then

return players[k]

end

end

 

considerando que não há dois players com o msm level :P

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock

ui

o meu script fico maior

o seu tem a mesma função da p ver so q eu usei 2 tableas 1 p id e 1 p level ai se o id do player Mock tava no lugar 5 da tasbela o level tava no lugar 5 da otra tabela :P

Compartilhar este post


Link para o post
Compartilhar em outros sites
Capaverde    1
Capaverde

igual o meu o.o

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock

so q eu n sei uar for ai eu me ferrei um poco p faze usando repeat,

ow capaverde vo muda o topico e vo por outro desafio :DDDDD

Compartilhar este post


Link para o post
Compartilhar em outros sites
GDLib    2
GDLib

Ambos os desafios são fáceis.

Uma dica para o segundo desafio (de guardar strings em uma storage): Bitwise operators. Acho que já revelei tudo, não? (Recomendo criar funções de hash e rehash). Bom, essa é a forma mais simples e mais rápida, mas caso alguém queira se aventurar pela biblioteca de strings e o que estas têm a ofereçer, dá para se criar algorítimos também para conversão, chaves simples. Um exemplo que eu chamo de "safe" não só para isso seria o base64, mas aí mora o problema: seriam chaves bem compridas. Recomendo também usar o 0 e ficar edentando o valor para cada key value necessário.

 

Btw, Mock, essa função do spoiler eu não recomendo muito dependendo do uso de tais strings em storage. Meio evidente porque né?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock
Ambos os desafios são fáceis.

Uma dica para o segundo desafio (de guardar strings em uma storage): Bitwise operators. Acho que já revelei tudo, não? (Recomendo criar funções de hash e rehash). Bom, essa é a forma mais simples e mais rápida, mas caso alguém queira se aventurar pela biblioteca de strings e o que estas têm a ofereçer, dá para se criar algorítimos também para conversão, chaves simples. Um exemplo que eu chamo de "safe" não só para isso seria o base64, mas aí mora o problema: seriam chaves bem compridas. Recomendo também usar o 0 e ficar edentando o valor para cada key value necessário.

 

Btw, Mock, essa função do spoiler eu não recomendo muito dependendo do uso de tais strings em storage. Meio evidente porque né?

 

entendi 36% xD

 

eu sei onde vc quer chega tipo transformando o string em numeros algo assim o problema q se eu n me engano n da mta coisa p global storage so salva 12 casas de numeros u d c m...12x

Compartilhar este post


Link para o post
Compartilhar em outros sites
GDLib    2
GDLib

Dá para usar string.format e gerar alguns algorítimos (minha proposta é usar o número 0 como separador). Mas eu estava lendo nas mail lists do Lua.org e vi que existe uns problemas quando se trata de valores hexadecimais em sistemas operacionais. Tudo bem, não iremos usar números em hexa, mas vai saber se existe outro problema não é mesmo? (Callbacks desnecessários, memory leaks e por aí vai). Portanto, como o OpenTibia implementou o LuaBit, porque não usá-lo? A algum tempo a BlackOnix tinha desenvolvido também funções usando Lua puro para recriar os bitwises, tentei achar mas não consegui infelizmente :\

Compartilhar este post


Link para o post
Compartilhar em outros sites
Blackout    0
Blackout

Alguem entendeu alguma coisa?:pirate:

 

 

Tipo vc quer so saber a id do player com menor lvl ne? :no:? Então sei lá.

 

 

 

:errm:

 

 

:bye:

Compartilhar este post


Link para o post
Compartilhar em outros sites
Mock    32
Mock

nao god blackout eu editei o topico esse era o teste numero 1 esse é o segundo vc tem q achar um jeito de armazenar strings e fechar o server depois reabrir sem perdela-s sendo salvas com comandos em lua

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eventide    7
Eventide
Agora e algo mais simples,

O tfs (the Forgotten server) tem a opção de salvar global storages p vc derurbar o ot e ela nao sumir, agora o problema é que: global storage nao salva STRING e o desafio desta vez é:

Criar um modo de salvar string em algum lugar ou coisa e pegar o que estiver la depois.

 

Dessa vez eu quero varirar vou colocar 1 forma de faze-lo porem dentro de spoiler

PS: nao vale copiar do spoiler :D

é só guardar numa DB ou num documento txt, a segunda forma q eu acho é essa:

arr = {}  --// as strings deveriam ser contidas aqui, em ordem crescente de acordo com seu value de referencia
   for get = 1,#arr do 
       strinG = --// string q vc quer achar 
           if arr[get] == strinG then 
               --// peguei a string pelo seu global storage :-) 
           break
           else
               --//string errada 
           end
   end 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×