Histórico de Curtidas
-
thiagoxtk deu reputação a Private Sub Teste em [PHP, C#] Bless CostO 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/
-
thiagoxtk deu reputação a cOyes em [8.60] Megaevo Edit By Help3Ro 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.
-
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.
-
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: -
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.