-
Total de itens
77 -
Registro em
-
Última visita
-
Dias Ganhos
1
Tudo que iunix postou
-
A ideia principal foi do Skyen, eu só ajudei mesmo. xD
-
Funcionamento: Será bem simples, toda semana haverá um "campeão". E terá uma lista de desafiantes, eu sortearei um e junto com Skyen/Mock/Dalvo/Kydrai iremos escolher um tema. Então os dois terão 3 dias para criarem um script no tema. De nível simples de preferencia. Regras: Sobre o script: Deverão ser simples com o limite de 3 arquivos (Sem contar tags, claro...) Deverão conter comentários em todas as variáveis. (Tabelas também) Qualquer ripping será ignorado e o usuário será punido adequadamente. Você deverá fazer o script sozinho, qualquer ajuda fará com que você seja desqualificado. Sobre a entrega/avaliação: Deverá ser entregue para mim por PM 1 dia antes do resultado. Se não for enviado, será considerado derrota por W.O. Teremos 1 dia para avaliação O método de avaliação será: (criatividade x 2 + organização/estilização + utilidade * 0.5 + (10 - erros)) / 4.5 Sobre pontuação geral: Vitória valerá 2 pontos Empate valerá 1 ponto para ambos No final de todo mês, irei tentar dar um prêmio para a pessoa que tiver mais pontos. Finalizações: Qualquer duvida ou sugestão, favor postar aqui.
-
Olá, venho aqui para trazer um sistema que eu e o Skyen fizemos. Explicações; É um NPC que se move exatamente como você, onde você tem que "leva-lo" para um certo SQM, assim abrindo a passagem escondida. Mapa Terá que criar uma sala com 7x7 SQMs, com os seguintes obstáculos: Amarelo = NPC Verde = Onde irá nascer a escada Azul = Pressure Plates Rosa = Statua que brilha (So gaaaay) Vermelho = Pedras ou qualquer coisa que você vá usar de obstaculo. Azul = Parede Branco = Passagem Livre. Código e instalação Código miragem.lua: local pos_start = {x = 447, y = 552, z = 7} -- pos do NPC local pos_stairs = {x = 448, y = 555, z = 7, stackpos=0} -- Pos da escada local pos_plate1 = {x = 445, y = 553, z = 7} -- Pos da 1º plate local pos_plate2 = {x = 448, y = 556, z = 7} -- Pos da 2º plate local pos_device = {x = 447, y = 555, z = 7} -- Pos da Statua que brilha local area_start = {x = 444, y = 552, z = 7} -- Pos do canto esquerdo superior da sala local area_final = {x = 450, y = 558, z = 7} -- Pos do Canto Direito inferior da sala local id_stairs = 4836 -- Id da Escada local id_floor = 4413 -- Id do chão que vai ser colocado no lugar da escada local target = 0 local stairs = false local ignore = false local outfit = { lookType = 0, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, } local function get_player_in_area(start, final) for x = start.x, final.x do for y = start.y, final.y do for z = start.z, final.z do local pos = {x=x, y=y, z=z, stackpos=253} local thing = getThingFromPos(pos, false) if isPlayer(thing.uid) then return thing end end end end return {uid=0} end local function is_pos_in_area(pos, start, final) return pos.x >= start.x and pos.x <= final.x and pos.y >= start.y and pos.y <= final.y and pos.z >= start.z and pos.z <= final.z end local function is_player_in_area(cid, start, final) return is_pos_in_area(getCreaturePosition(cid), start, final) end local function inverse_direction(direction) local map = { [NORTH] = SOUTH, [sOUTH] = NORTH, [EAST] = WEST, [WEST] = EAST, [NORTHEAST] = SOUTHWEST, [sOUTHEAST] = NORTHWEST, [NORTHWEST] = SOUTHEAST, [sOUTHWEST] = NORTHEAST, } return map[direction] or NORTH end local function compare_pos(pos1, pos2) return pos1.x == pos2.x and pos1.y == pos2.y and pos1.z == pos2.z end local function turn_stairs(open) if stairs == open then return true end local thing = getThingFromPos(pos_stairs, false) if thing.uid > 0 then if open then doTransformItem(thing.uid, id_stairs) else doTransformItem(thing.uid, id_floor) end end doSendMagicEffect(pos_stairs, CONST_ME_POFF) stairs = open return true end function onCreatureMove(cid, oldPos, newPos) if ignore or cid == getNpcId() then ignore = false return true end --[[ if (isPlayer(cid) and isWatchingTv(cid)) or isMonster(cid) then return true end ]]-- if not isPlayer(cid) then ignore = true doTeleportThing(cid, oldPos) return true end if not is_pos_in_area(oldPos, area_start, area_final) and is_pos_in_area(newPos, area_start, area_final) then if target == 0 then target = cid doChangeSpeed(getNpcId(), getCreatureSpeed(target) - getCreatureSpeed(getNpcId())) doSetCreatureOutfit(getNpcId(), getCreatureOutfit(target), -1) doSendMagicEffect(pos_device, CONST_ME_MAGIC_BLUE) else ignore = true doTeleportThing(cid, oldPos) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end elseif is_pos_in_area(oldPos, area_start, area_final) and not is_pos_in_area(newPos, area_start, area_final) then target = 0 doChangeSpeed(getNpcId(), -getCreatureSpeed(getNpcId())) doSetCreatureOutfit(getNpcId(), outfit, -1) doTeleportThing(getNpcId(), pos_start) doSendMagicEffect(pos_device, CONST_ME_MAGIC_BLUE) turn_stairs(false) elseif is_pos_in_area(oldPos, area_start, area_final) and is_pos_in_area(newPos, area_start, area_final) then selfMove(inverse_direction(getDirectionTo(oldPos, newPos))) end return true end function onThink() if target == 0 then return true end if get_player_in_area (area_start, area_final).uid == 0 then target = 0 doChangeSpeed(getNpcId(), -getCreatureSpeed(getNpcId())) doSetCreatureOutfit(getNpcId(), outfit, -1) doTeleportThing(getNpcId(), pos_start) doSendMagicEffect(pos_device, CONST_ME_MAGIC_BLUE) turn_stairs(false) return true end selfTurn(inverse_direction(getCreatureLookDirection(target))) if (compare_pos(getCreaturePosition(getNpcId()), pos_plate1) and compare_pos(getCreaturePosition(target), pos_plate2)) or (compare_pos(getCreaturePosition(getNpcId()), pos_plate2) and compare_pos(getCreaturePosition(target), pos_plate1)) then turn_stairs(true) else turn_stairs(false) end return true end Código Miragem.xml <!--?xml version="1.0" encoding="UTF-8"?--> <npc name="Miragem" namedescription="a miragem" script="miragem.lua" walkinterval="0" floorchange="0"> <health now="100" max="100"> </health></npc> Agradecimentos Agradecimentos ao Skyen que deu a ideia e fez quase tudo e por ser meu grande mestre <3
-
Questão de syntax, tu aprende em 1 mês. Mas dai entra a parte de lógica, que tu vai aperfeiçoando com o tempo. Olha,nao tem tempo certo,pois voce nao aprende lua em 1 mes. Voce precisa alem de ter as aulas,bastante esforço e dedicação quando fiser as aulas,treine com funções diferentes,para conseguir um belo resultado. -iunix E a minha situação como que ficou? Então, fechei o tópico e agora estou organizando as turmas, logo mandarei MP para todos.
-
O problema é você explicar o que é fruta citrica, sem explicar o que é limão, só pq o limão é mais azedo. Acho que se explicar o while, tem que explicar o repeat que são praticamente a mesma coisa, mudando apenas a verificação.
-
While + tabelas é algo inviavel, qualquer erro zuaria o servidor inteiro. Mil vezes mais aconselhavel usar for. E faltou explicar algumas coisas, como funciona o break e eu acho errado explicar while sem explicar repeat.
-
Muito obrigado pelos elogios, e aparentemente vai dar certo. Estou muito feliz com isso, já estou até organizando a 1º turma
-
Aulas Básicas Com O Sr. Iunix: 3# Variáveis e Tipos de dados.
tópico respondeu ao iunix de iunix em Tutoriais de Scripting
Aparentemente eu estava errado, estranho que a attribuição de tabelas é como eu disse acima. local table1 = {x=1, 2,3} local table2 = table1 table1.x = 2 print(table2.x) Dai suspeitei que aconteceria o mesmo com variáveis normais, bom erro meu. (Mesmo sendo algo totalmente estranho ser de um jeito em algo e de outro jeito em outro), mas obrigado xD -
Aulas Básicas Com O Sr. Iunix: 3# Variáveis e Tipos de dados.
tópico respondeu ao iunix de iunix em Tutoriais de Scripting
Sim, é que na verdade. Quando tu atribui uma variável a outra, tu não está atribuindo o valor, tu está atribuindo a variável em si. xD -
Aulas Básicas Com O Sr. Iunix: 3# Variáveis e Tipos de dados.
tópico respondeu ao iunix de iunix em Tutoriais de Scripting
Ahh, é que tem uma coisa complicada com isso, de que quando se atribui uma variável a outra, quando se muda uma, muda as duas. Por isso pensei em não por para não confundir. XD -
Claro, noob pra caralho
-
Sim, ele fez para "trollarmos" o Meryl e fazer o pc dele explodir. xD
-
Seria mais fácil se vocês especificasse qual distro está usando.
-
Aulas Básicas Com O Sr. Iunix: 3# Variáveis e Tipos de dados.
tópico respondeu ao iunix de iunix em Tutoriais de Scripting
Opa, obrigado. Já corrigi -
Aulas Básicas Com O Sr. Iunix: 3# Variáveis e Tipos de dados.
um tópico no fórum postou iunix Tutoriais de Scripting
Olá abiguinhos, venho aqui mais uma vez dar uma aula para meus grandes amigos ♥. Variáveis O que são variáveis? Para o que elas servem? Como usa-las? Quais os tipos de variáveis? O que são variáveis? Vamos imaginar variáveis como um lugar onde você pode armazenar qualquer valor e mudar isso quando quiser. Isso é o conceito básico de variáveis. Mas para o que isso serve? Suponhamos que você precise pegar o level do player: getPlayerLevel(cid) várias vezes no código. E para evitar isso, você gostaria de ter uma maneira mais simples e eficaz de salvar esse level. Para isso servem as variáveis. Como usa-las? Vamos continuar o exemplo a cima. if getPlayerLevel(cid) < 65 then print("O player tem o level menor que 65") elseif getPlayerLevel(cid) == 65 then print("O Player tem level 65") elseif getPlayerLevel(cid) > 65 then print("O player tem level menor que 65") end Isso seria um código sem variáveis. Podem ver que eu usei várias vezes a função "getPlayerLevel(cid)". Vamos tentar fazer usando variáveis. local level = getPlayerLevel(cid) if level < 65 then print("O player tem o level menor que 65") elseif level == 65 then print("O Player tem level 65") elseif level > 65 then print("O player tem level maior que 65") end Viram como ficou um pouco mais simples? Ok, agora vamos entender o que eu fiz. Toda vez que você for criar uma variável, você tem que declarar o valor dela. Mas como fazer isso? Simples, faça isso: local var = value Onde var seria o nome da variável e value o valor da variável. Mas dai você me pergunta: "O que é esse local?". Já chego lá amigo, aguente um pouco xD Porem o nome das variáveis tem algumas regras: 1º - As seguintes palavras não podem ser utilizadas: and break do else elseif end false for function if in local nil not or repeat return then true until while 2º - Não se pode começar um nome com um numero. exemplo: 1variavel = valor (Mas pode conter números) 3º - Não podem conter esses símbolos: + - * / % ^ # == ~= <= >= < > = ( ) { } [ ] ; : , . .. ... Quais valores elas podem conter? (Tipos de Dados) Existem alguns "tipos" de valóres que elas podem conter: String = Texto Number = Numero Bool = True/False Function = Funções (Sim, pode conter funções) Tables = Sim, podem conter tabelas. Userdata = Ponteiros em C (Não iremos usar isso) Thread = Escopo de processamento (Não iremos usar isso também) Nil = Valor nulo, sem valor ou vazio. Mas e aquele "local", o que significa? Bom, esse local significa que a variável é local desse arquivo. Isso é um tanto quanto irrelevante em otserver, já que ele não consegue pegar variáveis de outros scripts (Só em libs, que se você declarar uma variável como local em alguma lib, ela não será lida em outros códigos). Finalizações Bom, qualquer duvida ou sugestão. Postar abaixo. E se lembrarem de algo que eu esqueci, me avisem (Estou fazendo isso as 8 da manhã e estou sem dormir, meio obvio que deixarei algo passar. -
Kaiser é escrotamente roubado, mas é facil ganhar dele no mid.
-
Sources é o código fonte da distro.
-
Cade a galera pra jogar?
-
Olá, meu nick é iuniX e vou dar uma introdução sobre como irão funcionar as aulas. Como irão funcionar? Serão bem simples, aulas de na média 30 minutos (Talvez mais, dependendo de como estiver rolando). Duas vezes por semana, num horário que eu irei decidir com os alunos de tal turma e serão no TeamSpeak3 do XTibia. O que elas irão abordar? Tudo, desde a simples syntax de Lua até Lua.socket, POO e algumas bibliotecas uteis. Como me inscrever? Primeiro de tudo, você deve ler as regras e se inscrever nesse tópico Duvidas/Criticas/Sugestões Qualquer dúvida, critica ou sugestão, poste nesse tópico. Ficarei feliz em atender todos.
-
Olá, meu nick é iuniX e eu vou organizar algumas aulas sobre Programação em Lua. Porém para uma melhor organização, terão algumas regras: Quaisquer mudanças nas regras, postarei aqui. Elas podem e deverão ser mudadas sem aviso prévio.
-
Cade os cara para jogar com noizes?
-
Carregando hard esses cara ai...
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.