
rodox2008
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
rodox2008 deu reputação a Mathwsz em [Item] - Absorver DanoPRIMEIRAMENTE, SE EU ESTIVER EM ÁREA ERRADA POR FAVOR ME CORRIGEM ! UMA BOA NOITE E VAMOS LÁ !
Salve galera do TK! Hoje venho trazer para vocês um script muito bacana que funciona da seguinte maneira:
Ex: Eu tenho uma boots, e a cada 1000 de hit tomado, ela irá absover, e depois disso automaticamente começará contar 2 minutos até que ela recarregue e bloqueie o dano.. Ou seja, se eu tomo um hit de 2k e a boots está carregada, ela irá absover metade do dano.. Sem longas demores vamos lá!
Em Data/Creaturescript.xml adicione:
<event type="statschange" name="bootsbloqued" event="script" value="bootsbloqued.lua"/> Em data/Creaturescript/scripts , crie um arquivo chamado bootsbloqued.lua ou se você quer por outro nome no arquivo, modifica a tag do creaturescript.xml, e adicione o seguinte:
local config = { percent = 0.5, --- porcentagem do dano que irá levar (0.5 = 50%) storageskill = 19501, -- storage da skill itemplace = 8, -- lugar q ela deve estar (8 é o feet) itemid = 1234, -- id do item damagemin = 100 --- minimo de dano que deve ser pro player absorver } function onStatsChange(cid, attacker, type, combat, value) if type == STATSCHANGE_HEALTHLOSS and isCreature(attacker) and value >= config.damagemin then if getPlayerSlotItem(cid, config.itemplace).itemid == config.itemid then if getPlayerStorageValue(cid, config.storageskill) >= 1 then value = math.ceil(value*(config.percent)) setPlayerStorageValue(cid, config.storageskill, getPlayerStorageValue(cid, config.storageskill)-1) doTargetCombatHealth(attacker, cid, combat, -value, -value, 255) doPlayerSendTextMessage(cid, 23, "Your "..getItemNameById(config.itemid).." absorved "..value.." of damage.") return false end end end return true end
Agora, em Data/action.xml adicione:
<action itemid="ID DO ITEM" script="bootsbloqued.lua"/> Agora, em data/action/script , crie um arquivo chamado bootsbloqued.lua e adicione:
local config = { storagetempo = 19500, -- storage que contará os segundos storageskill = 19501, -- storage que vai dizer se a skill está ativada ou desativada itemid = 1234, -- id do item itemplace = 8, -- feet tempo = 2*60 -- tempo em segundo para recarregar ( 2 min ) } function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, config.storageskill) <= 0 and (getPlayerSlotItem(cid, config.itemplace).itemid == config.itemid) then if getPlayerStorageValue(cid, config.storagetempo) - os.time() <= 0 then timenow = os.time() + config.tempo setPlayerStorageValue(cid, config.storagetempo, timenow) setPlayerStorageValue(cid, config.storageskill, 1) doPlayerSendTextMessage(cid, 23, "You activated your "..getItemNameById(config.itemid)..", it's ready to absorb damages!") for j= 0,(config.tempo -1) do addEvent(function() if isPlayer(cid) then doPlayerSendCancel(cid, "Time until next use: ".. config.tempo - j .." second(s)") end end, (50+(j*1000))) end else doPlayerSendTextMessage(cid, 23, "You have to wait ".. getPlayerStorageValue(cid, config.storagetempo) - os.time() .." second(s) until you can use it again!") end else doPlayerSendTextMessage(cid, 23, "Your "..getItemNameById(config.itemid).." is already active or it isn't equiped.") end return true end
É isso galera, prontinho! ObS : Esse script não é meu, porém acho ele muito bacana e criativo, então já deixo avisado!
Dúvidas, poste aí e um grande abraço.
-
rodox2008 deu reputação a skerodark em Magia de ParalyzeE ai amigo, tudo bem? fiz aqui a script para você, espero que goste. 100% funcional.
Em : data/spells.xml coloque:
<instant name="Divine Missile" words="exori paralize" lvl="1" mana="0" prem="1" range="4" casterTargetOrDirection="1" needlearn="0" blockwalls="1" exhaustion="1000" event="script" value="attack/paralize.lua">
Em : data/spells/scripts/attack cria um arquivo chamado "paralize"
apague tudo. (se tiver escrito algo dentro)
e cole isso :
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_STUN) local condition = createConditionObject(CONDITION_PARALYZE) setConditionParam(condition, CONDITION_PARAM_TICKS, 9999) setConditionFormula(condition, -0.999, 0, -0.999, 0) setCombatCondition(combat, condition) function onCastSpell(cid, var) return doCombat(cid, combat, var) end espero que goste, vlw! Ajude? : De o seu Gostei .! #Gato_de_Botas
paralize.lua
-
rodox2008 deu reputação a xWhiteWolf em Dodge System 8.54+Ae galera do TK, uns caras ficaram me mandando PM pedindo esse sistema aqui.. aparentemente tem em algum server e eles queriam replicar o sistema no OT deles. Não sei como funciona no outro server mas no script que eu fiz vai funcionar assim:
Serão 100 livros que você poderá comprar de um npc específico, cada livro te dá 1 ponto a mais na skill Dodge e isso acarreta em 0.3% de chance a mais de desviar de um golpe e tomar só 50% de dano. Infelizmente eu nunca joguei no servidor que foi o pioneiro desse sistema (na vdd eu nem sei qual é) então eu não fiz igual o deles, na realidade o meu só funciona ao perder vida então se o mago usar utamo vita acabou os dodge's dele. Outra coisa importante é que o player tem uma chance rara de dar Dodge no Dodge, ou seja, levando 1/4 do dano. Só vai funcionar para ataques de criaturas, tanto melee quanto spells, ou seja, se o cara passar no fogo não tem chance dele desviar do dano
Sem mais delongas, vamos ao script:
Crie um arquivo chamado dodge.lua na pasta creaturescripts\scripts e coloque isso dentro dele:
agora adicione essa linha no creaturescripts.xml:
<event type="statschange" name="dodge" event="script" value="dodge.lua"/> em creaturescripts\scripts\login.lua adicione isso antes do ultimo return true:
registerCreatureEvent(cid, "dodge") if getPlayerStorageValue(cid, 48902) == -1 then setPlayerStorageValue(cid, 48902, 0) end agora vá em actions.xml e adicione essa linha aqui:
<action itemid="1950" script="dodgebook.lua"/> note que vc pode mudar o ID do livro a hora que vc quiser.
em items.xml, procure o item com o ID que vc irá utilizar e deixe ele assim:
<item id="1950" article="a" name="Skill Book [DODGE]"> <attribute key="weight" value="1300" /> </item> agora crie um arquivo chamado dodgebook em actions\scripts e coloque isso dentro dele:
-
rodox2008 deu reputação a xWhiteWolf em Gran Castle Event (8.54+)Olá pessoa, hoje vim trazer pra vocês um script bem requisitado que inclusive é vendido por alguns scripters. Algumas versões "pioradas" dessse script podem ser encontradas em servidores cópias do Fox World porém nenhum desses scripts chegará aos pés desse daqui que foi arrumado por mim.
Eu não sou o criador do Script, eu peguei qualquer um na internet e só fui arrumando e adicionando coisas que as pessoas reclamavam que não tinha.
O cara que criou a versão que eu editei é esse daqui:
Não vou me prolongar e nem falar mal da versão do Roksas, apenas saibam que eu editei ela praticamente inteira e que agora está 100%.
Aqui tem um pequeno vídeo de como funciona o evento:
Explicação: Gran Castle é um evento para ser feito sozinho ou com a guild, há um limite configurável no script de membros que podem entrar da mesma guild. Em dias determinados é aberto o evento e os players podem entrar ao falar com o NPC Melkrapo. Uma vez dentro do castelo os players batalharão para subir os andares e chegar até a Gran Tower, um monstro lendário que dará glória para aqueles que o derrotarem. Será que você é capaz? Instale no seu server e descubra! Um evento para redefinir o conceito de PVP e onde o seu maior inimigo serão seus semelhantes.
Sem mais delongas vamos começar a instalar esse monstrinho.. porque ele é grande pra caralho.
Agora crie um arquivo em creaturescripts\scripts chamado Gran Tower.lua e adicione o seguinte:
em data\lib crie um arquivo chamado 046-Gran Tower.lua e adicione o seguinte dentro dele:
Agora voltando aos creaturescripts crie um arquivo em scripts chamado Gran Aura.lua e adicione:
E um arquivo chamado Barrier.lua na mesma pasta com o seguinte conteúdo:
Agora em globalevents\globalevents.xml adicione a seguinte linha:
<globalevent name="Gran Tower" interval="60" event="script" value="Gran Tower.lua"/> E adicione o script associado em globalevents\scripts com o nome de Gran Tower.lua:
Agora na pasta monster procure o seu monsters.xml e adicione essas duas linhas:
<monster name="Gran Tower" file="8.4/Gran Tower.xml"/> <monster name="Barrier" file="8.4/barrier.xml"/> Feito isso crie os monstros na pasta data\monster\8.4:
O primeiro se chama barrier.xml e deverá conter:
O segundo se chamará Gran Tower.xml e deverá conter:
Agora vamos para NPC, vá em data\npc e crie um arquivo chamado Melkrapo.xml com o seguinte conteúdo:
Agora em npc\scripts crie um arquivo chamado Melkrapo.lua e adicione o seguinte:
Agora partindo pra spells vá em data\spells e adicione no spells.xml essas linhas:
-
rodox2008 deu reputação a xWhiteWolf em Magnus ChallengerFala galera, hoje vim trazer o projeto pronto do Magnus Challenger pra vocês instalarem no servidor de vocês!
Pra quem não conhece é um sistema de Tasks baseado no Zezenia onde você pode escolher entre tasks de matar monstros ou de coletar certos items para o npc Magnus, um guerreiro famoso da cidade que está atolado de tarefas e precisa da sua ajuda!
Peguei os aspectos que eu julguei serem os principais do modelo do Zezenia e editei com algumas coisas que eu achei que ficariam melhores.
Quem quiser pode ver um vídeo comentado de como o sistema funciona:
Dito isso vou ensinar vocês como instalar isso no server:
Pra começar vá em data\creaturescripts\scripts e procure login.lua, agora vá até o final do arquivo e antes do último return true coloque essas linhas abaixo
ainda em creaturescripts procure creaturescripts.xml e adicione essa linha junto com as outras que já estão lá (seguindo o padrão)
<!-- TASK SYSTEM --> <event type="kill" name="tasksystem" script="tasksystem.lua"/> Agora crie um arquivo em creaturescripts\scripts com o nome de tasksystem.lua e adicione o seguinte à ele:
Terminada a parte da contagem de kill vamos ao NPC em si.
Crie um arquivo chamado Magnus.xml em data\npc e coloque isso dentro dele:
Agora em data\npc\scripts crie um arquivo chamado zezeniaa.lua e adicione esse conteúdo dentro do arquivo:
~~~~~~~~~~~~~~~~ FEITO ISSO ESTÁ TERMINADO ~~~~~~~~~~~~~~~~~~
Agora aprendendo a configurar:
No tasksystem vc pode editar isso daqui:
Eu fiz um sistema onde se vc estiver em party com alguém e a pessoa matar os bixos conta como se você tivesse matado; Assim incentiva o pessoal a ir numa cave de Dragon e ao invés de matar quem está lá pra ficar sozinho na cave, eles vão chamar party pra fazerem a task juntos.. assim fazer amigos fica mais fácil e com maiores laços é maior a chance do povo não abandonar o seu server.
Apenas digite "true" ou "false" pra ativar/desativar esse sistema e em baixo temos a distancia máxima pro monstro estar do cara que está fazendo a task pra contar o kill. Se a distancia entre o monstro e a pessoa for maior que 7 não vai contar pra ele a kill.
No zezeniaa.lua as coisas que dão pra configurar são maiores mas são igualmente simples:
Toda vez que vc pedir uma task short (curta) vc vai ter de 100 a 400 monstros pra matar, ele gera um número de 0 a 6 e multiplica por 5 e soma com os 100 iniciais.. o mesmo vale pra todos os outros valores.
levelcollect é o level mínimo pra fazer tasks do tipo collect.
time é o tempo em segundos que você vai ficar sem poder falar com o npc caso desista de alguma task, o padrão é 8 * 60 * 60 (8 horas)
bonus é por quanto vai multiplicar caso vc permita que o npc escolha aleatoriamente entre todas as opções.. o padrão é 20% de bonus (1.2)
multiplicador é uma coisa que eu adicionei pra ficar mais fácil mexer na fórmula sem cometer cagadas, se vc tá ganhando 10% de exp e quer ganhar 80% é só colocar 8 no multiplicador.
Isso daqui é o banco de dados principal do sistema de kill, toda vez que vc escolher uma task do tipo fácil, médio, dificil ele vai acessar essas tabelas contendo o nome das criaturas.. vc pode facilmente adicionar novos nomes, o npc já está programado pra lidar com isso, apenas siga o padrão e mantenha sempre o último sem vírgula!
Ex: adicionando Morgaroth na tabela de hard
local hard = { [1] = "Giant Spider", [2] = "Dragon Lord", [3] = "Grim Reaper", [4] = "Demon", [5] = "Crystal Spider", [6] = "Demon Skeleton", [7] = "Juggernaut", [8] = "Destroyer", [9] = "Hand of Cursed Fate", [10] = "Morgaroth" } atente-se também pra não repetir o número no index.. se o anterior era [9] use [10].
O restante das tabelas são separadas para o banco de dados das tasks de collect:
segue a mesma lógica da de kill só que aqui você tem o id dos itens que serão usados... aquela count não tem nada a ver com o item pois ele vai gerar tanto o item aleatoriamente quanto à count;
Ex:
[1] = {id = 5880, count = 20}, -- iron ore isso não significa que se cair iron ore (id 5880) irá cair sempre 20.. até porque eu poderia escolher uma task long e easy e pegar a task de trazer até 50 iron ores, apenas tente manter os padrões que são os intervalos definidos.
No easy ele varia de 10 a 20, no medium ele varia de 20 a 35 e no hard de 40 a 50.
Espero que vocês tenham curtido, é um sistema grande mas bem simples de se mexer... se tiverem quaisquer problemas podem comentar aqui. Deu trabalho fazer isso então se você gostou deixe o seu comentário aí e o seu "Gostei" que vai me incentivar a trazer mais coisas desse tipo pra cá. Abraços do lobo.
PS: Pra sumonar o npc digite com o GOD: /n Magnus ou coloque ele pelo map editor.
-
rodox2008 deu reputação a dezon em Shop Admin Gesior 2012 (TFS 0.3.6 ~ 0.4, 1.0)[+] Shop Admin Gesior 2012 (TFS 0.3.6 ~ 0.4, 1.0) [+]
[+] Nova versão 2015 [+]
Olá pessoal!
Quero apresentar a mais nova versão do meu script para administrar Web Shop do Gesior 2012.
[+] O que tem de novo?:
O script foi revisado; Comentado as principais partes; Escrito algumas funções e ações novas; Revisado anti-inject; Agora você pode adicionar pontos para quem fizer doação; De uma forma geral, foi revisado de cabo à rabo ! [+] Imagens:
[+] Galeria de imagens online
http://postimg.org/gallery/1ssnwbf1i/
[+] Instalação:
Basta você ter o Gesior 2012 instalado junto aos scripts LUA de shop do mesmo; Ter o banco de dados instalado e um servidor TFS 0.3.6+, TFS 1.0, 1 rodando também.
+ Vá na pata {seu_web_server}\www ou htdocs\pages\ e renomeie o arquivo 'shopadmin.php' para 'shopadmin.php.old';
+ Faça download do script novo e cole na pasta que citei à cima;
+ Faça download desse arquivo http://item-images.ots.me/items_images_1076.zip;
+ Copie e cole a pasta que vem dentro desse arquivo e cole na pasta {seu_web_server}\www ou htdocs\images\ ficando assim {seu_web_server}\www ou htdocs\images\items\ e dentro dessa pasta as imagens dos itens do tibia;
+ Pronto!
[+] Download:
http://www.mediafire.com/view/z62d9zxylpg36dz/shopadmin.php
[+] Scan:
https://www.virustotal.com/pt/file/c06a2f7e1c1909b34f4dee2a7c27930a6c7cad1882edfcdf101689b0b61899d9/analysis/1399682407/
[+] ATENÇÃO: Bug encontrado:
Na realidade o shopadmin.php desenvolvido por mim, não contém bug's, ele faz o registro das ofertas corretamente, o que eu não consegui consertar foi o data/globalevents/scripts/others/shop.lua.
Ele não consegue criar o container e adicionar os itens dentro desse container da oferta cadastrada, exemplo: se você criar uma BP de SD, dá o seguinte erro:
Lua Script Error: [GlobalEvent Interface] data/globalevents/scripts/others/shop.lua:onThink LuaScriptInterface::luaPlayerAddItemEx(). Item not found stack traceback: [C]: in function 'addItemEx' data/lib/compat/compat.lua:363: in function 'doPlayerAddItemEx' data/globalevents/scripts/others/shop.lua:50: in function <data/globalev ents/scripts/others/shop.lua:7> Claro que estou correndo atrás de resolver esse problema, mas se por um acaso alguém tiver a solução, peço que por gentileza, poste aqui que darei os devidos créditos!
[+] Como adicionar items?
Para adicionar items ao shopping é muito fácil, basta você seguir igual eu postei nas fotos a configuração, respeitando o ID do item, Quantidade, o Tipo da oferta e etc, assim você enviará uma nova oferta para o seu site.
Para adicionar uma oferta do tipo Container (Bp, Bag, etc) é fácil também, basta você preencher como na imagem à seguir:
[+] Explicando:
Coloque o 'Nome' da oferta. Insira uma 'Descrição' para essa oferta. Diga a quantidade de 'Premium points' necessários. Selecione o tipo da oferta: 'Item' ou 'Container'. Coloque o 'ID Item 1' à ser vendido, caso seja um item normal: armadura, espada, etc. Preencha a 'Qtde. Item 1' que o player irá receber quando comprar essa oferta. Deixe em branco 'ID Item 2' e 'Qtde. Item 2'. Caso seja BP, selecione o tipo para 'Container', no 'ID Item 1' coloque o Id da BP. Em 'Qtde. Item 1' você deve colocar a quantidade para cada item dentro do container, exemplo: se for BP de Runa, para preencher a BP você terá um total de 20 slots preenchidos pela quantidade de runas do 'Qtde. Item 2', então coloque 20, pois representa a quantidade de slots dentro do container. Agora em 'ID Item 2' você coloca o ID da Runa ou do item que você está vendendo dentro do container. Preencha a 'Qtde. Item 2' com a quantidade para cada slot do container que você está vendendo. Clique em salvar. Pronto, adicionado! [+] Isso é necessário:
Lembrando que você precisa estar já com os scripts em lua funcionando corretamente do sistema de shop do Gesior 2012, você pode encontrá-los aqui: http://otland.net/threads/gesior2012-items-shop-installation-administration.170654/
Obrigado à todos!!!
-
rodox2008 deu reputação a GodIkki em [ERRO] bug em 3 vocationsBoa tarde,
Alguém poderia identificar onde está o meu erro? Eu criei 3 vocations, a primeira (ID=9), criei e deu tudo certo, assim que eu adicionei as outras duas (IDs=10,11) coloquei em um player para testar e o que ja tava com a 9 bugou (aparece "He are ."), e os outros com vocation 10/11 também ficam bugados. Alguem poderia me ajudar a solucionar?
Quando eles logam no jogo aparece o seguinte erro:
[Warning - Vocations::getVocation] Vocation 4294967295 not found.
[Warning - Vocations::getVocation] Vocation 4294967295 not found.
Desde já agradeço!
Ninguém consegue me ajudar?
Galera, to o dia todo tentando arrumar isso. Peguei um tutorial na internet e refiz elas. Então agora quando eu coloco o player na vocation id ele reloga e fica "no vocation" todos eles. Não sei o que ta acontecendo, ja estou desesperado :s
-
rodox2008 deu reputação a Nogard em (Resolvido)Error promotionfunction onSay (cid, words, param) local premdays = getPlayerPremiumDays(cid) local promovoc = getPromotedVocation(cid) local pos = getCreaturePosition(cid) if premdays >= 1 then doPlayerSetVocation(cid, promovoc) doSendMagicEffect(pos,5) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Voce acaba de ser promovido, parabéns') else doPlayerSendCancel(cid, 'Voce nao é premium account') end return true end Bom, pelo que entendi, ta aí.
-
rodox2008 deu reputação a Qwizer em (Resolvido)Error promotionqual sistema vip você usa no seu ot? ou usa p.a como vip?
fiz esse usando P.A se usa outro sistema vip me fala
-
rodox2008 deu reputação a Bruno Carvalho em [Pedido][Script]Item Que Troca A VocaçãoAchei esse script aqui na internet:
Creditos desconhecidos.
Em vermelho e para você colocar o numero da vocação.
O Level e a vida alguem coloca ai que estou meio oucupado essa manha. Só dei a corda.
Ps: Pesquisei sobre essa função e encontrei isso:
Creditos OtheReality
-
rodox2008 deu reputação a manoel1998 em [TUTORIAL] Troca Fundo De Imagem do Client!1º Baixem os Seguintes Downloads Necesarios!, esse download ja tem scam e tbm eos dois items necesarios para fazer a troca de fundo !
http://www.4shared.com/file/1282Z53E/Pic_Editor_Imagens_Pic_Ventura.html
1º abra o pic editor.
2º click em browse, va ate a pasta do seu client!
EXEMPLO : C:\Arquivos de programas\Tibia
3º Ira ter um icone, tibia.pic click nele é em seguida click em extract.
4º Va ate a pasta que esta o Pic Editor, La ira apareser umas imagens, A que se chama 0.bmp_file ea que você ira troca Ela ea imagem do FUNDO do seu client,
agora extraia ( extrair ) As ( Imagens Pic Ventura ) aonde esta as imagens 0.bmp.file, 1.bmp.file, 2.bmp.file, 3.bmp.file, 4,.bmp.file ,5 .bmp.file, 6.bmp.file é 7.bmp.file
5º ja extraio as imagens pic ventura agora abra seu pic editor novamente é click em ( Compile ) ira aparescer um tibia.pic agora click em browse é bote no tibia.pic que esta na pasta aonde tem as imagens ( 0.bmp.file, 1.bmp.file, 2.bmp.file, 3.bmp.file, 4,.bmp.file ,5 .bmp.file, 6.bmp.file é 7.bmp.file ) e depois é so click em Extract.
Agora Você ira subistituir o Tibia.pic que do seu client pelo que esta na pasta do Pic Editor!
Obs : Eu Textei Ne Client de Tibia, é ne client de Poketibia! é pego tudo certinho duvidas! fala ae que eu respondo!
Creditos :
Samuelssamu
Manoel! e.e
-
rodox2008 deu reputação a Juliano Bazzi em [Gesior] Calendário de EventosEae galera do Tibia King, bom vamos ao meu primeiro Tutorial
Eu estou com um projeto de ot, e estou desenvolvendo algumas páginas pro website, e vou disponibilizar algumas pra vocês..
O Calendário de Eventos é bem simples, ele é todo editado manualmente.. Mesmo assim, espero que gostem
Primeiro crie um arquivo chamado calendar.php e cole o código abaixo:
E o resultado final é esse:
-
rodox2008 deu reputação a Renato em [HTML + PHP] Formulário de ContatoFormulário de Contato - Funcionando
Olá galera, o tutorial abaixo vai te ajudar a criar um formulário de contato que funciona perfeitamente!
Basta seguir passo-a-passo, e caso surjam duvidas no meio do caminho, basta perguntar aqui mesmo.
PS: É necessário um conhecimento de HTML e uma base em lógica de programação!
1 - iremos criar o index.html onde ficará o formulário.
<form action="enviar.php" method="POST">
<input type="hidden">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Nome:<br> <input type="text" size="30" name="nome" value=""></td>
</tr>
<tr>
<td>E-mail:<br> <input type="text" size="30" name="email" value=""></td>
</tr>
<tr>
<td>Assunto:<br> <input type="text" size="30" name="assunto" value=""></td>
</tr>
<tr>
<td>Mensagem:<br> <textarea cols="40" rows="10" name="mensagem"></textarea>
</td>
</tr>
<tr>
<td> <input name="submit" type="submit" value=" Enviar "> <input name="reset" type="reset" value=" Limpar "></td>
</tr>
</table>
</form>
[/code] Acima, criei um formulário simples com NOME, EMAIL, ASSUNTO, MENSAGEM. Sinta-se a vontade para editar/adicionar, porem você deverá colocar name em todos os campos, exemplo: Campo do nome: <input type="text" size="30" [b]name="nome"[/b] value=""> Porque será usado no PHP, no envio para e-mail. Uma parte imporante e que não deve faltar também é o action="enviar.php" method="POST", dentro do form, pois o enviar.php é o nome do arquivo que iremos criar no segundo passo, onde ele enviará o email, e retornará as mensagens. [b][size=3][color=#FF0000]2[/color][/size] - Agora iremos criar a parte de PHP.[/b] Crie um arquivo [b]enviar.php[/b] com o código: [code]
<?php
$nome = $_POST["nome"];
$email = $_POST["email"];
$assunto = $_POST["assunto"];
$mensagem = $_POST["mensagem"];
global $email;
$data = date("d/m/y"); //pegando a data do evio
$hora = date("H:i"); //pegando a hora
$ip = $_SERVER['REMOTE_ADDR']; //pegando ip do cara que enviou
if($nome != NULL or $mensagem != NULL or $assunto != NULL or $email != NULL) {
mail ("[email protected]", //email para enviar dados
"$assunto",
"Nome: $nome\nData: $data\nIp: $ip\nHora: $hora\nE-mail: $email\n\nMensagem: $mensagem",
"From: $email"
);
echo "<p>Obrigado por entrar em contato, $nome</p>";
echo "<p>Entraremos em contato quando possível</p>";
}
else {
echo "<p>Mensagem não enviada, por favor preencha corretamente o formulário.</p>";
}
?>
Abaixo tem a explicação do código acima
2.1 - Você vai setar as variáveis:
$nome = $_POST["nome"];
• = Aqui é o nome da variável, você a escolhe.
• = Aqui é o nome do campo que voce usou no HTML (aonde vocês pois name="" que eu disse ser necessário)
As outras variáveis são para pegar a hora, data, etc. Não mecha.
2.2, você fará uma condição if, onde retornará erro caso não preenchido o formulário corretamente:
if($nome != NULL or $mensagem != NULL or $assunto != NULL or $email != NULL) {
• = Caso o campo do nome estiver em branco...
• = Caso o campo da mensagem estiver em branco...
E assim sucessivamente, você escolhe os campos necessários, só acrescentando or $variável != NULL
2.3 - você fará a ação caso a condição do passo 2.2 for verdadeira, ou seja, estiver todos os campos preenchidos:
mail ("[email protected]", //email para enviar dados
"$assunto",
"Nome: $nome\nData: $data\nIp: $ip\nHora: $hora\nE-mail: $email\n\nMensagem: $mensagem",
"From: $email"
);
echo "<p>Obrigado por entrar em contato, $nome</p>";
echo "<p>Entraremos em contato quando possível</p>";
}
• = Para onde enviará os dados do formulário depois do cara clicar em Enviar
• = Aqui é a mensagem que aparecerá no email, as caracteres \n significam uma quebra de linha, ou seja, igual <br> do html
• = Aqui é a mensagem que aparecerá pro usuário logo quando ele clicar em Enviar.
2.4 - você fará a ação caso a condição do passo 2.2 for falsa, ou seja, estiver algum campo vazio:
echo "<p>Mensagem não enviada, por favor preencha corretamente o formulário.</p>"; }
• = Aqui vai a mensagem de ERRO.
-
rodox2008 deu reputação a Snnowds2 em Slide para sites simples apenas em html v1.0 {{javascript}ajudo}Eaw pessoas hoje trago a vocês 1 slide em html muinto simples tá ai o code e como usa.
em sua pagina html na aba head coloque isso:
<center> <script language="JavaScript"> //By Paul Davis - www.kaosweaver.com var j,d="",l="",m="",p="",q="",z="",list= new Array() list[list.length]='http://codigofonte.net/img/2.gif'; list[list.length]='http://codigofonte.net/img/banner468.gif'; list[list.length]='http://codigofonte.net/img/banner120.gif'; j=parseInt(Math.random()*list.length); j=(isNaN(j))?0:j; document.write("<img name='seqSlideShow' src='"+list[j]+"' border=0 >"); function seqSlideShow(t,l) { x=document.seqSlideShow; j=l; j++; if (j==list.length) j=0; x.src=list[j]; setTimeout("seqSlideShow("+t+","+j+")",t); } </script> <script language="JavaScript"> seqSlideShow(5000,0); </script> </center> Configurando:
em:
list[list.length]='http://codigofonte.net/img/2.gif'; list[list.length]='http://codigofonte.net/img/banner468.gif'; list[list.length]='http://codigofonte.net/img/banner120.gif'; coloque o link de suas imagens.
em:
seqSlideShow(5000,0); coloque = 5000 = 5 segundos tendeu?
gosto? oba então me ajuda ai com rep+, ele foi bem simples de se fazer okey tera mais evoluções talves com css
CREDITOS:
eu por criar o sistema
codigofonte.net por disponilibizar as imagens
-
rodox2008 deu reputação a Luizpaiva em {Pedido}como eu posso colocar novos itens no meu rme?Trocando os itens de seu Remere's Map Editor
Bom, vejo que muitas pessoas tem dificuldades em trocar os itens de seu RME.
Mas como assim, trocar os itens do meu RME???
Voce ja viu no rme, o "Raw Pallete" , ai em tileset o "Other", la fica alguns itens. No seu RME, eles podem estar na versao do tibia 8.54,
vou ensinar a voces a colocarem uma versao mais atualizada, ou a que voces quiserem.
Então vamos lá:
Vá na pasta do seu RME (provavelmente será essa: computador>disco local (C:)>arquivos de programa>remere's map editor) e a pasta será assim: (SS)
2. Clique em Data:
3. Agora, dentro da pasta Data estará assim:
4. Agora voce vai na pasta da versao do seu mapa, por exemplo, alguns mapas abrem com o tibia 8.54 e outros com 8.6 (depende da versão do mapa, aqui no tutorial será com o 8.6, mas caso voce queira fazer com outra versao só fazer o mesmo na pasta da versao que voce queira).
Clique em 8.6:
5. Agora dentro da pasta 860, estará assim:
6. Agora dentro da pasta tem esses itens, e no meios deles tem isto:
Agora apague-os.
7. Agora, voce escolhe, se quer pegar itens atualizados, (8.7...) ou da pasta do seu ot, se voce quiser pegar da pasta do seu ot, vá na pasta do seu ot e vá em data/itens/ dentro da pasta, provavelmente tera 3 itens la:
Items.xml
items (em bloco de notas)
randomization
Copie o items.xml e o items em bloco de notas
8. Agora que copiou os 2, vá em computador>disco local (C:)>arquivos de programa>remere's map editor>data>860
e cole os dois la, agora feche e abra seu RME.
Pronto.
Gostou
-
rodox2008 deu reputação a Sekk em [GESIOR] 0.3.8 modificado por SekkBOAAS galera!!!
Então, baixei um Gesior algum tempo atrás(não lembro onde), e vi que faltavam coisas interessantes nele, então resolvi tentar adicionar(tudo isso esse ano kkk) e CONSEGUI!
Não quero enrolar, então vamos ao que interessa:
Bom, algumas imagens:
Latest News com Featured Article:
Menu editado:
Who is online? MOSTRANDO OUTFIT COM COR ATUAL!!!:
Characters mostrando OUTFIT(COR ATUAL DO PLAYER), HP, MP, EXP, LEVEL e ITEMS!!!:
Top guilds:
Guild Wars:
Downloads arrumados:
Battlefield:
Trade OFF:
Zombie Event:
Bom galera, eu adicionei:
- Zombie Event page
- Battlefield page
- Trade Off
- Arrumei a page Downloads
- Featured Article
- Top Guilds page
- Guild Wars page
- Modifiquei Who is online? e characters.php(outfit, mp, hp, exp, level)
- Advanced Admin Panel
- Background diferente
- Menus novos
- Arrumei o sistema de enviar e-mails no cadastro e lost account(falta apenas configurar)
Download: https://github.com/s3kk/Gesior/archive/master.zip
Scan: https://www.virustotal.com/pt/file/571b26e823c8b209daaf603313bee8d0a7dcfb962747e0c19f4f47dd42781e42/analysis/1452061171/
Database TOTALMENTE LIMPA E COMPATÍVEL: EM ANEXO
Bugs:
Obs.:
Na página Downloads, se você possuir client próprio, edite em downloads.php o link para download do mesmo!
Compátivel com OTS 8.6 e TFS 0.4.
Créditos:
db.sql
-
rodox2008 deu reputação a Sekk em Multi Elemental Arrow e ShieldOlá galera, esses dias ciriei um tópico pedindo um script para mudar o elemento das armas, no caso, o arrow fazia parte. Bom, não achei aqui no fórum um tópico sobre isso, e ninguém postou algum script para que eu pudesse testar. Sendo assim, eu procurei mais na Internet, e achei um tutorial
Bom, vamos ao que interessa:
Multi Elemental Arrow
Vá em data/actions/actions.xml e adicione as seguintes tags:
Ainda em actions, abra a pasta scripts e crie um arquivo chamado transformarrow.lua e adicione o seguinte código: Pronto, agora você só precisa tirar os seguintes items do loot dos monsters, e mudar seus nomes no items.xml. ID dos arrow fire, energy, ice e earth: Multi Elemental Shield: Vá em data/actions/actions.xml e adicione as seguintes tags: Pronto, agora você só precisa tirar os seguintes items do loot dos monsters, e mudar seus nomes no items.xml. ID dos shields normal, fire, energy, earth e ice:
Créditos
Rozinx Team -- Por criar o script e usá-lo em seus servidores
[T][R][O][N] -- De outro fórum, por postar o script para quem quer o mesmo
jvcasarin(EU) -- Por compartilhar com vocês do TK o script
-
rodox2008 deu reputação a Thiago Rulexz em [NOVO] Shop Gesior ACCBom galera estava navegando pelos foruns da vida e achei este tópico para ZnoteAcc.
Após procurar mais um poco achei para Gesior e Vim disponibilizar para Vocês
TESTADO COM SERVIDOR TFS 0.3.6
Imagens:
Vamos Lá....
Execute este codigo no seu Mysql
CREATE TABLE IF NOT EXISTS `znote_shop_orders` ( `id` int(11) NOT NULL AUTO_INCREMENT, `account_id` int(11) NOT NULL, `type` int(11) NOT NULL, `itemid` int(11) NOT NULL, `count` int(11) NOT NULL, `time` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; Não Pera.... `znote_shop_orders`?? Mais eu utilizo Gesior acc...
Não se esqueça que esse sistema é Znote e foi feito uma maneira de ser Compatível.
Faça Download dos Arquivos
Coloque o arquivo config-shop.php na pasta Config
shopsystem.php em system/pages/
As imagens jah está com o Diretorio correto (só extrair)
@edit (desculpa por ser 2 download mais estou meio sem tempo kk)
Download (Arquivos Php)
Downlaod (Imagens (nescessario))
Scan (arquivos)
Scan (imagens)
Creditos:
Nevix (por fazer a compatibilidade)
Eu (por trazer ao Tk e Traduzir o Tópico)
-
rodox2008 deu reputação a xWhiteWolf em [Pedido] NPC que transfira pontos físicos no jogo em pontos no sitetenta assim
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local function getCount(s) local b = s:match('%d+') return b and math.min(4294967295, b) or false end ---- local item = 9970 if msgcontains(msg, 'transfer') then selfSay('Please tell me the amount that you want change.', cid) talkState[talkUser] = 1 elseif(getCount(msg) and talkState[talkUser] == 1) then count = getCount(msg) selfSay('Do you want change ' .. count .. ' '.. getItemNameById(item) ..' for ' .. count .. ' premium points in the website?', cid) talkState[talkUser] = 2 elseif talkState[talkUser] == 2 and msgcontains(msg, 'yes') then if getPlayerItemCount(cid, item) >= count then if doPlayerRemoveItem(cid, item, count) then db.query("UPDATE `accounts` SET `premium_points` = `premium_points` + ".. count .." where id="..getPlayerAccountId(cid)) selfSay('Very well. You have transfered ' .. count .. ' '.. getItemNameById(item) ..' for ' .. count .. ' premium points.', cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) else selfSay('You do not have the items.', cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end else selfSay('You do not have the items.', cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end elseif talkState[talkUser] == 2 and msgcontains(msg, 'no') then selfSay('Ok then.', cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
rodox2008 deu reputação a xWhiteWolf em Novo Sistema de Trainer [0.36~0.4]Olá meus caros do Tibia King, hoje vim trazer pra vocês um sistema que bolei pra um concurso em outro fórum mas acabei ficando descontente e nunca cheguei a disponibilizar.
Eu gostaria de agradecer inicialmente à três acontecimentos que sem eles não seriam possíveis a criação desse sistema.
- A otlist obrigar que os servidores utilizem anti idle
- Os mages do meu servidor reclamarem que não dava pra treinar ml nos trainers
- Ao @Storm Night, que embora tenha me irritado muito nesse tópico aqui , botou a sementinha dessa idéia na minha cabeça.
Explicação É a combinação de dois sistemas que eu ja havia feito, o primeiro escolhe entre todas as salas de treiner aquela que está vazia pra te alocar e o segundo te mantém alimentado e rodando pra simular o anti idle. (Nota: ele não impede o anti idle de fato, se vc quiser fazer isso vc vai precisar editar o script de anti idle que vc utiliza pra ignorar players com determinado storage e adicionar o storage no player quando ele entrar na sala e tirar ao sair.. mas não sei até que ponto isso pode provocar ban da OTservlist por isso decidi não ensinar isso aqui.)
Sem mais delongas, talk is cheap, show me the code.
Idéia Basicamente dá pra reduzir toda a idéia do código nessa foto aqui:
Você tem diversas salas com trainers nesse formato (pode ser em linha reta horizontal ou vertical tb, mas assim fica melhor distribuído). Você inclusive pode criar salas no meio do void de forma que a distancia de uma vc nao consiga ver a outra e vai ser uma experiencia muito amigável para o player ver que está treinando sozinho na paz. Ao entrar no tp ele te aloca na primeira sala vazia, se não houverem salas vazias ele retorna que não tem posições livres
Instalação Você precisa criar as salinhas dos trainers equidistantemente, ou seja, tendo a mesma distância A em X e mesma distância B em Y. Sério, se vc errar nessa parte é porque vc não sabe oque significa equidistante. Vai pesquisar preguiçoso!! Já aviso que não vou dar suporte quanto à isso.
Você vai precisar criar salas parecidas com isso daqui:
Perceba que não tem como ter acesso a essa sala, não tem como ser puxado pra fora do trainer, não tem dor de cabeça nenhuma e quando o player quiser sair ele só entra no tp e volta pro templo ou pra onde vc definir.
Nesse teleport da sala vc adiciona o actionid 14877 e não bota nenhuma posição nele.
Naquele tile que o player irá ficar que inclusive tem id diferente vc bota actionid 14878.
Agora seleciona a area dessa sala no rme e vai copiando e colando percebendo sempre se vc tá criando as salas com mesma distância em X. Se o ponto inicial de uma sala é 140 e vc quer que todas tenham 12 sqm de distancia vc cria em 152, 164, 178.. por aí vai.
Quando terminar as salas que quiser e tiver montado as linhas e colunas da forma que desejou, vc vai criar um tp principal pra alocar os players nessa sala:
Lembrando que ele não deve ter posição no rme, vc só bota o actionID 14876 e deixa a toPos dele 0, 0, 0. Ele não tem q te teleportar pra nenhum lugar pois a posição será decidida por script.
Se você fez tudo certo até agora vc deve ter algo +- assim:
O importante é manter a distancia certinha entre cada sala. Aí no caso eu fiz rX = 11 e rY = 8 (é a terceira ou quarta vez q eu to falando isso, se vcs errarem pqp eu vou ficar muito irritado);
Vc não bota os trainers, e ali embaixo do spawn vc tem que botar um outro obstáculo pra impedir que o player ande pra baixo e dê a sala como livre.
Feito isso só adicionar os scripts abaixo:
movements.xml
<movevent type="StepIn" actionid="14876" event="script" value="trainertp.lua"/> <movevent type="StepIn" actionid="14877" event="script" value="trainertp2.lua"/> <movevent type="StepIn" actionid="14878" event="script" value="foodtrainer.lua"/>
movements/scripts/trainertp.lua:
movements/scripts/trainertp2.lua:
movements/scripts/foodtrainer.lua:
FIM, qualquer dúvida ou comentário ou sugestão coloquem abaixo. Se gostou REP+, se não gostou REP+ pq deu trabalho e vai ser útil pra alguém, mesmo que de estudo.
Abraços do Lobo.
E ao cara do outro fórum que ficou falando que ia dar erro e quis ficar me corrigindo e mandando scripts sem noção pra "mostrar" que sabia de lua: