-
Total de itens
338 -
Registro em
-
Última visita
Tudo que Nostradamus postou
-
Recebi uma mensagem pessoal do usuário Tonin que seria mais ou menos assim: Como eu estava sem idéias, resolvi atender o pedido dele. Antes de mais nada quero avisar, que o script não foi testado. Vamos as funções: function setHonor(cid, value) local storage = 999 local stor_value = getPlayerStorageValue(cid,storage) if value < 0 then if value >= stor_value then doPlayerSendTextMessage(cid,22,'Your cannot set the values that can turn the honor negative values.') else setPlayerStorageValue(cid,storage,stor_value + (value)) doPlayerSendTextMessage(cid,22,'Your honor was decreased by ' .. result .. '.') end elseif value >= 1 then setPlayerStorageValue(cid,storage,stor_value + value) result = value - stor_value doPlayerSendTextMessage(cid,22,'Your honor was increased by ' .. result .. '.') else debugPrint("[Honor] ERROR: value returned LUA_ERROR or LUA_NULL. returning.") return LUA_ERROR end end function getHonor(cid) local storage = 999 local stor_value = getPlayerStorageValue(cid,storage) if stor_value <= 0 then debugPrint("[Honor] ERROR: stor_value returned LUA_ERROR or LUA_NULL. returning.") return LUA_ERROR elseif stor_value < 10 then honor = 'guardian' elseif stor_value > 10 and stor_value < 20 then honor = 'noble' elseif stor_value > 20 and stor_value < 30 then honor = 'lord' else honor = 'master' end doPlayerSendTextMessage(cid,22,'Your honor is ' .. stor_value .. ' this means that you\'re a ' .. honor .. '.') end Como não tive muito tempo, não saiu como eu esperava, mas creio que assim já é uma boa forma. Tenham bom proveito das funções.
-
Venho observado que a maioria dos bankers são feitos usando as funções io.open e etc, não gostei muito disso, por isso, resolvi fazer um sistema diferente. Eis as funções: function balance(cid) local storage = 666 local value = getPlayerStorageValue(cid, storage) if value > 0 then selfSay('Your account balance is '..value..' gold.') else selfSay('You don\'t have money in your bank account.') end end function withdraw(cid, value) -- value pode ser %a para assim pegar a mensagem do player... local storage = 666 local balance = getPlayerStorageValue(cid, storage) if value < 0 then selfSay('You cannot withdraw negative values.') elseif balance < value then selfSay('There is not enough gold on your account.') else selfSay('Here you are, '..value..' gold. Please let me know if there is something else I can do for you.') setPlayerStorageValue(cid, storage, balance-value) doPlayerAddMoney(cid,value) end end function deposit(cid, value) -- value pode ser %a para assim pegar a mensagem do player... local storage = 666 local balance = getPlayerStorageValue(cid, storage) if value < 0 then selfSay('You cannot deposit negative values.') elseif doPlayerGetMoney(cid) < value then selfSay('You do not have enough gold.') elseif balance >= 0 and doPlayerGetMoney(cid) >= value then selfSay('Alright, we have added the amount of '..value..' gold to your balance. You can withdraw your money anytime you want to.') setPlayerStorageValue(cid, storage, balance + value) pay(cid,value) elseif balance < 0 and doPlayerGetMoney(cid) >= value then selfSay('Alright, we have added the amount of '..value..' gold to your balance. You can withdraw your money anytime you want to.') setPlayerStorageValue(cid, storage, balance + value+1) pay(cid,value) end end Tenham bom proveito dessas funções. Observações Para usar a mesma, vocês devem ter a função doPlayerGetMoney, para quem não ter ela, vocês podem pegar aqui: function doPlayerGetMoney(cid) local gold = getPlayerItemCount(cid,2148) local platinum = getPlayerItemCount(cid,2152) local crystal = getPlayerItemCount(cid,2160) local total = gold + (platinum*100) + (crystal*10000) return total end
-
@lucasbro Nunca postei versão do DevLand aqui no XTibia, você deve usar o NTS StarterKit.
-
[Arquivado]Tibia Playing Card Game
tópico respondeu ao Spectrus de Nostradamus em Noticias - Arquivo
Adorei a idéia, se quiser posso ajudar a programar o game. Mas com isso algumas coisas teriam que ser mudadas. -
Criando Esculturas De Gelo (updated)
tópico respondeu ao Wallacy de Nostradamus em Actions e Talkactions
@Koti Eu melhorei seu script, se quiser, acesse meu site (assinatura) -
Sinceramente quem fez esse script é bem ruim. Optmizei ele para deixá-lo melhor: function onUse(cid, item, frompos, item2, topos) if item2.itemid == 490 or item2.itemid == 491 or item2.itemid == 492 or item2.itemid == 618 or item2.itemid == 619 or item2.itemid == 620 or item2.itemid == 622 or item2.itemid == 623 or item2.itemid == 624 or item2.itemid == 625 or item2.itemid == 626 or item2.itemid == 627 or item2.itemid == 628 or item2.itemid == 629 or item2.itemid == 4611 or item2.itemid == 4613 or item2.itemid == 4614 or item2.itemid == 4617 or item2.itemid == 7236 or item2.itemid == 7237 then skill_level = getPlayerSkill(cid,6) random_number = math.random(1,(100+skill_level/10)) doSendMagicEffect(topos,1) if random_number<=skill_level then doPlayerAddItem(cid,2667,1) end doPlayerAddSkillTry(cid,6,1) else return 0 end return 1 end Sobre a segunda parte de deletar tudo, isso faria com que o resto do escopo que ali estava, parasse de funcionar, por isso não é bom fazer isso.
-
Npcs Baseados No Jiddo Npc System
tópico respondeu ao luizim de Nostradamus em NPCs, monsters e raids
Você poderia mudar o título para "NPCs baseados no Jiddo NPC System, já que tais NPCs só funcionam com tal sistema. Além do mais, esses NPCs funcionam para outras versões também. -
Não seria por doRemoveItem e sim por doCOMBAT, existe um parameter específico para isso.
-
Lista De Servidores De Um Site Hackeado?!?!
pergunta respondeu ao GM Volcano de Nostradamus em Resolvidos
@Rafix Quem te garante? @Tópico Para quem não sabe, xinn é criador do TheCrims, um jogo bem famoso. Por essa eu não esperava, SQL Injection de um programador assim como ele? Sei não em... -
talkaction [7.8+][talkaction]teleporte Para O Templo
tópico respondeu ao tibiaa4e de Nostradamus em Actions e Talkactions
Olá ta4e, irei melhorar seu script e fazer o que você falou que faria em breve: --function by ta4e modified by Nostradamus-- function onSay(cid, words, param) templo = {x=1000, y=1001, z=7} --coordenadas do templo dinheiro = 50 -- dinheiro que será cobrado fromplayer = getPlayerPosition(cid) -- para 8.0 -> getCreaturePosition(cid) level = 100 -- level para poder usar access = 5 -- acesso para poder usar if getPlayerLevel(cid) > 100 or getPlayerLevel(cid) = 100 and getPlayerAccess(cid) > access then if doPlayerRemoveMoney(cid,dinheiro) == 1 then if doTeleportThing(cid,templo) == 0 then doSendMagicEffect(fromplayer,10) doSendMagicEffect(templo,10) else end else end else doPlayerSendCancel(cid,'You need ' .. dinheiro .. ' gps to teleport.') doSendMagicEffect(fromplayer,2) end end return 1 end Quero lembrar que não foi testado, mas acho que deve funcionar sim. -
Criando Esculturas De Gelo (updated)
tópico respondeu ao Wallacy de Nostradamus em Actions e Talkactions
Vou lhe dar uma dica cara, em vez de você ficar criando 4 arquivos, ponha tudo em um apenas. Vou lhe dar um exemplo fazendo isso com seu script: function onUse(cid, item, frompos, item2, topos) if item.itemid == 7441 then doTransformItem(item.uid,7442) elseif item.itemid == 7442 then doTransformItem(item.uid,7444) elseif item.itemid == 7444 then doTransformItem(item.uid,7445) elseif item.itemid == 7445 then doTransformItem(item.uid,7446) else return 0 end return 1 end -
Tópico movido. Destino: Informática -> Dúvidas.
-
Otserver Lua Functions & Structures!
tópico respondeu ao bizugo de Nostradamus em Tutoriais de Scripting
Seria bom que você desse a sintaxe e a descrição de cada uma também. -
@thiagosh Não estava não
-
Introdução Estava observando que em 99,9 % dos casos de sites, a maioria apenas troca de layout. Pois hoje ensinarei a criar um website simples em PHP na garra! Requerimentos Conheçimento básico de HTML Um pouco de lógica, para saber o que é possível e o que não é dentro do PHP Dedicação Editor de textos (Bloco de notas, notepad++, entre outros) Lógica estruturada Primeiramente, antes de entrar em qualquer linguagem, vamos planejar como o site será. Formulário para account, senha, nome do char, vocação, sexo Inclur arquivo de configuração do site Pegar dados informados Verificar caso campos em branco Verificar se a account é numérica Verificar o número de dígitos da account e da senha Verificar se não foi usado caracteres especiais (*, /, \, !, @, #, $, %, entre outros) Verificar se a account existe Verificar se o char existe Criar a conta com os dados informados Arquivo de configuração do site Configuração de diretório do servidor Configurar nome do servidor Configurar life, mana, level, skills, entre outros dos jogadores a serem criados Rápida explicação Para entender o que iremos fazer em PHP é fácil vamos trabalhar com isso no código: Variavel - Toda variável no PHP é seguida de um $ (ex: $variavel) Condições - A sintaxe das condições no PHP é: if(condição) { // executar algo } Inicialização de código - No PHP indicamos o início de um código pelas "tags": <?php e no final por ?> Comentários - No PHP indicamos um comentário simples por // texto livre ou um comentário multi-linha por /* texto simples */ Usaremos algumas funções nativas do PHP, são elas: file_exists('dir/arquivo.xml') - Função que checa se um arquivo existe fopen('dir/arquivo.xml', 'w') - Função para abrir/criar arquivos, nesse caso usamos "w" então criaremos um arquivo. fwrite('texto', 'dir/arquivo.xml') - Função para escrevermos num arquivo fclose('dir/arquivo.xml') - Função para fechar um arquivo is_numeric($variavel) - Função para verificar se algo é numérico IsSet($variavel) - Função para verificar se algo foi setado ou mesmo usado echo - Função para imprimir uma mensagem na tela strlen - Função para verificar o número de caracteres de uma palavra (string) Mãos na massa! Primeiramente, criemos uma variável e damos a ela um valor de um diretório, o diretório da pasta data: $dir = "C:/otserv/data"; // não coloque o "/" no final Agora, vamos fazer um formulário em HTML, irei fazer um bem simples para o fácil entendimento: Vejamos agora o texto em negrito: Podemos observar que demos nomes para os campos para texto e botões, podemos dar o nome disso de identificação. Usaremos isso para saber quais valores correspondem a tais lugares. Pois sem isso, como saberíamos os dados informados? Observe que usamos o método (method) post para pegar os dados, que no PHP é "chamado" por $_POST['campo']; Vejamos como pegamos a account, senha, nome, e dados do player com POST: $account = $_POST['account']; $password = $_POST['password']; $name = $_POST['nick']; $sex = $_POST['sex']; $voc = $_POST['voc']; Depois de tudo pronto, está na hora de por a mão na massa começando a fazer as condições de criação. Primeiramente vamos ver quais faremos: Caso a account não seja numérica, exibir mensagem de erro Caso a account senha maior ou menor que 7, exibir mensagem de erro Caso a senha seja maior que 20 ou menor que 3, exibir mensagem de erro Caso o nome não ser letras, exibir mensagem de erro Caso a account exista Caso o char exista Vamos fazer pela ordem então: 1) Caso a account não seja numérica, exibir mensagem de erro if(!is_numeric($account)) { echo "Account não numérica"; } 2) Caso a account senha maior ou menor que 7, exibir mensagem de erro if(strlen($account) != 7) { echo "Account deve conter 7 números"; } 3) Caso a senha seja maior que 20 ou menor que 3, exibir mensagem de erro if(strlen($password) > 20 or strlen($password) < 3) { echo "Senha deve ser entre 3 a 20 dígitos"; } 4) Caso o nome não ser letras, exibir mensagem de erro 5) Caso a account exista if(file_exists("$dir/accounts/$account.xml") { echo "A account já existe em nosso banco de dados"; } 6) Caso o char exista if(file_exists("$dir/players/$name.xml") { echo "O jogador já existe em nosso banco de dados"; } Agora depois de todas as condições, faremos a parte de criação da account: $arquivo = fopen("$dir/account/$account.xml"); fwrite($arquivo, ' <?xml version="1.0"?> <account pass="'.$password.'" premDays="0" premEnd="0"> <characters> <character name="'.$name.'"/> </characters> </account> '); fclose($arquivo); OBS: Lembrando que estou me baseando no Evolutions. Agora vamos fazer a criação do player: OBS: Eu apenas peguei o player padrão que vem no servidor do Evolutions, caso queira modificar, é simples. Agora, vamos para a última parte: iremos juntar tudo que foi feito. OBS: O fórum acabou com minha estruturação do código. E chegamos ao fim de mais um tutorial, qualquer dúvida, é só postar aqui.
-
@Ta4e A lógica da condição é sim, mas não precisa estar necessáriamente nessa ordem.
-
Você se esqueçeu de por function onUse....
-
Para quem não sabe, está sendo criado uma versão de OT para TibIAME, o nome é OTME.
-
@GunsWebMaster Folgado você né? Se você se auto-entitula "Webmaster" faça você ao invés de usar códigos de terceiros.
-
Tilangotrainer [primeiro Monstro]
tópico respondeu ao Lionblood de Nostradamus em NPCs, monsters e raids
Para que você repetiu a tag: <attack name="melee" interval="2000" min="0" max="0" /> várias vezes? Não há necessidades... -
Local errado, o certo seria em Programação Open-Tibia -> Actions
-
A dança dos LOL's Estava sem nada, mas NADA mesmo para fazer e resolvi brincar um pouco com o PHP. Estava ouvindo um pouco de Arctic Monkeys quando tive a idéia. Vejamos abaixo: Crie um arquivo chamado lol_dancante.php E ponha: <body bgcolor="black"> <font size="50"> <?php $min = 10; $max = 40; $speed = 0.01; $rand = rand(1,7); switch($rand) { case 1: $lol = "<font color=red> <o/ <o/ <o/ <o/ <o/</font>"; break; case 2: $lol = "<font color=green>|o| |o| |o| |o| |o|</font>"; break; case 3: $lol = "<font color=purple> /o/ /o/ /o/ /o/ /o/</font>"; break; case 4: $lol = "<font color=yellow>\o> \o> \o> \o> \o></font>"; break; case 5: $lol = "<font color=orange> \o/ \o/ \o/ \o/ \o/</font>"; break; case 6: $lol = "<font color=white>\o| \o| \o| \o| \o|</font>"; case 7: $lol = "<font color=white> |o/ |o/ |o/ |o/|o/ |o/</font>"; break; default: $lol = "<font color=white> lol lol lol lol lol</font>"; } echo '<META HTTP-EQUIV="REFRESH" CONTENT="'.$speed.'; URL=lol_dancante.php">'; for($min; $min<$max; $min++) { echo $lol; } ?> </font> Agora é só executar. Caso queira mudar o número de "LOL" configure as variáveis $min e $max. Caso queira mudar a velocidade mude a varíavel $speed. Por padrão eu pus 0.01 segundos. Cuidado, pois esse script pode ser meio "perigoso" se executado com uma speed muito alta e um $min e $max altos.
-
Rapha's Ip Changer For Tibia 8.0 V 0.1
tópico respondeu ao picachu de Nostradamus em Lixeira Pública
Primeiramente o Rapha é registrado aqui sim, segundamente, o nome não é Baxnie e sim Banxie. E a única coisa que muda de 7.92 para 8.0 talvez é a RSA Key e um memory address, ou seja, nenhum trabalho extra...
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.