-
Total de itens
2605 -
Registro em
-
Última visita
-
Dias Ganhos
13
Posts postados por Lordfire
-
-
Eu sou bem antigo! Época de Isara, com o master sorcerer mais fodido do Tibia: Dimitri von carstein e os Del'Toros. Em relação a open tibia, famoso no IRC no channel #tibiaotserv, com versões 7.1 survival desenvolvido com o Dark Bart.
Isso é antigo mesmo lembro da anihilator deles
-
-
2000000000 coloca 4000000000
function onAdvance(cid, skill, oldLevel, newLevel) if skill == SKILL__LEVEL then if (getCreatureMaxHealth(cid) > 2000000000) then setCreatureMaxHealth(cid, 2000000000) end if (getCreatureMaxMana(cid) > 2000000000) then setCreatureMaxMana(cid, 2000000000) end end return true end function onLogin(cid) if (getCreatureMaxHealth(cid) > 2000000000) then setCreatureMaxHealth(cid, 2000000000) end if (getCreatureMaxMana(cid) > 2000000000) then setCreatureMaxMana(cid, 2000000000) end return true end
todos os creditos são do Incur .so to te explicando
Não vai funcionar. Health é um int32 https://github.com/otland/forgottenserver/blob/master/src/creature.h
-
a fonte tá muito pequena
-
Caralho, o DK apareceu no tópico. Lembro quando matei ele.
Mudei aquela franjinha pra não me reconhecerem na rua.
-
Beny, postar fotos do outros é contra as regras!
Modere suas palavras!
Primeiro e ultimo aviso.
criaram regras pro bar ?
sempre teve meu filho, tu que é acéfalo
última regra fala disso
-
Errado, muito muito errado. MySQL é um tipo de banco de dados que fica armazenado em um servidor, esse servidor recebe suas consultas/queries, executa e tal, independentemente do código do programa. SQLite é outro tipo de banco de dados, só que ao invés de usar servidor, ele usa um arquivo que o código do programa sabe lidar com. Pelo servidor, não faz diferença alguma, ambos podem sim ser colocados online sem problema algum. Inclusive os sites devem funcionar normalmente com SQLite.
-
Tem a ver com o stackpos, olha esse tópico: http://www.xtibia.com/forum/topic/162877-stackpos/
-
Se você usa o TFS, é só colocar o Action ID 189 na porta.
-
gatinha 8/10 faria duro
-
todo mundo fala issoconheço o xtibia desde o início também, mas perdi umas 3 accs
-
Tem sim, outubro de 2006 aqui. Comecei a jogar quando a Bubble não era level 200 ainda, vi o Cachero passar voando ela, o Setzer Gambler ser o primeiro brasileiro level 200, essas coisas.
-
Abra esse arquivo, e nessa linha que deu erro substitua leaf() por .path().filename().
-
Que erro que acontece?
-
Joga na roda que a gente faz e explicaÓtimo tutorial!
((Na verdade, deu uma ideia de script para criar, mas não acho que eu tenha conhecimento suficiente por enquanto... ._.'
Quem sabe depois que eu estudar mais hahaha ))
+rep
-
*ops* corrigido.Spriting ?
Quem sabe quando eu aprender mais Scripting irei utilizar algumas dessa linhas, obrigado por compartilhar
-
Achei mais barato
Eu compro na Kabum desde 2010 e nunca tive problema algum.
-
Iteradores são funções especiais criadas para iterar, ou seja, percorrer, listas, vetores (arrays), matrizes, tabelas ou o que quisermos. Nós criamos iteradores para usar na função for. Um exemplo de iterador que você já deve conhecer é o pairs. Vamos supor que eu tenha a seguinte tabela:
k = {1, 2, 3, 4, 5}
E eu queira iterar por todos eles imprimindo o seu quadrado. Como faríamos isso? Casualmente, o código seria este:for i = 1, 5 do print(i ^ 2) end
Mas e se eu quiser fazer isso várias vezes? Com uma lista que não segue um padrão? Então criamos um iterador, mas primeiro, vamos entender a estrutura de um em pseudocódigo Lua:function iterator(values) local pos = 0 --posição do iterador na lista return function() pos = pos + 1 if values[pos] ~= nil then return values[pos] end return nil end end
Perceba que eu não retorno um valor especifico ao chamar a função iterator(), eu retorno uma nova função. Essa função será chamada pelo for até que seu retorno seja nil, onde Lua assume que o iterador acabou. E como eu sei quando acaba? Simples, há uma variável (chamei, neste caso, de pos) que armazena a posição dentro do array values do próximo valor a ser retornado. A cada iteração, o valor aumenta em 1 dentro da função. Quando eu acessar um índice dentro do array que não existe, seu valor (values[pos]) será nil, portanto eu testo essa condição.Parece bastante complexo, mas vamos voltar ao exemplo do quadrado. Chamarei minha função iteradora de square:
function square(numbers) local pos = 0 return function() pos = pos + 1 if values[pos] ~= nil then return values[pos] ^ 2 end return nil end end
A cada chamada da função de retorno, eu aumento a posição e retorno este elemento elevado ao quadrado. Então, usarei a função assim:for i in square(k) do print(i) end
Que funciona como o esperado:O que mais podemos fazer com iteradores? Podemos, por exemplo, bloquear uma palavra usando a função onTalk do xotservx:
local palavra = "jujuba" function splitWords(phrase) local pos = 0, words = phrase:gmatch("%w+") return function() pos = pos + 1 if words[pos] ~= nil then return words[pos] end return nil end end function onTalk(cid, type, text, position) for w in splitWords(text) do if w = palavra then return false end end return true end
Claro que esse exemplo é bastante simplório, mas demonstra a utilidade dos iteradores. Neste caso, eu testo todas as palavras que o player falou para encontrar uma palavra especifica que eu defini. Podemos transformar isso tudo em um loop while, para você entender um pouco melhor:local words = splitWords(text) while w = words() do if w == nil then break end if w = palavra then return false end end end return true
Usando o iterador, ganhamos organização no código e o controle do for. Espero que façam bom uso de iteradores para organizar seus códigos -
Tenta trocar
doRemoveItem(item.uid)
pordoRemoveItem(item.uid, 1)
Perto do final. Achei um script aqui de outra coisa que exigia a quantidade. -
Talvez que seu servidor já tenha. Tente:
/pvp optional /pvp open
-
Usar while no lugar de for não é problema, mas o for foi criado justamente pra isso (iterar de x até y), aí faz a mesma coisa sem você precisar se preocupar com o iterador. Do mais foi só mania minha de DRY.
Uma sugestão, faça seu script receber várias waves com delays diferentes, tipo assim:
{ name = "Dragons", waves = { { monsters = {"Dragon Hatchling", "Dragon Lord Hatchling"}, maxMonsters = 15 }, { delay = 120, monsters = {"Dragon Hatchling", "Dragon Lord Hatchling", "Dragon"}, maxMonsters = 18 }, { delay = 300, monsters = {"Dragon Hatchling", "Dragon Lord Hatchling", "Dragon", "Dragon Lord"}, maxMonsters = 21 }, { delay = 600, monsters = {"Dragon Hatchling", "Dragon Lord Hatchling"}, maxMonsters = 24 }, }, boss = "Orshabaal", fromPos = {x=150, y=37, z=7}, toPos = {x=157, y=42, z=7}, dates = {"Thursday-15:00", "Saturday-22:12"}, bossDelay = 900 }
-
caralho, me passou
-
É que variáveis chamadas "playerz" e "bonsters" (de outro script seu, acho) não ajudam quem quer modificar mas só isso também, fiquei curioso até.
-
Por que vocês usam table.insert quando não tem índice/é pra adicionar na última posição?
Esse código
playersInArea[#playersInArea + 1] = playerz.uid
Tem uma performance ~20% superior pelos meus testes. É costume ou organização?Aliás, cara, crie uma variável chamada _player, mas não crie uma chamada playerz.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.
Placa de Vídeo
em Resolvidos
Postado
http://gpuboss.com/gpus/Radeon-HD-6570-vs-GeForce-GT-620
6570 > 620 > 610
https://www.balaodainformatica.com.br/Produto/43343/Placa-De-Vídeo-Radeon-HD-6570-Memória--1GB-DDR3-64Bit-PCI-Express-21Conexões-DVI-HDMI-VGA-(XFX-HD-657X-ZDF2)