
Histórico de Curtidas
-
Savidotti deu reputação a EddyHavoc em [MODERN AAC] Missing tables etc... [Tutorial]Já teve esses erros?
Quer se livrar deles?
Já postou esses erros e ninguem te ajuda ?? Exemplos:
Trago aqui uma listinha básica com a Solução !!
Você só tem que procurar o seu erro ou o que está faltando usando CRTL + F aqui no tópico...
ALTER TABLE `accounts` ADD `page_access` int(11); ALTER TABLE `accounts` ADD `page_lastday` int(11); ALTER TABLE `accounts` ADD `email_new` varchar(255); ALTER TABLE `accounts` ADD `email_new_time` int(15); ALTER TABLE `accounts` ADD `rlname` varchar(255); ALTER TABLE `accounts` ADD `location` varchar(255); ALTER TABLE `accounts` ADD `created` int(16); ALTER TABLE `accounts` ADD `email_code` varchar(255); ALTER TABLE `accounts` ADD `next_email` int(11); ALTER TABLE `accounts` ADD `premium_points` int(11); ALTER TABLE `accounts` ADD `nickname` char(48); ALTER TABLE `accounts` ADD avatar char(48); ALTER TABLE `accounts` ADD about_me text; ALTER TABLE `accounts` ADD `nickname` varchar(255) not null default ''; ALTER TABLE `accounts` CHANGE `key` `key` VARCHAR( 128 ) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT ''; ALTER TABLE `players` ADD `old_name` varchar(255); ALTER TABLE `players` ADD `hide_char` int(11); ALTER TABLE `players` ADD `worldtransfer` int(11); ALTER TABLE `players` ADD `created` int(16); ALTER TABLE `players` ADD `nick_verify` int(11); ALTER TABLE `players` ADD `comment` text; UPDATE `players` SET `hide_char` = 0; UPDATE `accounts` SET `key` = ''; INSERT INTO `players` (`name`, `world_id`, `group_id`, `account_id`, `level`, `vocation`, `health`, `healthmax`, `experience`, `lookbody`, `lookfeet`, `lookhead`, `looklegs`, `looktype`, `lookaddons`, `maglevel`, `mana`, `manamax`, `manaspent`, `soul`, `town_id`, `posx`, `posy`, `posz`, `conditions`, `cap`, `sex`, `lastlogin`, `lastip`, `save`, `skull`, `skulltime`, `rank_id`, `guildnick`, `lastlogout`, `blessings`, `balance`, `stamina`, `direction`, `loss_experience`, `loss_mana`, `loss_skills`, `loss_containers`, `loss_items`, `premend`, `online`, `marriage`, `promotion`, `deleted`, `description`, `created`, `nick_verify`, `old_name`, `hide_char`, `worldtransfer`, `comment`) VALUES ('Rook Sample', 0, 1, 1, 1, 0, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0, 'This player has no comment at this moment.'), ('Sorcerer Sample', 0, 1, 1, 8, 1, 185, 185, 4200, 0, 0, 0, 0, 110, 0, 0, 35, 35, 0, 0, 1, 50, 50, 7, '', 440, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0, 'This player has no comment at this moment.'), ('Druid Sample', 0, 1, 1, 8, 2, 185, 185, 4200, 0, 0, 0, 0, 110, 0, 0, 35, 35, 0, 0, 1, 50, 50, 7, '', 440, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0, 'This player has no comment at this moment.'), ('Paladin Sample', 0, 1, 1, 8, 3, 185, 185, 4200, 0, 0, 0, 0, 110, 0, 0, 35, 35, 0, 0, 1, 50, 50, 7, '', 440, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0, 'This player has no comment at this moment.'), ('Knight Sample', 0, 1, 1, 8, 4, 185, 185, 4200, 0, 0, 0, 0, 110, 0, 0, 35, 35, 0, 0, 1, 50, 50, 7, '', 440, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '', 0, 0, '', 0, 0, 'This player has no comment at this moment.'); CREATE TABLE IF NOT EXISTS `bugtracker` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category` int(3) NOT NULL, `time` int(11), `author` int(11) NOT NULL, `text` text, `title` varchar(120), `done` tinyint(3), `priority` tinyint(3), `closed` tinyint(1) DEFAULT '0', PRIMARY KEY (`id`), FOREIGN KEY (`author`) REFERENCES `players` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `friends` ( `id` int(11) NOT NULL AUTO_INCREMENT, `with` int(11), `friend` int(11), `time` int(11), `active` tinyint(1), PRIMARY KEY (`id`), FOREIGN KEY (`with`) REFERENCES `accounts` (`id`) ON DELETE CASCADE, FOREIGN KEY (`friend`) REFERENCES `accounts` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `messages` ( `id` int(11) NOT NULL AUTO_INCREMENT, `from` int(11), `to` int(11), `title` varchar(120), `text` tinytext, `time` int(11), `delete_from` tinyint(1), `delete_to` tinyint(1), `unread` tinyint(1), PRIMARY KEY (`id`), FOREIGN KEY (`from`) REFERENCES `accounts` (`id`) ON DELETE CASCADE, FOREIGN KEY (`to`) REFERENCES `accounts` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `news` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(150) DEFAULT '', `body` text, `time` int(11) DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `comments` ( `id` int(11) NOT NULL AUTO_INCREMENT, `news_id` int(11), `body` text, `time` int(11) DEFAULT '0', `author` int(11) DEFAULT '0', PRIMARY KEY (`id`), FOREIGN KEY (`news_id`) REFERENCES `news` (`id`) ON DELETE CASCADE, FOREIGN KEY (`author`) REFERENCES `players` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `forums` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(120), `description` tinytext, `access` smallint(5) DEFAULT '1' COMMENT 'Min. access to see the board', `closed` tinyint(1), `moderators` tinytext, `order` int(6), `requireLogin` tinyint(1), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; ALTER TABLE `forums` ADD `guild` int(11); CREATE TABLE IF NOT EXISTS `threads` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(120), `sticked` tinyint(1), `closed` tinyint(1), `author` varchar(64), `time` int(11), `board_id` int(11), PRIMARY KEY (`id`), FOREIGN KEY (`board_id`) REFERENCES `forums` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `posts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(120) , `text` text, `time` int(11), `author` varchar(64), `board_id` int(11), `thread_id` int(11), PRIMARY KEY (`id`), FOREIGN KEY (`board_id`) REFERENCES `forums` (`id`) ON DELETE CASCADE, FOREIGN KEY (`thread_id`) REFERENCES `threads` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `videos` ( `id` int(11) NOT NULL AUTO_INCREMENT, `author` int(11) , `title` varchar(120), `description` tinytext, `youtube` varchar(45), `views` int(11), `time` int(11), PRIMARY KEY (`id`), FOREIGN KEY (`author`) REFERENCES `players` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `video_comments` ( `id` int(10) NOT NULL AUTO_INCREMENT, `author` int(11), `video` int(11), `time` int(11), `text` tinytext, PRIMARY KEY (`id`), FOREIGN KEY (`video`) REFERENCES `videos` (`id`) ON DELETE CASCADE, FOREIGN KEY (`author`) REFERENCES `players` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `poll` ( `id` int(11) NOT NULL AUTO_INCREMENT, `question` varchar(150) , `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `date_start` datetime , `date_end` datetime , `status` tinyint(1) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `question` (`question`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `poll_answer` ( `id` int(11) NOT NULL AUTO_INCREMENT, `poll_id` int(11) NOT NULL, `answer` varchar(150) , PRIMARY KEY (`id`), FOREIGN KEY (`poll_id`) REFERENCES `poll` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; CREATE TABLE IF NOT EXISTS `poll_votes` ( `id` int(11) NOT NULL AUTO_INCREMENT, `answer_id` int(11) , `poll_id` int(11) , `account_id` int(11) NOT NULL, PRIMARY KEY (`id`), FOREIGN KEY (`answer_id`) REFERENCES `poll_answer` (`id`) ON DELETE CASCADE, FOREIGN KEY (`poll_id`) REFERENCES `poll` (`id`) ON DELETE CASCADE, FOREIGN KEY (`account_id`) REFERENCES `accounts` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Novo Erros:
Solução
CREATE TABLE `z_ots_comunication` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `name` VARCHAR(255) NOT NULL, `type` VARCHAR(255) NOT NULL, `action` VARCHAR(255) NOT NULL, `param1` VARCHAR(255) NOT NULL, `param2` VARCHAR(255) NOT NULL, `param3` VARCHAR(255) NOT NULL, `param4` VARCHAR(255) NOT NULL, `param5` VARCHAR(255) NOT NULL, `param6` VARCHAR(255) NOT NULL, `param7` VARCHAR(255) NOT NULL, `delete_it` INT(2) NOT NULL DEFAULT '1', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 Créditos:
Amiroslo
EddyHavoc
Espero que tenho te ajudado.
-
Savidotti deu reputação a bringsz em Sources para [DBO]Galera estou disponibilizando para vocês uma source que no meu servidor corrigiu o bug das mortes infinitas que já vi em vários OTServ de DBO.
Simplesmente eu peguei essas sources
e modifiquei para DBO
- Effets limit 255
- HP e MP por %
- Fisting upando atk speed para 350.
-
Savidotti deu reputação a FlameArcixt em Horder Leader System (Definitivo)?HORDER LEADER SYSTEM?
Já vou me adiantando, fiz o script mas não sou programador, testei varias e varias vezes aqui e deu certo, se não der ai eu não ofereço suporte, sorry, se algum programador quiser melhorar o código fica a vontade.
Como Funciona: Um monstro especial "Boss", quando você targeta nele, ele Cria vários outros monstros mais fracos para ajudar ele. só fiz esse script pra contribuir aqui no tk.
?Em data\creaturescript\creaturescript.xml registre?
?Em data\creaturescript\script crie um arquivo com nome "target.lua" e cole o código?
?Para isso funcionar, você deve registrar os eventos nos monstros que você for usar EX: ?
O que mudei no script desde o beta? simples, agora só vai spawnar se o monstro levar dano, e a storage global só volta a -1 se o monstro morrer.
Prováveis problemas? sim, o script foi feito para boss, ou seja, se tiver mais de dois boss no mapa pode dar problema, por exemplo, um boss é atacado e a storage fica ativada, mas ele não é morto então não desativa a storage, se você for matar o outro boss, os monstros não irão nascer, pois a storage já vai estar ativada, ou seja, deixe apenas um boss por vez.
Só isso mesmo, suporte só com 10zão no pixpobre?
Agradecimentos ao @Vodkart(Ajudou muito com erros/ediçoes).
-
Savidotti deu reputação a FlameArcixt em Remeres Map Editor (3.3) Em grupo (LIVE)??
A muito tempo eu procuro um Remere's map editor com a opção Live funcional (Mapear em grupo), no dia (28/02/2021) o membro @WooX me apresentou esse Editor que possui essa opção funcional, hoje venho compartilhar aqui no Tibiaking, Mesmo que não seja relevante.
⛔ Não vou ensinar a instalação, pois é igual em todos os editor, e já existem vários tutoriais de instalação no TibiaKing. ⛔
? Passo 1: Baixando/Usando Radmin (Necessário para quem não consegue abrir as portas do roteador/modem) ?
? Passo 2: Hosteando uma partida no Remere's Map Editor ?
? Passo 3: Entrando na live de alguém ?
Demonstração em ação (Ignorem a musica)
? DEMONSTRAÇÂO ?
⚠️ DOWNLOAD REMERES MAP EDITOR 3.3: LINK ⚠️
⚠️ DOWNLOAD RADMIN: LINK ⚠️
-
Savidotti deu reputação a Vodkart em Amuleto Infinito que dropa os itens apenas Red Skullvá até data\creaturescripts\scripts e crie um arquivo.lua e renomeie para preparedeathred.lua
dentro coloque:
function onDeath(cid, corpse, deathList) if (getPlayerSlotItem(cid, 2).itemid == 13755) then -- id do colar doCreatureSetDropLoot(cid, getPlayerSkullType(cid) >= 4 and true or false) if getPlayerSkullType(cid) >= 4 then doPlayerRemoveItem(cid, 13755, 1) end end return true end
em data\creaturescripts\scripts\login.lua adiciona a linha:
registerCreatureEvent(cid, "RedSkullAmulet")
creaturescripts.xml adicione:
<event type="death" name="RedSkullAmulet" event="script" value="preparedeathred.lua"/> em items.xml deixa assim:
<item id="13755" article="a" name="Amulet Vip"> <attribute key="description" value="Protect All 6%, Dropa os items apenas RedSkull" /> <attribute key="weight" value="500" /> <attribute key="absorbPercentAll" value="6" /> <attribute key="slotType" value="necklace" />
-
Savidotti deu reputação a WooX em Player Morre e não deixa Corpo?Manda aqui o creaturescripts.xml
-
Savidotti deu reputação a ITALOx em Player Morre e não deixa Corpo?Pode ser a script da nitdeath(algo assim kkk) procura ela no creaturescripts/scripts.
ver se tem ela, se sim, coloca cada vocação de cada personagem da morte.
-
Savidotti deu reputação a GamerGoiano em Player Morre e não deixa Corpo?@Savidotti Pode ser várias coisas, source mal compilada com arquivo faltando tags
Algum arquivo do creaturescripts que afeta o drop
Algum arquivo de spr faltando e dando nil value
@WooX ajuda ele ai kk
-
Savidotti deu reputação a GamerGoiano em Player Morre e não deixa Corpo?@Savidotti doCreatureSetDropLoot pesquisa isso em algum script ta apagando o corpse
-
Savidotti deu reputação a Nicrox em [DOWNLOAD] Poke Zot Atualizado + WebSiteOi, pessoal.
Aqui está o server + site que eu estava editando.
Adicionei box 10, 11, 12, 13, 14, 15.
Editei os mapas e retirei os bugs.
Se tiver bugs, pode falar vou arrumar.
Download
Client
MediaFire // 4shared
Server
MediaFire // 4shared
Server sem Website
MediaFire // 4shared
Download Mapa Editor extendido
MediaFire
Rep+
Thanks
-
Savidotti deu reputação a henriquesafadao em Pokepro2 30/05/2018Pra ajudar vocês que tem base Lendas Pokemon esto li dano a spr é dat Pokepro2 Atualizado Hoji 30/05/2018
Download : http://www.mediafire.com/file/syf7asqm8j00tli/Pokepro %2C.rar
Scan :https://www.virustotal.com/pt/file/b2b41330849da3b3cbf0afa5bd58190de3b11d6d0e83bc894a569ff559daa1e3/analysis/1527717553/
-
Savidotti deu reputação a HotSummer em Como colocar vip por um item?ACTION ITEM: CRIE UM ARQUIVO CHAMADO VIP Tile.lua em /actions/scripts
Em actions.xml ponha :
<action itemid="ID QUE VAI CLICAR E DAR VIP" script="VIP Item.lua"/>
Quanto ao storage do seu vip,depende do sistema vip que você usa.
-
Savidotti deu reputação a HotSummer em Como colocar vip por um item?ATENÇÃO! ISSO NÃO É BEM UM SISTEMA VIP,ELE SÓ ADICIONA STORAGE AO PLAYER POR UM DETERMINADO TEMPO PELO ITEM,DANDO DIREITO DE PASSAR EM LUGARES QUE VOCÊ CONFIGUROU PARA SEREM PASSADOS SÓ POR PLAYERS COM ESSE STORAGE. JÁ QUE SÃO SÓ LUGARES,ESSE É PRA VOCÊ!!
NÃO TEM COMO VOCÊ VENDER ISSO NO SITE,PORQUE NÃO É SISTEMA VIP,SÓ O ITEM QUE DÁ O STORAGE PRA PASSAR NOS PISOS VIP.
SE VOCÊ QUISER ADICIONAR MAGIAS PRA VIP,ADICIONA ISSO NO SCRIPT DA MAGIA :
---------------------------------------------------------------
local storage = 445566 ---------------------------------------------------------------- Ok...já que não entendeu darei o código pronto já. ----------------------------------------------------------------- ACTION ITEM: CRIE UM ARQUIVO CHAMADO VIP Tile.lua em /actions/scripts function onUse(cid, item, fromPosition, itemEx, toPosition) local config={ removeOnUse = "yes" -- remover quando usar ("yes" or "no") } local days = 30 -- dias que serão adicionados local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 445566) local timenow = os.time() if getPlayerStorageValue(cid, 445566) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 445566, time) local quantity = math.floor((getPlayerStorageValue(cid, 445566) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") if (config.removeOnUse == "yes") then doRemoveItem(item.uid, 1) end return TRUE end Em actions.xml ponha : <action itemid="5785" script="VIP Item.lua"/> *5785 - ESSE É O ID DO ITEM QUE VAI DAR VIP! ------------------------------------------------------------------- Agora em movements/scripts crie um arquivo chamado viptile.lua function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "This place is only for vip players,please buy a vip scroll..", msgWelcome = "Welcome to VIP PLACE!!." } if getPlayerStorageValue(cid, 445566) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return TRUE end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome) return TRUE end E adicione a tag aos movements.xml : <movevent type="StepIn" actionid="29859" event="script" value="viptile.lua"/>
e no piso que for pra vip,vc põe 29859 no ACTIONID do piso,no mapa.
O STORAGE DO SEU VIP SYSTEM AGORA É 445566!
-
Savidotti deu reputação a Vodkart em [Action] Comprando item por Chest (Bau)esse script é meu velho, só mudaram de lever pra chest, além disso se você usar a tag UNIQUEID não vai funcionar, está configurado para ser ACTIONID... ex:
local coin = 9020 local lever = { [6001] = {30,7429}, [6002] = {20,7366}, [6003] = {10,8926}, [6004] = {5,5978} } function onUse(cid,item,fromPosition,itemEx,toPosition) if doPlayerRemoveItem(cid,coin,lever[item.actionid][1]) == FALSE then return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "você precisa de "..lever[item.actionid][1].." " ..getItemNameById(coin)) end doPlayerAddItem(cid,lever[item.actionid][2]) doPlayerSendTextMessage(cid,22,"você comprou um " .. getItemNameById(lever[item.actionid][2])) doSendMagicEffect(getCreaturePosition(cid), math.random(28,30)) doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end e a tag: <action actionid="6001-6004" script="nome do seu script.lua"/>
-
Savidotti deu reputação a Absolute em [Vip Bônus] Exp bônus para jogadores vip accountFala galerinha do TK, já vi gente pedindo aqui e por PM para mim o script de dar uma porcentagem a mais de exp para jogadores VIP.
Então venho trabalhando com o lindo do xWhiteWolf para disponibilizar esse sisteminha simples e 100% funcional.
Como funciona:
Quando qualquer player logar irá aparecer a mensagem: Adquira sua VIP ACCOUNT "seusite" e obtenha X% a mais de EXP para facilitar sua hunt.
Quando qualquer player logar e possuir VIP ACCOUNT irá aparecer: Você é um jogador vip, possui X% a mais de exp do que os jogadores free's.
Diferente de muitos scripts já visto, a mensagem aparecerá em POP-UP quando o player logar (POP-UP é aquela janelinha que aparece para fechar, caixa de notificações )
Vamos ao script/instalação:
Em data/creaturescritps/scripts crie um arquivo com o nome tkexp.lua e adicione dentro:
function onLogin(cid) local rate = 1.5 -- 50% local config = { welvip = "Você é um jogador vip, possui "..((rate - 1)*100).."% a mais de exp do que os jogadores free's", not_vip = "Adquira sua vip em nosso site www.tibiaking.com e obtenha "..((rate - 1)*100).."% a mais de EXP para facilitar sua hunt!", s = 13540, -- storage vip } if getPlayerStorageValue(cid, config.s) - os.time() >= 1 then doPlayerSetExperienceRate(cid, rate) doPlayerPopupFYI(cid, config.welvip) else doPlayerPopupFYI(cid, config.not_vip) end return TRUE end Em data/creaturescripts/creaturescripts.xml adicione a seguinte linha:
<event type="login" name="tkexp" script="tkexp.lua"/> Em data/creaturescripts/scritps abra o login.lua e embaixo de registerCreatureEvent(cid, "Frags") ou qualquer registerCreture... adicione a seguinte linha:
registerCreatureEvent(cid, "tkexp") Pronto!
Importante: Configurando:
local rate = 1.5 -- 50% - Rate está 1.5 ou seja 1.0 = padrão, 1.5 = padrão + 0.5 = 50%, por exemplo: caso queira adicionar 30% a mais de exp para os vips use 1.3% (padrão de 1.0 mais 0.3 = 1.3) welvip = mensagem que aparecerá quando o player logar avisando que está vip e possui a porcentagem a mais de EXP not_vip = verifica que o player não é vip e mostra a mensagem fazendo um "Marketing" para comprarem mostrando o benefício s = 13540, = Aqui a storage da sua VIP Account, você poderá ver em suas libs, cada servidor tem um número, a maioria usa 13540 mas é importante verificar Tudo ok galera Caso não entendeu ou tenha alguma dúvida não tenha vergonha de perguntar, afinal ninguém nasceu sabendo não é? Espero que gostem e usem Até o próximo. Absolute.
-
Savidotti deu reputação a Killua em Evento Blood Castle [Automático]Últimas atualizações:
16/12/2013:
Introdução:
Este é o meu já conhecido evento Blood Castle Automático que estava em outro fórum que acabou. Estou trazendo ele aqui para que ele não "morra".
Informações:
#Dica: Acho que fica legal o premio do evento ser um item que da double exp por um tempo.
Atualização [12/04/2014]
Resolvi refazer o código, para facilitar a instalação e melhorar o funcionamento do evento.
O que mudou?
Instalando o evento:
Lib:
Movements:
Creaturescripts:
Monsters:
O evento pode acontecer de duas maneiras: automática ou manualmente. Vou por as duas possibilidades: Automática:
Manual:
Como Configurar:
* Se você for colocar, dentro do evento, um teleporte para as pessoas que não quiserem mais participar, coloque o Action ID 9371 nele.
* Lembre-se de por NO-LOGOUT tool e NO-PVP tool em toda área do evento!!
Todas as demais explicações estão na lib, mas vou demonstrar como configurar os mais "confusos".
No modo automático, você configura de quanto em quanto o tempo o evento vai acontecer. Nessa tag:
<globalevent name="Blood Castle" interval="3600" event="script" value="BloodGlobalEvent.lua"/> Aqui está 3600 segundos, ou seja, 1 hora.
* Se seu servidor for em milisegundos, multiplique o número por 1000, assim: 3600 segundos * 1000 = 3600000 milisegundos = 1 hora.
No modo manual, para iniciar o evento, basta usar a talkaction /blood-start com seu god.
Em posGuarda, vc deve colocar a posicao do Guarda do Portao, como mostrado abaixo:
As posPedras são onde ficam as pedras que tampam a passagem enquanto o evento não esta aberto, conforme na imagem abaixo:
Em estátua, vc deve colocar a posição em que o arcanjo vai ser criado, conforme na imagem abaixo:
Nas posParedes, vc deve por a posição das paredes que bloqueiam a entrada do castelo e que são removidas quando o guarda morre, conforme abaixo:
Em fromPos e toPos, você vai por o canto superior esquerdo e o canto inferior direito do mapa do seu evento, respectivamente. Dessa maneira:
As outras configurações eu acredito que já estejam bem explicadas. Espero que gostem dessa nova versão. Recomendo a todos que já usam o evento, reinstalar com essa nova versão. Qualquer dúvida ou bug, postem que irei responder. -
Savidotti deu reputação a Kaiotp em [Talkaction] Lista de StaffUma talkaction que vai incrementar um pouco mais seu servidor.
!staff se estiver on parecera o seu nome e se não tiver aparecera um pequeno trecho
Em data/talkactions/talkactions.xml:
<talkaction words="!staff" event="script" value="staff.lua"/>
Agora em data/talkactions/scripts: crie um arquivo chamado staff.lua e cole dentro:
function onSay(cid, words, param, channel)
local Info = db.getResult("SELECT * FROM `players` WHERE `online` = '1' AND `group_id` > 1")
local PlayerString = "Online Staff Members:\n"
if Info:getID() ~= -1 then
local count, i = Info:getRows(false), 0
repeat
PlayerString = PlayerString .. Info:getDataString("name") .. " - "
if Info:getDataInt("group_id") == 2 then
PlayerString = PlayerString .. "Tutor"
elseif Info:getDataInt("group_id") == 3 then
PlayerString = PlayerString .. "Senior Tutor"
elseif Info:getDataInt("group_id") == 4 then
PlayerString = PlayerString .. "Game Master"
elseif Info:getDataInt("group_id") == 5 then
PlayerString = PlayerString .. "Community Manager"
elseif Info:getDataInt("group_id") == 6 then
PlayerString = PlayerString .. "God"
end
PlayerString = PlayerString .. "\n"
until not(Info:next())
Info:free()
else
PlayerString = PlayerString .. "No staff online, try again later"
end
doPlayerPopupFYI(cid, PlayerString);
return true
end
Bom Uso!
Creditos.
Kaiotp
Hiromath
AlexClusive
-
Savidotti deu reputação a xXJuninho em Box - PokétibiaOlá galera, tudo beleza? Hoje venho trazer ao tibia King como adicionar uma box ao seu pokétibia.. Vamos lá !
(Peguei de base o Pokémon Erondino)
Vá na Pasta do seu sever/Data/Actions/Scripts
E cria um novo arquivo.lua.
Cole isso dentro do arquivo:
Explicando linhas:
Vermelho - 15 :Aqui é o level que o player precisa ter para abrir a box.
Laranja - ID DO ITEM: Aqui você vai por o ID da box, a sprite.
Rosa: Aqui você vai por o nome do pokémon que deseja que fique na box.
Azul: Número do pokémon, exemplo ali já tem adicionado 3 pokémons se você for adicionar mais um você vai copiar e colar o seguinte script:
A primeira linha elseif r1 == 3 then substitua o 3 pelo número do pokémon na ordem, 4,5 etc..
Agora vai até á Pasta do Seu server/Data/Actions/
E abre o actions.xml e adicione a seguinte tag:
<action itemid="ID DO ITEM" event="script" value="box.lua"/>
Espero ter ajudado
Dúvidas? Mande Pm
-
Savidotti deu reputação a zipter98 em Erro Login.luaÉ mais provável que, nos códigos das seguintes funções, não esteja sendo verificado se o jogador possui uma pokeball no slot.
Se possível, poste o código delas (se encontram em algum lugar de data/lib).
doUpdateMoves(cid) doUpdatePokemonsBar(cid) onPokeHealthChange(cid) doPlayerChangeModeIcon(cid) -
Savidotti deu reputação a jeremias em Templates para site, Narutibia~NTOPanzerOlá pessoal, está disponível para Dowload as templetes do antigo NTO Panzer, em breve postarei o site completo! vlw.
não se esqueçam do REP+
Créditos pela produção das Templates: NTO PANZER.
Dowload: http://www.mediafire.com/download/abctzye7lg78t92/TemplatesNtopanzer.rar
Scan: https://www.virustotal.com/pt/file/2a184d2216d5b6f9045945d9bec972f9c71c9c641ce31d669c45f65823b7ecd7/analysis/1447852459/
-
Savidotti deu reputação a Absolute em [Pagseguro Automático] 100% e com Double Points OPCIONALFala linduxos do TK, hoje vim trazer para vocês um sistema que venho modificando a algum tempo.
O Sistema de pagseguro automático, ao longo do script ensinarei perfeitamente como instalar/configurar.
Lembrando que uso esse sistema em um servidor meu e está 100% entregando os pontos no mesmo instante, adicionei a opção de entregar pontos dobrados, para promoção double points acima de X valor.
Vá em sua pasta www ou htocs/config abra o arquivo config.php e procure por: $config['site']['layout'] = ... embaixo disto adicione o seguinte:
// Pagseguro Automático by Absolute on Luminera // Seu email cadastrado no PagSeguro $config['pagseguro']['email'] = 'SEU E-MAIL DO PAGSEGURO'; // Nome do produto $config['pagseguro']['produtoNome'] = 'Premium Points'; // Valor de cada ponto // Exemplo de valores: // 100 = R$ 1,00 // 250 = R$ 2,50 $config['pagseguro']['produtoValor'] = '100'; Simples explicação sobre este passo: em SEU E-MAIL DO PAGSEGURO basta colocar o seu e-mail do pagseguro, ficando como exemplo:
$config['pagseguro']['email'] = '[email protected]'; (não mexa em mais nada)
Próximo passo:
Agora vá na sua pasta www ou htocs e crie um arquivo chamado pagseguro_retorno.php (Extensão PHP formato de página PHP), dentro do pagseguro_retorno.php adicione:
<?PHP $host = "localhost"; /* HOST */ $user = "root"; /* USER */ $passwd = "SENHADOPHPMYADMIN"; /* PASSWORD */ $db = "NOMEDADATABASE"; /* DB */ ############################################################## # CONFIGURAÇÕES ############################################################## $retorno_token = 'SEUTOKENPAGSEGURO'; // Token gerado pelo PagSeguro if (empty($_POST['Referencia'])) { header("Location http://pagseguro.com.br"); } list($accname, $world) = explode('-', $_POST['Referencia']); if ($world=='sv') { $retorno_host = "$host"; // Local da base de dados MySql $retorno_database = "$db"; // Nome da base de dados MySql $retorno_usuario = "$user"; // Usuario com acesso a base de dados MySql $retorno_senha = "$passwd"; // Senha de acesso a base de dados MySql } ############################################################### # ATENÇÃO TIBIAKING NÃO ALTERE DESTA LINHA PARA BAIXO OK? Absolute Agradeçe hihi # $lnk = mysql_connect("$host", "$user", "$passwd") or die ('Nao foi possível conectar ao MySql: ' . mysql_error()); mysql_select_db("$db", $lnk) or die ('Nao foi possível ao banco de dados selecionado no MySql: ' . mysql_error()); // Validando dados no PagSeguro $PagSeguro = 'Comando=validar'; $PagSeguro .= '&Token=' . $retorno_token; $Cabecalho = "Retorno PagSeguro"; foreach ($_POST as $key => $value) { $value = urlencode(stripslashes($value)); $PagSeguro .= "&$key=$value"; } if (function_exists('curl_exec')) { $curl = true; } elseif ( (PHP_VERSION >= 4.3) && ($fp = @fsockopen ('ssl://pagseguro.uol.com.br', 443, $errno, $errstr, 30)) ) { $fsocket = true; } elseif ($fp = @fsockopen('pagseguro.uol.com.br', 80, $errno, $errstr, 30)) { $fsocket = true; } if ($curl == true) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $PagSeguro); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx'); $resp = curl_exec($ch); curl_close($ch); $confirma = (strcmp ($resp, "VERIFICADO") == 0); } elseif ($fsocket == true) { $Cabecalho = "POST /Security/NPI/Default.aspx HTTP/1.0\r\n"; $Cabecalho .= "Content-Type: application/x-www-form-urlencoded\r\n"; $Cabecalho .= "Content-Length: " . strlen($PagSeguro) . "\r\n\r\n"; if ($fp || $errno>0) { fputs ($fp, $Cabecalho . $PagSeguro); $confirma = false; $resp = ''; while (!feof($fp)) { $res = @fgets ($fp, 1024); $resp .= $res; if (strcmp ($res, "VERIFICADO") == 0) { $confirma=true; break; } } fclose ($fp); } else { echo "$errstr ($errno)<br />\n"; } } if ($confirma) { ## Recebendo Dados ## $TransacaoID = $_POST['TransacaoID']; $VendedorEmail = $_POST['VendedorEmail']; $Referencia = $_POST['Referencia']; $TipoFrete = $_POST['TipoFrete']; $ValorFrete = $_POST['ValorFrete']; $Extras = $_POST['Extras']; $Anotacao = $_POST['Anotacao']; $TipoPagamento = $_POST['TipoPagamento']; $StatusTransacao = $_POST['StatusTransacao']; $CliNome = $_POST['CliNome']; $CliEmail = $_POST['CliEmail']; $CliEndereco = $_POST['CliEndereco']; $CliNumero = $_POST['CliNumero']; $CliComplemento = $_POST['CliComplemento']; $CliBairro = $_POST['CliBairro']; $CliCidade = $_POST['CliCidade']; $CliEstado = $_POST['CliEstado']; $CliCEP = $_POST['CliCEP']; $CliTelefone = $_POST['CliTelefone']; $NumItens = $_POST['ProdValor_1']; $ProdQuantidade_x = $POST['ProdQuantidade_1']; # GRAVA OS DADOS NO BANCO DE DADOS # mysql_query("INSERT into pagsegurotransacoes SET TransacaoID='$TransacaoID', VendedorEmail='$VendedorEmail', Referencia='$Referencia', TipoFrete='$TipoFrete', ValorFrete='$ValorFrete', Extras='$Extras', Anotacao='$accname', TipoPagamento='$TipoPagamento', StatusTransacao='$StatusTransacao', CliNome='$CliNome', CliEmail='$CliEmail', CliEndereco='$CliEndereco', CliNumero='$CliNumero', CliComplemento='$CliComplemento', CliBairro='$CliBairro', CliCidade='$CliCidade', CliEstado='$CliEstado', CliCEP='$CliCEP', CliTelefone='$CliTelefone', NumItens='$NumItens', Data=now(), ProdQuantidade_x='$ProdQuantidade_x';"); if ($NumItens >= 5) { $pontosadd = $NumItens * 2; } else { $pontosadd = $NumItens; } if ($StatusTransacao == "Aprovado") { mysql_query("UPDATE accounts SET premium_points = premium_points + '$pontosadd' WHERE name = '".htmlspecialchars($accname)."'"); mysql_query("UPDATE pagsegurotransacoes SET StatusTransacao = 'Entregue' WHERE CONVERT( `pagsegurotransacoes`.`TransacaoID` USING utf8 ) = '$TransacaoID' AND CONVERT( `PagSeguroTransacoes`.`StatusTransacao` USING utf8 ) = 'Aprovado' LIMIT 1 ;"); mysql_query('OPTIMIZE TABLE `pagsegurotransacoes`'); } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Donate Server</title> <style type="text/css"> body { font-family: Tahoma, Geneva, sans-serif; font-size: 16px; width: 900px; margin: 0px auto; margin-top: 30px; } b { font-size: 18px; font-weight: bold; } </style> </head> <body> <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td width="11%" align="center" valign="middle"><img src="images/true.png" height="auto" width="64" /></td> <td width="89%"><p><b>S</b>ua compra está sendo processada por nossos sistemas de apuração, dentro de no máximo <u>1 hora seus pontos serão creditados</u>, caso o pagamento não for efetuado, ficará em aberto 1 ou mais pagamentos pendentes em sua conta. Caso você tenha mais de 3 pagamentos pendentes por falta de pagamento, sua conta será bloqueada temporariamente para efetuar pagamentos.</p></td> </tr> </table> <p><b>ID de Transação:</b> <?php echo $_POST['TransacaoID']; ?></p> </body> </html> Explicação de configuração deste passo:
Coloque a senha que você usa para entrar no phpmyadmin aqui: $passwd = "SENHADOPHPMYADMIN"; /* PASSWORD */
Exemplo de como ficaria: $passwd = "absolute123"; /* PASSWORD */
Coloque aqui o nome que está seu banco de dados (o mesmo que vai no config.lua, onde salva os characters, contas e cia):
$db = "NOMEDADATABASE"; /* DB */ ;
Exemplo de como ficaria:
$db = "otserver"; /* DB */
IMPORTANTE, TOKEN Pagseguro!
Você irá entrar neste link, aparecerá uma página pedindo para colocar a url de retorno, no entanto você colocará o seu site terminado em /pagseguro_retorno.php, exemplo de link para colocar: http://otglobal.com/pagseguro_retorno.php (LEMBRANDO QUE É APENAS UM EXEMPLO, SERÁ SEUSITE.COM/pagseguro_retorno.php, como na imagem a seguir:
Pós verificar a seleção do "Ativar" e o link correto clique em Salvar.
Agora descendo um pouco esta página onde terá a opção a cima terá uma opção como a imagem a seguir:
Clique em GERAR, você receberá o seu código token e coloque no script que estará na sua pasta www ou htocs, mude na linha:
$retorno_token = 'SEUTOKENPAGSEGURO'; // Token gerado pelo PagSeguro
EM SEUTOKENPAGSEGURO coloque o TOKEN que você acabou de pegar, será vários números e letras, exemplo de como ficaria:
$retorno_token = 'AE89464AE8145487484PAEA978E91'; // Token gerado pelo PagSeguro
DOUBLE POINTS EXPLICAÇÃO:
Neste mesmo script há algumas linhas com a seuginte função:
if ($NumItens >= 5) {
$pontosadd = $NumItens * 2;
Isto quer dizer, > 5 (A cima de 5 pontos, receba: NumItens * 2, receba em 2x PONTOS EM DOBRO!)
Para alterar o valor a cima que a pessoa receberá em dobro: NumItens >= 5) 5 pontos ou mais a pessoa receberá em dobro, caso seja para qualquer valor, troque o 5 pelo 1.
Caso não deseje DOUBLE POINTS e sim 50% do valor em pontos, exemplo: 10R$ = 15 Pontos, altere para:
$pontosadd = $NumItens * 1.5;
Caso não deseje promoção e queira que seja 1 Real = 1 Ponto:
$pontosadd = $NumItens * 1;
Próximo passo:
Calma gente, está quase acabando eu prometo, então abra o seu PHPMYADMIN, localhost/phpmyadmin ou seusite.com/phpmyadmin, exemplo: www.absolutewar.com/phpmyadmin ; absoluteot.servegame.com/phpmyadmin, clique na opção SQL do phpmyadmin (como mostrarei na imagem e de executar.
Código a inserir no "espaço":
CREATE TABLE `pagsegurotransacoes` ( `TransacaoID` varchar(36) NOT NULL, `VendedorEmail` varchar(200) NOT NULL, `Referencia` varchar(200) default NULL, `TipoFrete` char(2) default NULL, `ValorFrete` decimal(10,2) default NULL, `Extras` decimal(10,2) default NULL, `Anotacao` text, `TipoPagamento` varchar(50) NOT NULL, `StatusTransacao` varchar(50) NOT NULL, `CliNome` varchar(200) NOT NULL, `CliEmail` varchar(200) NOT NULL, `CliEndereco` varchar(200) NOT NULL, `CliNumero` varchar(10) default NULL, `CliComplemento` varchar(100) default NULL, `CliBairro` varchar(100) NOT NULL, `CliCidade` varchar(100) NOT NULL, `CliEstado` char(2) NOT NULL, `CliCEP` varchar(9) NOT NULL, `CliTelefone` varchar(14) default NULL, `NumItens` int(11) NOT NULL, `Data` datetime NOT NULL, `status` tinyint(1) unsigned NOT NULL default '0', UNIQUE KEY `TransacaoID` (`TransacaoID`,`StatusTransacao`), KEY `Referencia` (`Referencia`), KEY `status` (`status`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Pós executar irá aparecer uma mensagem que o código foi aceito e uma tabela nova foi criada, como na imagem a seguir:
Agora por fim o ÚLTIMO PASSO
Novamente na pasta www ou htdocs substitua o seu arquivo donate.php por este:
<?php if(!$logged) if($action == "logout") $main_content .= '<div class="TableContainer" > <table class="Table1" cellpadding="0" cellspacing="0" > <div class="CaptionContainer" > <div class="CaptionInnerContainer" > <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <div class="Text" >Logout Successful</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> </div> </div> <tr> <td> <div class="InnerTableContainer" > <table style="width:100%;" ><tr><td>You have logged out of your '.$config['server']['serverName'].' account. In order to view your account you need to <a href="?subtopic=accountmanagement" >log in</a> again.</td></tr> </table> </div> </table></div></td></tr>'; else $main_content .= 'Please enter your account name and your password.<br/><a href="?subtopic=createaccount" >Create an account</a> if you do not have one yet.<br/><br/><form action="?subtopic=accountmanagement" method="post" ><div class="TableContainer" > <table class="Table1" cellpadding="0" cellspacing="0" > <div class="CaptionContainer" > <div class="CaptionInnerContainer" > <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <div class="Text" >Account Login</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> </div> </div> <tr> <td> <div class="InnerTableContainer" > <table style="width:100%;" ><tr><td class="LabelV" ><span >Account Name:</span></td><td style="width:100%;" ><input type="password" name="account_login" SIZE="10" maxlength="10" ></td></tr><tr><td class="LabelV" ><span >Password:</span></td><td><input type="password" name="password_login" size="30" maxlength="29" ></td></tr> </table> </div> </table></div></td></tr><br/><table width="100%" ><tr align="center" ><td><table border="0" cellspacing="0" cellpadding="0" ><tr><td style="border:0px;" ><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onmouseover="MouseOverBigButton(this);" onmouseout="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif" ></div></div></td><tr></form></table></td><td><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=lostaccount" method="post" ><tr><td style="border:0px;" ><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onmouseover="MouseOverBigButton(this);" onmouseout="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Account lost?" alt="Account lost?" src="'.$layout_name.'/images/buttons/_sbutton_accountlost.gif" ></div></div></td></tr></form></table></td></tr></table>'; else { $main_content .= '<br><br><b>Valores:</b><br> 1 Point = R$ 1,00<br> 10 Points = R$ 10,00<br> 20 Points = R$ 20,00<br> E assim por diante...<br><br> '; $main_content .= ' <form target="pagseguro" method="post" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml"> <input type="hidden" name="email_cobranca" value="'. $config['pagseguro']['email']. '"> <input type="hidden" name="tipo" value="CP"> <input type="hidden" name="moeda" value="BRL"> <input type="hidden" name="item_id_1" value="1"> <input type="hidden" name="item_descr_1" value="Pontos na account de nome: '.$account_logged->getCustomField("name").'"> <input type="hidden" name="item_valor_1" value="'. $config['pagseguro']['produtoValor'] .'"> <input type="hidden" name="item_frete_1" value="0"> <input type="hidden" name="item_peso_1" value="0"> <input type="hidden" name="ref_transacao" value="'.$account_logged->getCustomField("name").'"> <table border="0" cellpadding="4" cellspacing="1" width="100%" id="#estilo"><tbody> <tr bgcolor="#505050" class="white"> <th colspan="2"><strong>Escolha a quantidade de pontos que deseja comprar</strong></th> </tr> <tr> <td width="10%">Sua conta</td> <td><strong>'.$account_logged->getCustomField("name").'</strong></td> </tr> <tr> <td width="10%">Pontos</td> <td> <input name="item_quant_1" type="text" value="10" size="5" maxlength="5"> </td> </tr> <tr> <td colspan="2"> <input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/carrinhoproprio/btnFinalizar.jpg" name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!" /> </td> </tr> </tbody></table></form> <b><span style="color:#ff0000;">OBS¹:</span></b> Os pontos são entregues <b>automáticamente</b> logo após a <u>aprovação</u> do seu pagamento pelo PagSeguro, ou seja, pagou e foi aprovado pontos depositados. Você pdoerá acessar o shop offer e desfrutar dos melhores items do servidor! <?php } ?>'; } ?> Pronto galera tão fácil né? agora vocês poderão pegar seu guarda sol, sua água de coco e sentar na sua cadeira de praia enquanto o script entregará os pontos automáticamente em menos de 1 minuto.
Espero ter ajudado, quaisquer dúvidas podem solicitar no tópico ou até mesmo me mandar uma mensagem privado que estarei disposto a ajuda-los.
Créditos:
Absolute (EU)
Matheus Sesso pela página donate.php
Nos vemos na próxima!
Enjoy.
-
Savidotti deu reputação a zipter98 em Bug GobackAbaixo de: local x = pokes[pokemon] coloque: if #getCreatureSummons(cid) > 0 then return doPlayerSendCancel(cid, "You're already using a pokemon.") end
-
Savidotti deu reputação a Sekk em VPS Gratis Linux e Windowseita, 1gb de ram só? mas vlw kkk REP+
-
Savidotti recebeu reputação de Sekk em VPS Gratis Linux e WindowsBom amigos (as)
Este é meu primeiro tópico no TK.
Achei uma VPS Legal e gratuita!!!
Segue o Link quem esta precisando!!!
VPS GRATIS (Linux ou Windows)
Ajudei muito você? +REP