Ir para conteúdo
Banner com Efeitos

thiagoxtk

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    thiagoxtk deu reputação a Private Sub Teste em [PHP, C#] Bless Cost   
    O programa irá calcular quanto é necessário em gold para você fazer a bless (completa).
    Fiz ele em duas linguagems (PHP e C#), irei usar o código PHP para explicar.



    <!DOCTYPE html>
    <html lang="en-US">
    <head>
    <meta charset="UTF-8" />
    <title>Bless Cost</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    <body>
    <div id="wrp">
    <?php
    if (isset($_POST['calculate'])) {
    $level = (int)$_POST['level'];

    function getBlessCost($lvl) {
    $lvl = (int)$lvl;
    return (max(30, min(120, $lvl)) - 20) * 1000;
    }

    $bless = getBlessCost($level);
    $blessCost = substr($bless, 0, -3);
    $blessCost = $blessCost. ',000';
    }
    ?>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
    <p>
    <label>Player Level:</label>
    <input type="text" name="level" required />

    <?php
    if (isset($_POST['calculate'])) {
    echo "<input type=\"text\" readonly name=\"bless\" value=\"".$blessCost."\"/>";
    }
    ?>

    <input type="hidden" name="calculate" />
    <input type="submit" value="Bless Price" />
    </p>
    </form>
    </div>
    </body>
    </html>
    [/php]

    Vamos por parte:


    [php]
    <!DOCTYPE html>
    <html lang="en-US">
    <head>
    <meta charset="UTF-8" />
    <title>Bless Cost</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    <body>
    <div id="wrp">

    Esta parte do código consiste em estruturar nossa página, chamando o título e o css, além de criar a div para alinhamento.



    <?php
    if (isset($_POST['calculate'])) { //verifica se o post enviado pelo botão (submit) é o correto para calcular
    $level = (int)$_POST['level']; //guarda o level do player que foi enviado pelo botão em uma variavel $level

    function getBlessCost($lvl) { //função pra pegar o preço da bless
    $lvl = (int)$lvl; //retorna o level que foi dado junto com a chamada da função. Exemplo: getBlessCost(100) > irá guardar o 100 que foi o valor que eu inseri.
    return (max(30, min(120, $lvl)) - 20) * 1000; //esta é a fórmula, simples
    //digamos que o level que você escolheu foi 100, a fóruma irá interpretar desta maneira:
    //(pegavalormáximo(30, pegavalorminimo(120, 100)) - 20) * 1000;
    //(pegavalormáximo(30, 100) - 20) * 1000; aqui ela pega o valor minimo (o menor valor) entre 120 e 100 (level que você escolheu)
    //(100 - 20) * 1000;
    //80 * 1000;
    //80000;
    //não sei se deu de entender muito bem, mas é simples, irei tentar explicar com outro exemplo mais além.
    }

    $bless = getBlessCost($level); //guarda o valor da bless que pegou pela function, onde $level foi o level enviado pelo usuário
    $blessCost = substr($bless, 0, -3); //como a bless sempre retornará N000, retiramos os 3 últimos 0 para...
    $blessCost = $blessCost. ',000'; //...colocar a vírgula, no fim, adicionamos os 3 zeros novamente
    }
    ?>[/php]
    Achei mais fácil comentar o código, então leiam por ali.


    [php]
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
    <p>
    <label>Player Level:</label>
    <input type="text" name="level" required />

    Esta parte, inicia o form que será usado para enviar as informações e já cria nosso campo level, onde o usuário irá digitar o leve para calcular a bless.



    <?php
    if (isset($_POST['calculate'])) { //verifica o post enviado pelo botão novamente
    echo "<input type=\"text\" readonly name=\"bless\" value=\"".$blessCost."\"/>"; //se ele contiver, quer dizer que a bless foi calculada e podemos printar o valor da mesma
    }
    ?>
    [/php]
    Código comentado.



    [php]
    <input type="hidden" name="calculate" />
    <input type="submit" value="Bless Price" />
    </p>
    </form>
    </div>
    </body>
    </html>

    Fim do código HTML, e botamos o input do tipo hidden para que ele sirva como nosso verificador nessa parte: if (isset($_POST['calculate'])) {
    Além disso, adicionamos o botão de enviar que é onde o player irá clicar para calcular a bless.

    Outro exemplo:


    //usaremos o level 39 para exemplo.
    return (max(30, min(120, $lvl)) - 20) * 1000; //esta é a fórmula, simples
    return (max(30, min(120, 39)) - 20) * 1000; //nessa primeira parte, você lembra das regras de parênteses? Então, usaremos ela, o que último é o (120, 39), então, o PHP irá calcular qual é o menor valor dentre esses.
    return (max(30, 39) - 20) * 1000; //Com o valor calculado do min e retornado 39, ele irá partir para o próximo que é calcular o maior valor dentre os 2.
    return (39 - 20) * 1000; //Retorna o valor de 39 que é o maior dentre os dois acima e continua o código;
    return 19 * 1000; // como o parenteses vem antes, 39-20 = 19, e continuamos o código, agora é só multiplicar por 1000 que chegaremos ao valor da bless
    return 19000; //viram? esse é o valor da bless para um level 39
    [/php]

    Css File:

    [spoiler]

    [php]
    body { font-size:14px; font-family:"Trebuchet Ms", Arial; }

    #wrp { background:#f7f7f7; padding:10px 10px; border-radius:5px; width:163px; margin:0 auto; margin-top:20%;}
    #wrp label { display:block; }
    #wrp input { display:block; margin-bottom:5px;}
    #wrp input[type=text] { background: #fff; border:2px solid #e6e6e6; padding:5px 5px; width:150px; }
    #wrp input[type=submit] { background:#fff; border:2px solid #e6e6e6; padding:10px 10px; width:163px; }







    Sendo que tLevel = textbox para o level
    Sendo que tCost = textbox para o valor da bless


    Ps: Não sou designer, não me chinguem pela arrumação do tópico e muito menos pelo Form do PHP para as blessings.
    Se quiser ver funcionando, entre em: http://tibiarvbot.com/blessing/
  2. Gostei
    thiagoxtk deu reputação a cOyes em [8.60] Megaevo Edit By Help3R   
    o que há de novo:
    -Engine:
    *TFS 0.4.1 by Vardius 8.6
    *monstros de 8.60
    *Eu adicionei novos monstros, quests, áreas de caça, o comando
    *VIP SYSTEM
    -Mapa:
    *Mudei a aparência do depósito, o templo, casas, NPC.
    *Mapa pesa 19MB ~
    *Eu adicionei um novo poucos quests
    *Eu adicionei cerca de 12 novos teleporters
    *tinha feito alguns lugares novos para caçar


    scan:http://virusscan.jot...cc8802ec9f6b145
    baixar:http://www.4shared.c...By_Help3R_.html

    fotos:



    Nenhum Credito é meu, totalmente ao criator do mapa, Help3R e ao CALIM por postar no tibiaking.
  3. Gostei
    thiagoxtk deu reputação a Gabriel Dias em [Source] TugBot !   
    Infelizmente o TugBot foi descontinuado, pelo menos para mim ele foi um dos melhores bots.



    Não por suas funções (que não deixavam nada a desejar), mas sim por sua simplicidade e facilidade de utilização.

    O TugBot já teve até uma sessão dedicada a ele aqui no TibiaKing, abaixo segue um tópico que mostra um pouco do TugBot.



    TugBot
    http://tibiaking.com/forum/topic/1459-tutorial-tugbot/

    Download do Source




    http://www.mediafire...3cnzsig6f71oi5v



    Senha do MediaFire



    www.tibiaking.com



    Scan Online



    Não estou conseguindo efetuar, assim que possível vou fazer. Se possível postem o scan para mim, obrigado.



    Site Original
    http://tibiaugbot.com/




    Qualquer dúvida, estou a disposição.



    Crédito aos desenvolvedores do Tibia Underground.

  4. Gostei
    thiagoxtk deu reputação a Renato em [Talkaction] Shop System [ !sell - !buy ] Fácil Configuração!   
    Sim, tive a ideia ao ver o shop system do skyd, mas não peguei nada do script dele.


    Instalando

    talkactions/scripts/shop.lua



    local config = {
    ["demon shield"] = {id = 2520, sell = 'yes 32000', buy = 'yes 70000' },
    ["magic plate armor"] = {id = 2472, sell = 'yes 120000', buy = 'no' },
    ["boots of haste"] = {id = 2195, sell = 'yes 30000', buy = 'no' }
    }

    function upperfirst(first, rest)
    return first:upper()..rest:lower()
    end

    function onSay(cid, words, param, channel)

    if (param == nil or param == '' or param == 'lista' or param == 'list') then
    if (words == "!sell" or words == "/sell") then
    str = "Showing items that you can sell:\n\n"
    else
    str = "Showing items that you can buy:\n\n"
    end
    for item, vars in pairs(config) do
    if (words == "!sell" or words == "/sell") then
    expl = string.explode(vars.sell, " ")
    else
    expl = string.explode(vars.buy, " ")
    end
    item = item:gsub("(%a)([%w_']*)", upperfirst)
    if (expl[1] == 'no') then
    str = str
    else
    str = str .. item.. " - " .. expl[2] .. " gps\n"
    end
    end
    return doShowTextDialog(cid, 2160, str)
    end
    local item = config[param:lower()]
    param = param:lower()
    if (item) then
    local sell = string.explode(item.sell, " ")
    local buy = string.explode(item.buy, " ")
    if (words == "!sell" or words == "/sell") then
    if (sell[1] == "yes") then
    if (doPlayerRemoveItem(cid, item.id, 1)) then
    doPlayerAddMoney(cid, sell[2])
    doSendMagicEffect(getPlayerPosition(cid), 30)
    return doPlayerSendTextMessage(cid,29,"Here are, you sold "..param.." for "..sell[2].." gold coins.")
    else
    doSendMagicEffect(getPlayerPosition(cid), 2)
    return doPlayerSendTextMessage(cid,29,"You don't have anything "..param.." to sell.")
    end
    else
    doSendMagicEffect(getPlayerPosition(cid), 2)
    return doPlayerSendTextMessage(cid,29,"Sorry, "..param.." cannot be sold.")
    end
    else
    if (buy[1] == "yes") then
    if (doPlayerRemoveMoney(cid, buy[2])) then
    doPlayerAddItem(cid, item.id)
    doSendMagicEffect(getPlayerPosition(cid), 28)
    return doPlayerSendTextMessage(cid,29,"Here are, you bought "..param.." for "..buy[2].." gold coins.")
    else
    doSendMagicEffect(getPlayerPosition(cid), 2)
    return doPlayerSendTextMessage(cid,29,"You don't have enough money.")
    end
    else
    doSendMagicEffect(getPlayerPosition(cid), 2)
    return doPlayerSendTextMessage(cid,29,"Sorry, "..param.." cannot be bought.")
    end
    end

    else
    doSendMagicEffect(getPlayerPosition(cid), 2)
    if (words == "!sell") then
    return doPlayerSendTextMessage(cid,29,"Sorry, this item cannot be sold or it does't exist.")
    else
    return doPlayerSendTextMessage(cid,29,"Sorry, this item cannot be bought or it does't exist.")
    end
    end
    end
    [/code] [b]talkactions/talkactions.xml[/b] [code]<talkaction words="!sell;/sell;!buy;/buy" event="script" value="shop.lua"/> Adicionando novos itens
    ♣ Config Observem no começo do código estas linhas: local config = {
    ["demon shield"] = {id = 2520, sell = 'yes 32000', buy = 'yes 70000' },
    ["magic plate armor"] = {id = 2472, sell = 'yes 120000', buy = 'yes 60000' },
    ["boots of haste"] = {id = 2195, sell = 'yes 30000', buy = 'no' }
    }[/code] Seguindo uma ordem óbvia, adicionem abaixo do boots of haste e antes do '}' que fecha o config. assim para adicionar sigam o modelo ["nome do item"], repectivamente de suas variáveis. [b]♣ Variáveis[/b] [color=#800080][b]id[/b][/color] - é onde você coloca o id do item [color=#800080][b]sell [/b][/color]- você precisa colocar se o item pode ser vendido por "yes" ou "no", caso for yes de um espaço (se não der espaço não funciona) e bote o valor em gold coins (não é k) [color=#800080][b]buy [/b][/color]- segue a ordem igual ao sell porem é se o item pode ser comprado pelo !buy ou não, e o preço que o player pagará. [b]♣ Exemplos[/b] Assim, digamos que desejo acrescentar um mastermind shield onde o player pode vender por 60k e comprar por 120k, adicionarei: [code]["mastermind shield"] = {id = 2514, sell = 'yes 60000', buy = 'yes 120000' }, Em seguida quero adicionar uma soft boots que pode ser vendida por 300k, mas NÃO PODE ser comprada. Colocarei: ["soft boots"] = {id = 6132, sell = 'yes 300000', buy = 'no' }, local config = {
    ["demon shield"] = {id = 2520, sell = 'yes 32000', buy = 'yes 70000' },
    ["magic plate armor"] = {id = 2472, sell = 'yes 120000', buy = 'no' },
    ["boots of haste"] = {id = 2195, sell = 'yes 30000', buy = 'yes 60000' },
    ["mastermind shield"] = {id = 2514, sell = 'yes 60000', buy = 'yes 120000' },
    ["soft boots"] = {id = 6132, sell = 'yes 300000', buy = 'no' }
    }[/code]

    [color=#ff0000][size=5][b]Atenção![/b][/size][/color]
    [color=#ff0000]Reparem que em todas as linhas finalizam-se com }, mas na última há ausência da vírgula, isto ocorre por que não pode ter vírgula no último, não sei ao certo se dará erro, não cheguei a testar, mas em muitas linguagens de programação ocorre um erro. Então é melhor ficar atento.[/color]

    Creio que passei as devidas instruções corretamente, e não é nenhum bixo de sete cabeças... qualquer um que tenha uma mentalidade normal conseguirá configurar.

    [size=5][b]
    [size=6][color=#006400]Explicando as talkactions[/color][/size]
    [/b][/size]
    [b]♣ Comprando[/b]
    Bom, agora que já adicionou todos os items, vou explicar como funciona:
    O player comprará uma boh (item sugestivo) item por: [color=#800080][b]!buy boots of haste[/b][/color], caso não tenha grana, não vai conseguir, caso tenha comprará.

    [b]♣ Vendendo[/b]
    O mesmo quando ele for vender, ele falará: [color=#800080][b]!sell boots of haste[/b][/color], caso não tenha o item, o script negará, caso tenha o item some e o dinheiro aparece (:




    [center][/center]




    [center][/center]


    [b]♣ Lista de items[/b]
    [i]Ohh, não sei quais items pode ser comprados, e também não sei quanto custa, e agora?[/i]
    Diga [b][color=#800080]!buy[/color][/b], ou [b][color=#800080]!buy[/color] [color=#800080]list [/color][/b]ou [b][color=#800080]!buy[/color] [color=#800080]lista[/color][/b] para ver todos os items




    [center][/center]


    [i]O mesmo com os items que podem ser vendidos:[/i]
    [b][color=#800080]!sell[/color][/b], [b][color=#800080]!sell list[/color][/b] ou [b][color=#800080]!sell lista[/color][/b]



    [center][/center]



    [size=7][color=#006400]Versão 2[/color][/size]

    Deixo aberto sugestões para a versão 2
    E claro, caso haja, correção de bugs.

    __________________


    [b]♣ Créditos[/b]
    Renato - Desenvolvimento
    skydangerous - Ideia
    Então, meu config ficará desta forma:
  5. Gostei
    thiagoxtk recebeu reputação de Carlos Batera em [Recrutando equipe] Narnia (TEMOS VAGAS!)   
    Assisti Narnia na televisão hoje!
    Bom, gostei da ideia, vamos ver no que isso vai dar

    Boa sorte no projeto.

Informação Importante

Confirmação de Termo