Ir para conteúdo
  • Cadastre-se

Rogeriok

Membro
  • Total de itens

    141
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Rogeriok deu reputação a roach95 em Exp shared party   
    consegue me dar uma luz nisso? entendo nada de source, lua até vai, mas essas sources sao um terror rsrs
  2. Gostei
    Rogeriok deu reputação a xWhiteWolf em Swap (Henge no Jutsu)   
    Hoje vim trazer uma spell que eu considero muito legal que eu tenho no meu servidor ja faz alguns meses e esqueci completamente de postar haha

    Trata-se de nada mais nada menos que uma troca entre dois personagens, eles trocam de posição e de outfit confundindo lindamente os adversários.
    Não tenho gif da spell e nem imagem pq to com uma baita preguiça e daqui a 8 minutos eu tenho que ir pra faculdade então testem aí porque é bem legal essa spell. Ps: só funciona em players.

    Instalando: Crie um arquivo chamado swap em data\spells\scripts\especiais que seja com extensão .lua e coloque isso dentro dele:




    e no spells.xml:
    <instant name="Swap" words="swap" lvl="23" mana="25" range="1" needtarget="1" params="1" exhaustion="3000" blockwalls="1" needlearn="0" event="script" value="especiais/swap.lua"> </instant>
    Para usá-la basta dizer swap "nome do player e tem que estar à 1 sqm de distancia dele. Você irá trocar de posição com ele e ambos trocarão de outfit, confundindo os outros players.
     
  3. Curtir
    Rogeriok recebeu reputação de Trapstar em Compilação   
    Compila usando esse projeto, o que você precisa fazer é apontar para as bibliotecas que estão instaladas no seu pc.
    boost_1_64_0 C:\tfs-sdk-3.2-otx  
    msvc.rar
  4. Gostei
    Rogeriok recebeu reputação de Cat em Spell que dá vários hits   
    Fiz esse aqui em OTX 2, vê se da pra adaptar.
     
  5. Gostei
    Rogeriok deu reputação a Ivens Pontes em [PagSeguro] Novo Método de Retorno Automático   
    Olá amiguinhos! Esse é meu primeiro script que faço e trago para vocês.
    Esse sistema usa a API PHP do PagSeguro, muito mais simples e seguro, sem muitas gambiarras.
    Tentei deixar o mais fácil possível de se instalar, qualquer sugestão será bem vinda!
     
    Requisitos:
    PHP 5.4.27+
    SPL
    cURL
    SimpleXml
     
    Funcionalidades:
    Double Points no config/config.php
    Possibilidade de usar vários sites em uma unica conta do PagSeguro
    Possibilidade de acrescentar mais funcionalidades ao Gesior ou outro AAC com a API do PagSeguro.
     
    Primeiramente pegue seu token (AQUI) e desative todas as configurações.
    Assim: 
     
    Feito isso, baixe a source no repositório do GitHub (AQUI).
    Extraia o conteúdo e coloque na raiz do seu site (www ou htdocs).
     
    Agora vamos colocar a mão na massa!
     
    Abra config/config.php e coloque esse código onde achar melhor:
    $config['pagSeguro']['email'] = "[email protected]"; // Email da conta pagseguro $config['pagSeguro']['token'] = "yourtokenhere"; // Seu TOKEN $config['pagSeguro']['urlRedirect'] = 'http://seusite.com/?subtopic=donate&action=final'; $config['pagSeguro']['urlNotification'] = 'http://seusite.com/retpagseguro.php'; $config['pagSeguro']['productName'] = 'Premium Points'; // Nome do produto que irá aparecer no pagseguro $config['pagSeguro']['productValue'] = 1.00; // valor de cada ponto ex.: 0.50 = R$ 0,50 / 1.50 = R$ 1,50 .... $config['pagSeguro']['doublePoints'] = false; // se true ativa double points / se false desativa $config['pagSeguro']['host'] = 'localhost'; // host banco de dados $config['pagSeguro']['database'] = 'tibiaking_db'; // nome do banco de dados $config['pagSeguro']['databaseUser'] = 'root'; // usuario banco de dados $config['pagSeguro']['databasePass'] = 'tibiaKing3321'; // senha banco de dados Preencha as configurações, não tem muita dificuldade.
     
    Um passo importante para o sistema funcionar corretamente é preencher o ['urlRedirect'] e ['urlNotification'] corretamente.
     
    ['urlRedirect'] é a pagina que o PagSeguro irá mandar o comprador depois que ele pagar a solicitação.
    Substitua o seusite.com pelo seu site eu se quiser o para outra pagina ex.: seusite.com/?subtopic=accountmanagement 
     
    ['urlNotification'] é onde o retpagseguro.php está, tenha certeza que ele está na raiz do site, não o coloque em outro lugar para evitar problemas.
     
    Com tudo preenchido vamos ao banco de dados e execute esse código sql: 
    CREATE TABLE IF NOT EXISTS `pagseguro_transactions` ( `transaction_code` varchar(36) NOT NULL, `name` varchar(200) DEFAULT NULL, `payment_method` varchar(50) NOT NULL, `status` varchar(50) NOT NULL, `item_count` int(11) NOT NULL, `data` datetime NOT NULL, UNIQUE KEY `transaction_code` (`transaction_code`,`status`), KEY `name` (`name`), KEY `status` (`status`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Ou importe o arquivo pagseguro.sql que vem dentro da pasta schemas.
     
    Feito isso entre em seusite.com/?subtopic=donate e prossiga normalmente como se fosse fazer uma doação.
     
    Se ao clicar no botão de finalizar for levado a esta tela:
     
    Provavelmente você fez tudo corretamente.
     
    Qualquer bug ou dificuldade na instalação só comentar que irei ajudar. Até a próxima!
     
    Scan mais recente: Link
    Documentação da API: Link
     
    Agradecimentos:
    DexDev
    Natanael e Abusolute e Matk (Os sistemas anteriores me fizeram entender a logica da coisa)
  6. Gostei
    Rogeriok deu reputação a Shiuns em (Resolvido)Script Inteligente de Invasão para Evento   
    só usar os.date assim:
     
    if tonumber(os.date("%d")) == 01 or tonumber(os.date("%d")) == 15 then ... end  
  7. Gostei
    Rogeriok deu reputação a Shiuns em (Resolvido)Remover o item na backpack   
    adc na lib essas funções:
     
    function getContainerItems(container, array, haveCap) array = array or {} haveCap = haveCap or false if not isContainer(container.uid) or getContainerSize(container.uid) == 0 then array[#array +1] = container else local size = getContainerSize(container.uid) haveCap = (getContainerCap(container.uid) -size) > 0 for slot = 0, (size -1) do local item = getContainerItem(container.uid, slot) if item.itemid > 1 then getContainerItems(item, array, haveCap) end end end return #array >= 1 and array, haveCap end function getContainerItemsById(container, itemid) local founds = {} local items = not container.uid and container or getContainerItems(container) for index, item in pairs(items) do if item.itemid == itemid then founds[#founds +1] = item end end return #founds >= 1 and founds end  
     
    e tenta usar a função do npc assim:
     
    local onSell = function(cid, item, subType, amount, ignoreCap, inBackpacks) if getPlayerSlotItem(cid, CONST_SLOT_BACKPACK).itemid ~= 0 then local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK) local z = getContainerItemsById(bp, item) if #z >= amount and items[item].sellPrice ~= 0 then doPlayerAddMoney(cid, items[item].sellPrice * amount) for i = 1, amount do doRemoveItem(z[i].uid) end end end return true end  
  8. Curtir
    Rogeriok deu reputação a WooX em Trade Offline V2.0   
    Trade Offline V2.0

    Esse sistema me foi pedido a alguns meses atrás e hoje tirei um tempinho pra trazer aqui.
    O sistema consiste em permitir que jogadores negociem sem contato direto entre comprador e vendedor.
    Mas como assim?
    O vendedor pode criar um anuncio de venda informando item, valores ou até mesmo items que ele queira em troca, após feito o anuncio todas essas informações ficam armazenadas no banco de dados do servidor, permitindo assim serem exibidas em uma página no site para interessados, junto de todas informações fornecidas pelo vendedor é exibido um comando para que os interessados possam adquirir a oferta exibida na página.
     
    Sobre o sistema

     
    O sistema foi testado apenas em OTX2, mas provavelmente também funcione em TFS 0.4
     
    Versão para TFS 1.x adaptada pelo @luanluciano93
     
    Como mencionado acima, o sistema funciona de forma semelhante ao Market System das versões atuais porem sem exibição gráfica das ofertas in-game, para isso o sistema vai acompanhado de uma página para o Gesior AAC. Este sistema existe no fórum há um bom tempo e já é familiar pra muitos jogadores, essa versão trás consigo algumas melhorias e diferenças que irei listar abaixo.
     
    Sistema
    Agora é possivel vender um item exigindo outro item em troca ao invés de dinheiro. Containers com um conjunto de items dentro agora podem ser anunciados. Agora o sistema verifica as cargas e durações dos items antes de criar uma oferta. Novo parâmetro adicionado para verificar informações de ofertas in-game. Agora todo valor recebido vai diretamente para o banco do vendedor. Página
    A depender da quantidade de ofertas existentes no servidor, a página agora irá separa-las por páginas. Agora além do valor é exibido também imagem da moeda a depender do valor da oferta. Agora é possivel ver as características tanto dos items ofertados como dos items exigidos pelo vendedor. Adicionado filtros para exibir somente ofertas de items vip, containers ou trocas. Adicionado barras de pesquisas para filtrar as ofertas por items ou nome do jogador.  
    Algumas imagens
     
    Instalação

    Antes de mais nada é necessário citar os requisitos necessários para o funcionamento correto do sistema, ele utiliza de algumas funções que não estão no script principal e portanto é necessário a instalação de uma lib extra, também é necessário instalar as funções doItemSetDuration e getItemDurationTime na source do servidor, ambos os links se encontram abaixo.
     
    Todos os arquivos necessários para a instalação estão anexados no tópico, irei apenas dizer onde instalar e como deve ser configurado.
     
    Primeiramente importe o arquivo schema.sql no banco de dados, ou se preferir pode executar as queries a seguir.
    CREATE TABLE IF NOT EXISTS `trade_off_offers` ( `id` int(11) NOT NULL auto_increment, `player_id` int(11) NOT NULL, `type` int(1) NOT NULL DEFAULT '0', `item_id` int(11), `item_count` int(11) NOT NULL DEFAULT '1', `item_charges` int(11) NULL, `item_duration` int(11) NULL, `item_name` varchar(255), `item_trade` tinyint(1) NOT NULL DEFAULT '0', `cost` bigint(20) UNSIGNED NOT NULL, `cost_count` int(11) NOT NULL DEFAULT '1', `date` bigint(20), PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS `trade_off_container_items` ( `offer_id` int(11) NOT NULL, `item_id` int(11), `item_charges` int(11) NULL, `item_duration` int(11) NULL, `count` int(11) DEFAULT '1' ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; ALTER TABLE `trade_off_container_items` ADD KEY `offer_id` (`offer_id`); ALTER TABLE `trade_off_container_items` ADD CONSTRAINT `offer_id_fk` FOREIGN KEY (`offer_id`) REFERENCES `trade_off_offers`(`id`) ON DELETE CASCADE;  
    Configuração no arquivo tradeoff.lua: 
    -- Trade Offline 2.0 by WooX -- local config = { priceLimit = 2000000000, -- 2kkk offerLimit = 3, offerLimitStor = 86420, infoOnPopUp = true, infoMsgType = MESSAGE_STATUS_CONSOLE_BLUE, errorMsgType = MESSAGE_STATUS_CONSOLE_RED, successMsgType = MESSAGE_INFO_DESCR, helpMsg = "Enter the parameters (add, remove, active, buy, info).", goldItems = {2148, 2152, 2160}, itemsVIP = {4540, 4545, 4560}, } priceLimit: define o valor máximo de uma oferta. offerLimit: define o valor máximo de ofertas que um jogador pode adicionar. offerLimitStor: storage que irá armazenar quantas ofertas ativas o jogador possui. infoOnPopUp: pode ser definido como true ou false, se definido como falso irá enviar os detalhes da oferta no default ao invés de como é mostrado nas imagens acima. infoMsgType: define como será exibido uma mensagem de informação ao jogador (não recomendo mexer a menos que saiba o que está fazendo). errorMsgType: define como será exibido uma mensagem de erro ao jogador (não recomendo mexer a menos que saiba o que está fazendo). successMsgType: define como será exibido uma mensagem de ação sucedida ao jogador (não recomendo mexer a menos que saiba o que está fazendo). helpMsg: mensagem que será enviada para o jogador caso ele erre os parâmetros do comando. goldItems: nesta tabela deve ser preenchido todos os IDs de moedas no servidor como gold coins, platinum coins, etc. itemsVIP: nesta tabela deve ser preenchido os IDs dos items vips existentes no servidor.  
    Agora para a instalação da página, no arquivo mysql_db.php deve ser preenchido os dados para conexão no banco de dados do servidor.
    /** * Host do banco de dados * @var string */ private static $DB_HOST = 'localhost'; /** * Usuario de conexao ao banco de dados * @var string */ private static $DB_USER = 'root'; /** * Senha de conexao ao banco de dados * @var string */ private static $DB_PASS = 'SUA_SENHA'; /** * Nome do banco de dados * @var string */ private static $DB_NAME = 'NOME_BANCO'; Após feito isso, o arquivo paginationClass.php em conjunto do arquivo mysql_db.php devem ser adicionados no seguinte diretório do Gesior AAC.
    classes/
    Finalizado isto, basta jogar o arquivo tradeoff.php dentro do diretório informado abaixo e o sistema estará pronto para uso.
    pages/
     
    Avisos

     
    Eu escrevi somente o sistema, não sou o autor da página para o Gesior AAC portanto não estarei dando suporte em relação a página que não seja sobre a instalação da mesma no Gesior AAC 2012, e embora esteja funcional, eu não recomendo o uso da página devido a falta do uso de cache para leitura do items.xml. Foram mais de 600 linhas de código sem contar funções extras e alterações na source, além de muitas horas de testes para garantir que tudo estava funcionando corretamente, tudo que peço em troca é que não removam os créditos no arquivo quando forem usar.  
    Créditos

    @MatheusDuarte pela página do Gesior AAC.
    schema.sql tradeoff.lua tradeoff.php mysql_db.php paginationClass.php
  9. Gostei
    Rogeriok deu reputação a Cat em [novo] » Mapas do Nolis   
    Olá, bem vindo ao meu portfolio. Decidi abandonar o anterior (este aqui) devido à quantidade de comentários e imagens quebradas.
    Este em vez, usarei para organizar e publicar imagens de mapas.
     
    Siga o tópico para receber notificações de novos mapas!       » ↑
    (clique no botão seguir)
     
     
    ↓            ↓            «    «     »      »           ↓           ↓
     
     
    Mapas do Nolis
     
    | Mapas de Projetos |
     
     

     
     
     
    | Mapas de Eventos |
     
     

     
    ...
     

  10. Gostei
    Rogeriok deu reputação a WooX em Lua demo in-game   
    Lua demo in-game
     
    Quando me deparei com a necessidade de ter que fazer e registrar uma talkaction sempre quando fosse testar algum algoritmo ou função Lua, eu decidi fazer esse sisteminha. Ele permite executar códigos e instruções Lua in-game sem a necessidade de dar reload ou sequer sair do client do Tibia, também é possivel executar qualquer função Lua existente na engine em execução no servidor.
     
    Algumas imagens
     
    Instalação
    Crie um arquivo chamado lua.lua dentro do seguinte diretório e com o conteúdo exibido abaixo:
    data/talkactions/scripts/
    function onSay(cid, words, param) registerCreatureEvent(cid, "luaDemo") doShowTextDialog(cid, 1947, true) return true end Após isso crie um outro arquivo, dessa vez chamado lua_demo.lua dentro do seguinte diretório e com o conteúdo exibido abaixo:
    data/creaturescripts/scripts/
    function onTextEdit(cid, item, newText) if item.itemid == 1947 then _G.cid = cid local lines = {} for line in newText:gmatch("[^\n]+") do table.insert(lines, line) end for i = 1, #lines do local func = loadstring(lines[i]) if func then local ret, err = pcall(func) if not ret then doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "[Lua error]:\nline "..i..": "..err) end end end unregisterCreatureEvent(cid, "luaDemo") end return true end Depois basta registrar ambos os scripts conforme indicado abaixo:
    data/talkactions/talkactions.xml
    <talkaction log="yes" words="/lua" access="5" event="script" value="lua.lua"/> data/creaturescripts/creaturescript.xml
    <event type="textedit" name="luaDemo" event="script" value="lua_demo.lua"/>  
    É isso... o sistema da grandes possibilidades aos administradores que souberem Lua e praticidade pra quem for desenvolver ou debugar algum código Lua.
  11. Curtir
    Rogeriok deu reputação a WooX em (Resolvido)Cast System não abre channel!   
    O Private Chat Channel só é aberto para Players que possuem Premium Account. Altere no seu config.lua.
    Config.lua
    freePremium = true  
    Ou faça esta alteração na sua source.
    Chat.cpp
    De:
    if(!player->isPremium() || getPrivateChannel(player)) Para:
    if(getPrivateChannel(player))  
  12. Curtir
    Rogeriok recebeu reputação de Mecianosz em Classic-Yurots [8.60] - Push Cruzado + Cast com Setas   
    Como eu posso corrigir o mapa, sem bugar os teport? Qualquer edição ao mapa os tps bugam tudo... 
  13. Obrigado
    Rogeriok deu reputação a Natanael Beckman em DEV C++ Compilando TFS no Windows   
    DEV C++,  aprenda a compila uma source TFS!
     
    Downloads(Baixe de acordo as configurações do seu windows):
    DEV C++ CONFIGURADO PARA 32BITS
    DEV C++ CONFIGURADO PARA 64BITS
    REV 3884 TFS 0.4
     
    Certo, feitos os downloads, extrai DEV C++ no Disco C e REV 3884 em Documentos.
    ======================================
    Abra o DEV C++:
    ======================================

    ======================================
    Abra a Source:
    ======================================

    ======================================
    Localize a pasta da Source e abra o arquivo TheForgottenServer.dev, Documentos> trunk.r3884> dev-cpp> TheForgottenServer.dev:
    ======================================

    =============================================================

    ======================================
    Aguarde carregar todos os arquivos:
    ======================================

    ======================================
    Vamos adicionar o parâmetro -D__CONSOLE__ no teclado digita ALT + P, clique em parameters e adicione o parâmetro... Feito? clique em OK:
    ======================================

    ======================================
    Vamos compilar Source, no teclado digite CTRL+F9 e aguarde finalizar o processo:
    ======================================

    ======================================
    Se der tudo certo em Log vai estar como mostra a imagem abaixo:
    ======================================

    ======================================
    Verifique na pasta Documentos> trunk.r3884> dev-cpp você vai encontrar o arquivo TheForgottenServer.exe e pronto meu parabéns você compilou!
    ======================================

    ===========================================
    Só isso galera tutorial rápido resumido e útil!
    Créditos Natanael Beckman!    
    ===========================================     
     
    Caso você adquira uma source com apenas os arquivos .cpp e .h e não sabe como compilar o projeto, abaixo vamos explicar:
    Na pasta onde está localizado os arquivos .cpp e .h crie uma pasta chamada dev-cpp, e dentro dela adicione uma imagem icone.
     

     
    Abra o DEV-C++, clique em  File> New> Project:
     

     
    Logo em seguida selecione Empty Project, em name terá o nome Project1 altere utilize o nome quer quiser, após isso clique em OK e em seguida selecione a pasta dev-cpp que criamos:
     

     
    Agora selecione a opção Win32GUI caso use source OTX ou TFS selecione Win32Console ao lado << Browse selecione a imagem do icone que está na pasta Dev-Cpp.
     

     
    No mesmo menu na aba Parameters em C++ compiler adicione os seguintes parâmetros:
    -D__ENABLE_SERVER_DIAGNOSTIC__ -D__ROOT_PERMISSION__ -D__GROUND_CACHE__ -D__USE_SQLITE__ -D__USE_MYSQL__ -D__CONSOLE__ -D__WAR_SYSTEM__ E em Linker adicione as seguintes libs:
    -lboost_filesystem -lboost_thread -lboost_system -lboost_regex -lsqlite3 -lwsock32 -llua5.1 -lws2_32 -leay32 -lmysql -lxml2 -lgmp -lz -s   No mesmo Menu na aba Build Option escreva na segunda coluna horizontal escreva Obj e dê OK.     Na lateral terá o nome do seu projeto o meu no caso é The Forgotten Server, clique com o botão direito do mouse em cima do nome e clique na opção Add Project:      Selecione na pasta da sua source todos os arquivos .cpp e .h após isso salva o projeto e já pode compilar CTRL+F9:         OpenSSL 0.9.8   1º baixe http://devpaks.org/details.php?devpak=73 2° abra Dev-Cpp > Tools > Packager Manager > Install > Seleciona o arquivo baixado e instala, fecha abre e testa!
      Clica aqui \/
  14. Gostei
    Rogeriok deu reputação a antharaz em (Resolvido)[Summon] Spell ou talkaction que sumona monstros de acordo com o level   
    Essa talkaction se estiver correta, não está rodando o scriupt que eu fiz, pois nele a fala do cara não sai DE NENHUMA MANEIRA na tela. Caso queira, me passe skype por pm que te ajudo.
     
     
    ---- EDITADO
     
    Coloquei em forma de spell e com limite de 1 summon conforme solicitado:
     
     
  15. Gostei
    Rogeriok deu reputação a Guilherme em [Resolvido] HACKERAO MEU GESIOR RAPIDO   
    desative o forum e a opçao de comentar no gesior
  16. Gostei
    Rogeriok recebeu reputação de ZORAN em [Duvida] VPS Duvidas Help Urgente   
    Mano, assim que você comprar e ativar se Cloud, você poderá hostiar seu OTserv e Seu site no vps msm...
    Bom no meu caso uso linux, então o site fica na pasta /var/www e windonws deve ser htdocs..
  17. Gostei
    Rogeriok deu reputação a Lordfire em [Resolvido] [Dúvida] Comandos phpMyadmin   
    UPDATE `ot`.`players_skills` SET `value` = '10' WHERE (coluna) = (valor)

    coluna = a coluna do skill, valor = o numero do skill especifico

    WHERE skillid = 6 muda o fishing, por ex.
  18. Gostei
    Rogeriok deu reputação a Adriano SwaTT em [MOD] Loot Ring (Anél de Loot)   
    Galera, eu estava passeando pela OTLand, então achei este MOD, procurei ele pelo forum aqui e não encontrei, então decidi postar para vocês.
    Como o próprio nome diz, é um anel de loot, que aumenta a chance de Loot para quem está o usando.

    Bora lá, como é MOD, então é muito fácil, acesse sua pasta mods, geralmente situada na pasta onde fica o Launcher.exe.
    Crie um arquivo.xml, no exemplo iremos usar o "lootring.xml" e deixe somente o código abaixo dentro do arquivo.




    Agora vá no seu config.lua, procure por "monsterLootMessage" e altera seu valor para "0", ficando como o abaixo:
    monsterLootMessage = 0 Well done.


    #Caso seu OTServ não possua a pasta MOD, faça os passos do Spoiler abaixo:



    Salve e feche-o.
    Está pronto seu script, e como pode ver, no início do script lootring.lua tem as opções de configuração caso queira mudar o item especial ou a porcentagem de loot.
     
    OBS: Se seu Servidor possui o Evento WoE (War of Emperium), clique no spoiler abaixo:





    Script's testados em: TFS 0.3.6 e Alissow 0.4.1.
    Funciona perfeitamente em OTServ 8.60.

    #Créditos¹: Cykotitan que é de outro forum e criou o script em CreatureScripts.
    ##Créditos²: Collz que é de outro forum, editou o script e também o transformou em MOD.
  19. Gostei
    Rogeriok deu reputação a Bruno Carvalho em [TalkAction] Player Check System   
    Versão: 3.2
    Versão de tibia: 9.4+ (Funciona em anteriores)
    Descrição: Existem muitos scripts que ajudam o administrador do servidor a cuidar dele, um deles é saber coisas sobre quem está jogando e se está sendo honesta. Eu peguei alguns scripts e estou juntando em um para diminuir o tamanho e ter uma fácil verificação.

    TAG:
    <talkaction log="yes" words="!p;/p" access="5" event="script" value="playercheck.lua"/> Script:
    Talkactions/scripts/playercheck.lua

    local config = { check = {"check", "viwer", "verificar", "ver"}, delete = {"del", "delete", "deletar"}, search = {"search", "procurar"} } function getItemsInContainer(cont, sep) local text = "" local tsep = "" local count = "" for i=1, sep do tsep = tsep.."-" end tsep = tsep..">" for i=0, getContainerSize(cont.uid)-1 do local item = getContainerItem(cont.uid, i) if isContainer(item.uid) == FALSE then if item.type > 0 then count = "("..item.type.."x)" end text = text.."\n"..tsep..getItemNameById(item.itemid).." "..count.." ("..item.itemid..")" else if getContainerSize(item.uid) > 0 then text = text.."\n"..tsep..getItemNameById(item.itemid).." ("..item.itemid..")" text = text..getItemsInContainer(item, sep+2).." ("..item.itemid..")" else text = text.."\n"..tsep..getItemNameById(item.itemid).." ("..item.itemid..")" end end end return text end function onSay(cid, words, param, channel) local slotName = {"Cabeça", "Amuleto", "Backpack", "Armor", "Mao Direita", "Mao Esquerda", "Legs", "Pés", "Ring", "Ammo Slot"} local t = string.explode(param, ",") if(table.isStrIn(param, config.check)) then if getPlayerGroupId (cid) >= 5 then local player = getPlayerByNameWildcard(t[2]) if isPlayer(player) == TRUE then local text = getPlayerName(player).."'s Equipment: " for i=1, 10 do text = text.."\n\n" local item = getPlayerSlotItem(player, i) if item.itemid > 0 then if isContainer(item.uid) == TRUE then text = text..slotName[i]..": "..getItemNameById(item.itemid).." ("..item.itemid..") "..getItemsInContainer(item, 1) else text = text..slotName[i]..": "..getItemNameById(item.itemid).." ("..item.itemid..")" end else text = text..slotName[i]..": Empty" end end doShowTextDialog(cid, 6579, text) else doPlayerSendCancel(cid, "This player is not online.") end end elseif(table.isStrIn(param, config.delete)) then if getPlayerGroupId(cid) >= 5 then local player = getPlayerByNameWildcard(t[3]) if isPlayer(player) == TRUE then count = t[4] if(not t[4]) then count = 1 end if getPlayerItemCount(player, t[2]) > 0 then if doPlayerRemoveItem(player, t[2], count) then doPlayerSendCancel(cid, "Item Deletado.") else doPlayerSendCancel(cid, "Este player não esta quantidade.") end else doPlayerSendCancel(cid, "Este player não tem o item.") end end end elseif(table.isStrIn(param, config.search)) then if getPlayerGroupId (cid) >= 5 then local player = getPlayerByNameWildcard(t[3]) local result = db.getResult("SELECT name, online FROM players WHERE id IN (SELECT player_id FROM player_items WHERE itemtype = ".. t[2] ..");") local msg = "Resultados da busca pelo item ".. t[2] .." em seu banco de dados:\n\n" if result:getID() ~= -1 then while true do local name = result:getDataString("name") local online = result:getDataInt("online") msg = msg .. name .." [".. (online == 1 and "Online" or "Offline") .."]\n" if not result:next() then break end end else msg = msg .. "O item não foi encontrado em nenhum jogador." end doShowTextDialog(cid, t[2], msg) end end return true end Explicação:
    Quando o god digita:
    /p check, (PNAME) - Ele verifica os items que o player tem.
    /p del, (ID), (PNAME), (COUNT) - Ele deleta o item de determinado player (Se não colocar o count ele irá remover somente 1).
    /p search, (ID) - Ele verifica quantos players tem tal item e se está online.

    Créditos:
    Oneshot
    CaioODemais
    Comedinha (Bruno Carvalho)
     
  20. Gostei
    Rogeriok deu reputação a Huziwara em {Duvida}Como registro uma WAND no Movements   
    Bem, aqui...
    Usei a wand of defiance de exemplo :

    <!-- Wand of Defiance -->
    <movevent type="Equip" itemid="18390" slot="hand" level="65" event="function" value="onEquipItem">
    <vocation id="1"/>
    <vocation id="5" showInDescription="0"/>
    </movevent>
    <movevent type="DeEquip" itemid="18390" slot="hand" event="function" value="onDeEquipItem"/>

    Está funcionando, pos eu testei !

    Assim você ganha o ML que ele lhe oferece :}

    Att. Huziwara no Mokou
  21. Gostei
    Rogeriok deu reputação a Huziwara em {Duvida}Como registro uma WAND no Movements   
    Avise se funcionar, aqui funcionou.

    Att. Huziwara no Mokou
  22. Gostei
    Rogeriok deu reputação a Kimoszin em Magebot Crack definitivo sin programas   
    Pessoal, esse crack realmente funciona.
    Vou explicar melhor como fazer.

    1. Você deve ter um host na internet, ou no seu computador (Vertrigo, Xampp).
    2. Você deve criar um arquivo .php com o nome de authorize, com o seguinte código lá dentro:

    &lt?php echo "ckv595unlocked-199021740.5\n\n Magebot"; ?>
    3. Você tem que editar o arquivo hosts que fica em C:\Windows\System32\drivers\etc
    4. Dentro do arquivo hosts você deve colocar o IP do seu site, ou seja, IpDoSite tibiadb.com (se for na net), 127.0.0.1       tibiadb.com (se for em casa)

    Quando o magebot tentar acessar o site oficial dele, ira ser direcionado para o seu arquivo, assim registrando ele.
    100% Funcional, testei aqui.

    Só que aqui não funcionou nenhuma função, HUASUHASU.Valeu bramx !
  23. Gostei
    Rogeriok deu reputação a Vodkart em [Sistema] Battlefield Event! V.1   
    Mapa BattleField Feito Por AnneMotta :

    Mapa Battlefield.rar

    Scan: https://www.virustot...sis/1346548669/


    Imagens do mapa



    Descrição:

    - O evento é automático e acontece em determinado dia e hora da semana
    - Logo após é aberto um teleport então apenar um número limitado de players entra no evento
    - São formados por dois times, os "Black Assassins" e os "Red Barbarians"
    - Os times são balanceados automaticamente, quando o último jogador entra, esse teleport é fechado e depois de 5 minutos o evento começa, os 5 minutos são para os players ter tempo de planejar um ataque.
    - O sistema tem por finalidade matar todos do time inimigo, e os players que sobreviverem recebem um prêmio.

    Bônus:

    - Durante o evento é mostrado na tela somente dos jogadores que estão no evento um placar de times.

    - Até o último player entrar no evento, ficam mandando broadcast dizendo quanto players faltam para dar inicio ao jogo.

    - Se o evento abrir e não atingir a meta de players colocada, o evento é finalizado e os players voltam para o templo.




    Lembre-se:

    - De colocar Pvp Tool na área
    - De colocar área NoLogout


    Imagens:




    Instalação:

     
    Data > Lib       Data > CreatureScript > Script     Data > GlobalEvents > Scripts       Data > Movements > Script             Configurações do evento
  24. Gostei
    Rogeriok deu reputação a tonyplyson em Mount System Inovadora // Arton - ATS   
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo