Tudo que MaXwEllDeN postou
-
Como tirar as espinhas?
Quando você morrer e seu corpo for decomposto elas saem, ou se queimarem seu corpo antes.
-
Como tirar as espinhas?
Experiência própria?
-
Band
- Pedido de funçao
Só dando uma aperfeiçoada no do Sky. function isItemsOnContainer(container_id, container_pos, items_check) local container = getTileItemById(container_pos, container_id) if container.uid > 0 then local items = {} for slot = 1, getContainerSize(container.uid) do if getContainerItem(container.uid, slot).uid > 0 then table.insert(items, getContainerItem(container.uid, slot).itemid) end end for _, v in pairs(items_check) do if not isInArray(items, v) then return false end end return true end return false end local config = { container = { id = 2160, pos = {x = 160, y = 54, z= 7} }, items = {2160, 2251, 1723, 2451, 47892} } function onUse(cid) if isItemsOnContainer(config.container.id, config.container.pos, config.items) then doCreatureSay(cid, "O.O Deu certo!") end end Syntax da função:- [MOD] Characters Market System
Isso aí eu nunca tinha visto antes , ótima ideia. Acho que ficaria mais legal se fosse com um npc, e lá tivesse um outro npc "Manequim", que ficaria com a mesma roupa, cor addons e tal que o npc estava, quando o cara falasse com esse manequim ele poderia falar os skills dele, outfits e addons que ele tem. Mas esse aí não deixa de ser um ótimo sistema, bacana- FullMetal Alchemist Brotherhood®
- (Resolvido) Erro baiak hollister
O Erro diz que você deve especificar o tipo de banco de dados que é usado no seu servidor, se é SQLITE ou MYSQL. Essa configuração é feita nessa linha: sqlType = "sqlite"- EU ODEIO
O que é Comic Sans?- Melhor Firewall do mundo
"Segue uma informação importante. 1. Uma célula humana contém 75MB de informação genética; 2. Um espermatozóide contém a metade, o que significa 37,5 MB; 3. Um mililitro de sêmen contém 100 milhões de espermatozóides; 4. Uma ejaculação média dura 5 segundos e contem 2,25 ml de sêmen; 5. Isto significa que a produção dos membros de um homem igual a 37,5 MB x 100.000.000 x 2,25) / 5 = 1.687.500.000.000.000 bytes / segundo = 1,6875 Terabytes / segundo. Isto significa que o óvulo feminino suporta esse ataque DDoS de 1,5 terabytes por segundo, e é permitida a passagem apenas de um único pacote de informação… o que faz com que a mulher seja considerada o melhor firewall do mundo. A má notícia é que, este único pedaço de informação que passa, faz o sistema travar por cerca de nove meses ...mas todo firewall tem seu bug, né..." Computação da Depressão- addEvent(sem bugs)
Cole seu script todo aqui por-favor!- item para pegar no bau
Se só puder pegar uma vez: local config = { adicionar = { id = 7021, -- Item que vai ser adicionado qnt = 100, -- A quantidade de itens que vai adicionar. msg = "Você recebeu %d %s(s)." }, remover = { id = 2160, qnt = 50, msg = "Você precisa ter %d %s(s) para abrir o baú." }, } function onUse(cid) if getPlayerStorageValue(cid, 17242) > 0 then return doPlayerSendCancel(cid, "Você já abriu este baú!") end if doPlayerRemoveItem(cid, config.remover.id, config.remover.qnt) then doPlayerSendTextMessage(cid, 19, string.format(config.adicionar.msg, config.adicionar.qnt, getItemNameById(config.adicionar.id, false))) doPlayerAddItem(cid, config.adicionar.id, config.adicionar.qnt) setPlayerStorageValue(cid, 17242, 1) else doPlayerSendCancel(cid, string.format(config.remover.msg, config.remover.qnt, getItemNameById(config.remover.id, false))) end return true end- Apostila LUA pelos membros
- (Resolvido) Dúvida Rme
Dúvida sanada, tópico Movido!- #QueroMeuNickRoxoTK
- que fora que eu tomei .. PFFF
- o vittu vem aqui cara
- SKYDANGEROUS ENTRA NO MSN !
Brincadeira, sei- #QueroMeuNickRoxoTK
- Aulas de Scripting Lua
Toda ajuda é bem-vinda (:- [Pedido] Script
local config = { novo_id = 5895, -- Id que a parede terá parede_pos = {x = 160, y = 54, z = 7}, -- Posição da parede que vai ser removida parede_id = 5845, -- Id da parede que vai ser removida intervalo = 15 -- Intervalo em segundos para parede aparecer novamente } function onUse(cid, item, fromPosition, itemEx, toPosition) doRemoveItem(getTileItemById(config.parede_pos, config.parede_id).uid, 1) addEvent(function(id, pos) doCreateItem(config.parede_pos, 1, config.parede_id) doTransformItem(getTileItemById(pos, config.parede_id).uid, id) end, config.intervalo * 1000, itemEx.itemid, toPosition) doTransformItem(itemEx.uid, config.novo_id) return true end- [Tutorial] Config.lua - Próprio (MEU) - Versão 8.60
Vish, trabalhão deve ter dado pra criar isso aí hein! Obrigado por trazer o conteúdo ao fórum, e olha, algumas aí que eu sabia: namelockManager = "no" -- É possível algum player criar um char com o nome Account Manager? weeklyFragsToRedSkull = 100 -- Quantos frags o player pegará em uma semana para ficar red monthlyFragsToRedSkull = 300 -- Quantos frags o player pegará em um mês para ficar red dailyFragsToBlackSkull = 20 -- Quantos frags por dia o player pegará para ficar Black weeklyFragsToBlackSkull = 120 -- Quantos frags o player pegará em uma semana para ficar black monthlyFragsToBlackSkull = 480 -- Quantos frags o player pegará em um mês para pegar black dailyFragsToBanishment = 0 -- Quantos frags o player pegará em um dia para ser ban weeklyFragsToBanishment = 0 -- Quantos frags o player pegará em uma semana para levar ban monthlyFragsToBanishment = 0 -- Quantos frags o player pegará em um mês para levar ban useBlackSkull = true -- Usar o sistema de Black Skull? premiumPlayerSkipWaitList = false -- Players premmy poderão pular a lista de espera? premiumDaysToFormGuild = 0 -- Quantos dias de premmy um player terá que ter no mínimo para formar uma guild? guildHalls = false -- Guild Halls ativos? checkCorpseOwner = false -- Checkar dono do corpo? Por exemplo: Só vai poder abrir o loot quem matou, ou estiver na PT cleanProtectedZones = true -- Quando houver um clean, limpar áreas PZ? displaySkillLevelOnAdvance = false -- Mostrar skill quando upar? Exemplo: You advanced from sword 50 to 51. storePlayerDirection = false -- Guardar a direção do player? Por exemplo: Se eu deslogar virado pra /\, quando entrar novamente estar virado para /\- [C++] Bot 8.6
Opa! Obrigado por postar cara, curto muito C++. Vou dar uma olhada na tua source aí e tentar aprender, Obrigado mesmo! Reputado.- [Aula 7, Parte I] Estruturas de Controle
<< Aula 6 - Escopo Estruturas de controle Aula 7 Bem-vindos à Aula 7 (Da sorte). Hoje iremos aprender mais uma coisa importantíssima na área de scripting e programação em geral: as Estruturas de Controle. Bem, Estruturas de Controle definem o andamento do script. Para entendermos melhor, vamos ver o algoritmo de uma Estrutura de Controle simples: Veja, agora um em lua: Compare as cores do script em Lua com o escrito em português. Nossa Estrutura de Controle se chama condição, iniciada por if (se). Para entendermos basta traduzir. Veja como se usa o if: Citado acima, true seria o que vai ser verificado, exemplo: Antes de prosseguir, vamos ver o que são essas "coisas" em roxo. Essas "coisas" se chamam Operadores Relacionais, e vão verificar se a condição é verdadeira. Se for, então vai ser executado o código. Se não, então o código será pulado e o script continuará rodando a partir do fim do escopo da condição (end). Os operadores relacionais são: Igualdade (==), Diferença (~=), Superioridade Absoluta (>), Inferioridade Absoluta (<), Superioridade (>=) e Inferioridade (<=). Os operadores relacionais sempre retornarão um booleano, ou seja, true ou false. Se a condição for verdadeira então retornará true. Se for falsa retornará false. Você pode comprovar isto tentando: print(1 == 1) print(1 == 2) Veja como usar os operadores relacionais: Bom veja aqui alguns exemplos e em seguida a explicação de o que vai acontecer. local nome = 'Mock' if nome == 'Mock' then numero = 7 if numero == 8 then print('Nosssa!') end end Explicação: Declaramos a variável nome como = a 'Mock' Se o nome é igual a 'Mock' entao... Declaramos a variável numero igual a 7 Se numero for = a 8 entao Mostrar o texto: 'Nosssa!' Fim da verificação do numero Fim da verificação do nome. O que iria acontecer? a variável nome seria declarada, passaria pela verificação pois nome é igual a Mock o número 7 seria declarado mas não iria mostrar o texto pois numero vale 7 e não 8 Else Agora que ja sabemos abrir um if vamos ver a else (se nao.) Como vocês já sabem como abrir um if a explicação aqui não vai ser longa. Para evitarmos isso: if numero == 8 then print('foi') end if numero ~= 8 then print('nem foi') end Usamos a expressao else, Veja a syntax. Um exemplo no uso acima. if numero == 8 then print('foi') else print('nem foi') end No caso, caso a verificação seja falsa (quando numero não é ? ele pulará o escopo 1 mais parará no else e executara o escopo 1 de baixo. Elseif Essa é uma junção de um else com um if, muito usado em NPCs antigos, seria a mesma coisa acima acontece que quando encontra o elseif ao contrario do else ele não executa o escopo direto ele permite outra verificação. Veja a sintaxe. Podendo conter apenas UM else no final também. Veja o exemplo: if numero == 8 then print('oia meu numero e um oito!') elseif numero == 5 then print('omg meu numero é um 5') elseif numero == 3 then print('mintira é um 3') else print('affff meu numero nem é 8 5 ou 3 ') end Você pode usar quanto elseif's quiser. and/or São parte do (bloco), elas definem as palavras e, ou, veja um exemplo: if sex == 5 and nome == 'pedro' then print('tenso') end Ele so executará o escopo 1 se sex for 5 e o nome for pedro. if sex == 5 or nome == 'pedro' then print('tenso') end Nesse caso ele executará o escopo 1 se sex for 5 OU o nome for pedro. Podemos unir os 2 e separar por parênteses if (sex == 5 and nome == 'pedro') or (animal == 'urso') then print('tenso³²²³¹³²¹³²¹') end primeiro o script vai verificar o 1º bloco. (sex == 5 and nome == 'pedro') Ele vai ver se sexo é 5 e nome for Pedro. Caso seja verdadeiro ele vai passar para o próximo, caso tenha um or ele simplesmente vai parar a verificação e ir direto para o escopo abaixo. Agora supondo que sex era 4, ele vai retornar negativo e então ao invés de parar tudo e ir para o else ou o elseif ele vai ver que tem um or e então verificar o bloco 2 (animal == 'urso') uma verificação simples, se animal for urso ele vai pro escopo, se não for ele pula o escopo. Extra! Um conteúdo extra dessa aula. Sabia que or não é apenas usado em if's? Vamos simular um caso de um script com 2 variáveis, nome e player, a variável nome vale um string: 'Ixe nem deu.' e a variável player não vale nada ela é nil, (pense que não existe). Agora o que aconteceria se colocássemos para mostrar a variável player com o print? Daria um erro! mais existe uma maneira rápida e fácil de se evitar isso. Assim: print(player or nome) OmG mock que que tu fez? Eu mandei printar a variável player, porem antes o script verifica, já que tem o or ele vê qual é o valor da variável player, se for nil ele vai printar a variável nome! Segue o code: nome = 'pedro' var = nil numero = 774 pk = false numero2 = 89 você tem essas variaveis. Fassa o seguinte: Resposta: Aula escrita por um urso gordo Mock, todos os créditos são dele. Aula 8 - Loops: while e repeat >>- [Aula 6] Escopo
<< Aula 5 - Variáveis e Comentários Escopo Aula 6 Vimos na aula anterior sobre variáveis, e vimos também, bem superficialmente, como declarar variáveis como locais. Você pode se perguntar: "Qual a utilidade de uma variável local?", "O que ela tem de diferente de uma variável global?" ou "Se elas são tão importantes, por que quase ninguém usa?". Vamos por passos. Imagine a seguinte situação: "Você tem uma variável chamada var, e ela vale 1, mas em certo ponto do script você quer que ela receba o valor 2, execute alguma coisa (Como um print) e, depois que executar, ela retorne ao valor anterior (1).". Um dos modos de fazer isto é usando uma outra variável temporária para armazenar o valor antigo, ficando assim: var = 1 temp_var = var var = 2 print(var) var = temp_var temp_var = nil print(var) Veja que o código possui 7 linhas para fazer algo tão simples, por isso usar a variável temporária foi uma idéia de girico chamada carinhosamente de Gambiarra. Vamos fazer a mesma coisa que antes, mas agora do modo "correto": var = 1 do local var = 2 print(var) end print(var) Observe que agora, mesmo tendo ficado com quase o mesmo número de linhas, está mais "charmoso". Vamos agora entender o do e o end. O do é uma estrutura de controle (Abre/Fecha um Escopo) que abre um novo escopo. O end é uma estrutura de controle (Abre/Fecha um Escopo) que fecha o escopo mais alto. Você não deve ter entendido. Imagine que os escopos são como uma pirâmide, que começa inicialmente no andar 0 (Estes números são "imaginários", somente para facilitar o entendimento). As estruturas de controle tem o poder de construir ou destruir um degrau desta pirâmide, no caso o do constrói um andar e o end destrói o andar mais alto da pirâmide. Vamos tentar entender: -- Estamos no andar 0. do -- Construímos um andar. Agora estamos no andar 1. end -- Destruímos o andar 1 e voltamos para o 0. -- Estamos no andar 0. Importante: Você deve terminar no andar que começou, ou seja, no andar 0. Vamos ver o mesmo código um pouco maior: -- Estamos no andar 0. do -- Construímos um andar. Agora estamos no andar 1. do -- Construímos mais um andar. Agora estamos no andar 2. do -- Construímos mais um andar. Agora estamos no andar 3. end -- Destruímos o andar 3 e voltamos para o 2. end -- Destruímos o andar 2 e voltamos para o 1. end -- Destruímos o andar 1 e voltamos para o 0. -- Estamos no andar 0. A definição ideal para escopo (Em Lua) seria: Até onde as variáveis locais são alcançáveis. Isso porque se você estiver no andar 1 e tiver declarado uma variável no andar 2, quando o andar 2 tiver sido destuido pelo end, a variável será apagada e você não poderá mais chamá-la no andar 1, embora você possa chamar variáveis do andar 1 se estiver no andar 2. Se esta variável existir no andar 1 e no 2, vai sempre pegar a que estiver mais perto (No caso, a do andar 2). Se existir uma local alcançável e uma global, sempre pegará a local ao invés da global. A global só será pega se não houver nenhuma local alcançável. Você pode declarar uma variável local em um andar e modificar seu valor em outro escopo. Esta é uma tática muito útil: var = 1 do local var do var = 2 end do print(var) end end print(var) Preste bastante atenção quanto à isto: var = 1 do do local var = 2 end do print(var) end end Se você está pensando que o valor escrito será 2, está muito enganado. A variável local "var" do primeiro andar 2 será apagada assim que o end destruir o andar, então o valor escrito será 1. Essa "pegadinha" pode frustrar vocês, então prestem atenção. Vale lembrar que, como as funções são armazenadas em variáveis, elas também podem ser locais: teste = function() end -- Variável Global function teste() end -- Variável Global local teste = function() end -- Variável Local local function teste() end -- Variável Local OBS: Toda Estrutura de Controle deve terminar com o end. São estruturas de controle: do function while repeat if OBS: O repeat é um caso especial e não usa end para finalizar o escopo. Ele usa o until. Veremos as 4 últimas em aulas futuras. Exercício Descubra o que acontece em cada um dos casos e por quê: var = 1 local var = 2 print(var) var = 1 do local var = 2 end print(var) var = 1 local var do var = 2 end print(var) var = 1 local var = 2 do print(var) end var = 1 do local var = 2 do var = 3 end print(var) end Aula escrita por uma raposa levada Skyen Hasus, todos os créditos são dele. Aula 7 - Estruturas de Controle >>- O que são Storages?
O que são Storages? Storage Value é um valor que fica gravado no banco de dados, no banco de dados ele é estruturado assim: quando você usa a função getPlayerStorageValue(uid, chave) O que acontece é praticamente o seguinte: É basicamente assim que funciona, por isso por padrão todas storages que não tenham um valor definido recebem o valor -1. Se não me engano um player pode ter até 65555 storages, todas ficam em uma única tabela no banco de dados. Como atribuir uma storage a um player: Como verificar a storage de um player: Exercício: Crie um script que só deixe o player usar um item uma vez. Esse tutorial ficou bem curto, mas algumas pessoas têm dificuldade em entender as Storages - Pedido de funçao
Informação Importante
Confirmação de Termo