Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 04/12/14 em todas áreas

  1. Últimas atualizações: 16/12/2013: [ATUALIZADO 12/04/2014] Introdução: Eai gente, vcs conhecem o evento Blood Castle que tem no jogo MU? Então, eu resolvi criar esse evento para OpenTibia e ficou bem legal Informações: OBS: NÃO é obrigatório o uso do mapa que vou por aqui, ele serve somente para exemplo. #Dica: Acho que fica legal o premio do evento ser um item que da double exp por um tempo. Atualização: 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ático: 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. Download do mapa exemplo: Blood Castle.rar
    2 pontos
  2. comedinhasss

    Alissow Server

    Alissow Server Provavelmente vocês estão pensando "mas que diabo de OT é esse?", afinal, já faz 1 ano desde que a ultima versão foi lançada. A penúltima versão foi baixada mais de 50 mil vezes e esperamos que essa versão faça o mesmo sucesso. By Alissow Comedinha XedeguX Objetivo do projeto: Criar um servidor com base na versão mais atualizada do tibia com vários sistemas onde o mapa é feito para exploração com um grande nivel de RPG. Sobre o OT/Mapa: Principais quests: -Annihilator -Inquisition Quest -Pits of inferno -Demon Oak -Solar axe quest -HOTA -MPA quest Monstros: -Total monstros: 15000+- Cidades: -10 Cidades -220 Houses+- Raids/Invasões: -Rat -Ghazbaran -Giant spider/The old window -Ferumbras -Morgaroth -Orshabaal Spells: -Magias balanceadas parecidas com a do tibia global Changelog https://github.com/comedinha/Alissow/wiki/Changelog Imagens Download Servidor: GitHub Tamanho: ~10 MB Data Pack TFS 1.1 Atenção - LEIA o tópico antes de postar qualquer coisa ou duvida - Reportem se houver algum bug - As estatuas de offline que ficam no templo não funcionam por serem enfeites - Todos os addons são vendidos - Para usar os portais você primeiro deve explorar a área indo até ela - Tem alguns segredinhos e lugares escondidos muito legais para vocês descobrirem - Se vocês perceberem o Alisson deu retired do mundo otserv e não participou dessa versão O Servidor está inacabado. Muitas coisas que foi planejado fazer nele não foram completas. Mas inacabado não quer dizer que não está jogável, quer dizer que faltou detalhar (Ex: x:55 y: 137 z: 9, x: 104 y: 140 z: 7) E algumas coisinhas que não são tao importantes mas estavam planejadas por nós e no futuro podem ser adicionadas como warzone, quests, mais npcs e outros.
    2 pontos
  3. Olá Galerinha, eu não sou muito de aparecer aqui pelo fórum, mas eu estou com um projeto ai em mãos que está em andamento. Estou trabalhando nele sozinho. O servidor será com uma boa base do Game Resident Evil mais o nosso Tibia. Estou postando meu primeiro vídeo do projeto. Espero que gostem! Vídeo: Em Breve mais atualizações!
    2 pontos
  4. Salve galera do XTibia! Meu nome é Victor Fasano, desenvolvedor de websites, todos sabem... Bem, muitas pessoas me pediram para que eu fizesse um website gesior ou algum website que houvesse funcionabilidades na base The Forgotten Server 1.0 a versão mais atual do tfs. Bom, vou estar lançando 1 versão por semana aproximadamente, para correção de possiveis erros, eu peguei uma base do meu website mais atualizado que é nulo de erros, fundi com uma plataforma bem competente na questão websites e estou transformando ele totalmente funcional para APENAS tfs 1.0. Versão do website está em Alpha 0.1. Ou seja: Website cria accounts Website cria personagens Website é funcional fórum, shop, donate system, automatic payment system. Lost recovery account Recovery key account Visualização de personagens Integração site / ot feito com sucesso Método de encriptação apenas em sha1. Todos este sistemas foram feitos e testados em uma base de um servidor padrão 10.37 Website consiste de 2 layouts 1. manutenção (maintenace page igual do tibia.com). 2. tibiacom (padrão de todos os gesiores com algumas modificações e edições para a atualidade). Website está sendo um Open Source até o momento, caso eu queira posso privatizar e somente usuários com keys (sistema de ativação por chave) e convidados terão o website, mas isto não vem ao caso nesta instancia. Bom galera, ainda não está disponivel para download ainda o website, estamos desenvolvendo uma pagina totalmente segura de instalação.
    2 pontos
  5. curruwilliam

    [Gesior] Azure V3

    Eai galera, fmz? Veja V3 do [Gesior] Azure é um layout igual ou quase igual ao TibiaBR Imagens: Breve posto mais imagens, estou editando ainda! até mais;
    2 pontos
  6. Deadpool

    World [DxP]

    Omg, assim você me deixar constrangido! Grámatica ai ta a baixo de zero Quanto ao Serve DxP Aqui : link retirado
    2 pontos
  7. heavy2

    [Arquivado]Então ? #PxG

    Realmente a PxG tem inovado bastante.... porem ainda prefiro a época que a PxG tinha apenas a 1º geração, sem Held Itens,Outlands,Preços de Diamonds Absurdos(Antes de eu parar o preço era 200k = 10 diamonds) Enfim.. Na Epóca que ter Dragonite era foda..,que dropar fire stone era gritos no Skype/TS, caçar RockTunnel 3º andar em dupla de vileplume..
    2 pontos
  8. Criando um Servidor, primeiro de tudo baixe um servidor: Aqui você encontra vários. Após baixa-lo, iremos configurar conforme seu gosto: Configurando o Config.lua, scripts, spells, monsters e mapa, esses são os principais. Após ter ajeitado o server -> Você irá salvar tudo no local certo ( mapa -> pasta World | Monsters -> pasta Monster | Spells -> pasta Spells | e assim vai ). Seguindo os procedimentos anteriores, você vai colocar seu server On-Line. Primeiro, desbloqueie sua porta 7171. Comece com: Iniciar -> Configurações -> Painel de Controle -> Firewall do Windows, Exceções -> Adicionar Porta: Em Nome você poe Open Tibia Server, em Número da porta você põe 7171, deixe marcado TCP (se não tiver, marque) e click OK. Pronto porta 7171 desbloqueada. *Obs: Não encontrou o Firewall do Windows no Painel de Controle? Tente assim: Vá em Iniciar -> Configurações > Painel de Controle -> Opções da Internet -> Conexões -> Configurações ( que se encontra em baixo do botão Remover ). Propriedades: e na janela que se abrirá click em Avançado. No inferior do lado direito, tem um botão chamado de Configurações. Click. Vá em Adicionar Porta ( em alguns computadores tem somente Adicionar ). Em Número da Porta você põe 7171, deixe marcado TCP ( se nao tiver, marque ) e click OK. Pronto, porta 7171 desbloqueada. Configurando IP: Acesse o site: www.meuip.com.br Abra o config.lua (no bloco de notas) e adicione o IP encontrado substituindo em: Ou Algo Parecido. Configurando IP Fixo: Acesse o site: www.no-ip.com Faça login, se não possuir, faça uma clicando em Sing-UP, será obrigado que você responda todas as questões sublinhadas em amarelo. Aceite o termo de Sing-Up Now, e logo após aceite o email que irá chegar. Vá no site e faça login: Email. Senha. E faça Login. Após ter entrado, encontrará algo escrito: Hosts/Redirects que estára aberto. Você irá clicar em Add (Será o primeiro da lista). Aonde estiver: Hostname, coloque apenas o nome. Ex: XTibia OBS: Não coloque (.) Ponto ou servergame.com Agora, embaixo, você escolhe-rá; Ex: servegame.com, servercounterstrike.com, no-ip.info ou o proprio no-ip.com. Após ter feito isso, não altere mais nada, somente click em Creat Host. Ficando Assim: The host loroteiroserv.no-ip.info resolving to "IP-Global" has successfuly been added to our system. New additions will take up to 5 minutes to become live on our DNS servers. Parte 2 Ip fixo: Não está conseguindo colocar seu servidor no IP-Fixo? Você deverá ir no site www.no-ip.com onde você criou seu ip fixo. Depois de ter logado em sua conta la Nome menu escrito "Hosts/Redirects" vá na opção "Manage". La estará o ip fixo do seu server apenas clique em "Modify". Onde está "ip adress" estará outro ip. Copie-o e de "Modify Host". Abra seu config.lua e substitua o ip que você avia pego pelo que você pegou agora ha um tempinho atrás. Depois disso salve e feche a pasta de arquivo.lua. Espere 5 minutos para usar o IP novamente aconselhável esperar 10 minutos por precaução. Apenas toda vez que você reiniciar o computador repita o processo. Divirta-se. Colocando OT-Server On-Line, com Internet Compartilhada: Baixe e Instale: http://www.hamachi.cc/download Execute o Programa: No canto inferior esquerdo tem um botãozinho chamado Power On, aperte e então eli ira pedir para voce se cadastrar com um nome de usuário e senha, coloque o que você quiser como por exemplo: EX: nome: exemplo senha: 1234 Colocando o Server Online Vá no Botãozinho chamado "Create or Join Networks" -> "Create New Network" Crie o nome do seu server e a senha que voce desejar-- Depois clique em OK e pronto você verá que aparecerá um linha na tela inicial com o nome do seu server e o IP (no caso o ip também pode ser encontrado na barra do programa la em cima bem grande) Estamos Quase Lá. Agora só falta entra no config.lua no seu otserv e mudar o ip para o ip do Hamachi e abrir o servidor. FAQ: Dúvidas freqüentes: Somente eu entro no OT-Server, porque? RE: Para que outras pessoas entrem no seu server elas também prescisam do programa Hamachi, passe para seus amigos o programa e peça para eles se cadastrarem e clicar em "Create or Join Netowks" e depois em "Join Netwok", ai pessa para ele colokar o nome do server (o que voce colocou quando criou) e a senha (que voce tambem colocou quando criou) e ai ele e voce verá que ele entrou na sua lista do server (no programa) ai sim ele poderá entrar no seu otserv. http://www.xtibia.com/forum/index.php?showtopic=28114 Aqui você encontra um Tutorial sobre Modem. Rodando um Site: Downloads: EasyPHP Scripts em PHP -EasyPHP- *Instale-o em qualquer lugar, a sua escolha. *Na pasta EasyPHP 1-7, vai ter uma pasta chamada Apache. *Entre nela, depois vá na pasta conf e abra com Bloco de Notas/WordPad o arquivo httpd.conf . *Dê Ctrl + F e procure por Port 80. *Em Port 80, adicione 90 no final, ficando assim: Port 8090 -Configurando o PHP- *Baixe os Scripts. *Descompacte o .rar na pasta do EasyPHP, se ele perguntar se pode substituir, escolha Sim para Todos. *Agora, abra o config.php com algum editor de texto. *Terá o seguinte: OBS: Para mudar os equips iniciais, configure no Criarplayer.php, na pasta accounts, lá no finalzinho. -Protegendo seu OTServer- *Para proteger seu server, abra o Bloco de Notas e nele escreva: QUOTEDeny For All *Salve-o na pasta do seu ot como .htaccess . *Crie uma cópia do .htaccess e coloque esta cópia na pasta Ips, que fica na pasta account do PHP. *OBS: COLOQUE APENAS NA PASTA DO SEU OT E NA PASTA IPS, SENÃO O PHP VAI BUGAR E NÃO VAI DAR PRA CRIAR CHAR!!! Lista de Espera?, Isso acontece porque o Spawn do Player (a posição que ele está), está em cima de uma coisa (paredes, portas..). Solução: Mudar o Spawn do Player! Abra (No bloco de Notas) o Nome do Player.xml, precione Ctrl+f, procure por: spawn, modifique. EXEMPLO: <spawn x="504" y="504" z="6"/><temple x="504" y="504" z="6"/> Hakers? Seus problemas acabaram .. Primeiramente : *Como eles invadem meu pc ? -Eles entram pelo site de accounts. (Sem detalhes se não vão descobrir como hackeia) *Tah bom .. mas como impedir que eles entram ? -Você coloca o nome da pasta que esta seu ot bem dificil por exemplo : LKMs RoX oT *Mas porque tem que por um nome assim ? -Porque os hackers invadem o server pelo nome da pasta. Galera o tuto acaba por aki espero ter ajudado .. demorei pra fazer esse tutorial pq soh hj q vi uns kras entrando em um server. Não existe essa maneira mas existem VÁRIAS maneiras de se hackear um server, vamos dizer maneira noob e maneira inteligente de se hackear um server. Edit : (Mais informaçoes para o topico) > By Iguinho A maneira noob de se hackear é entrando pelo site de account como ele disse mas SEM DETALHES. A maneira inteligente de se hackear é com um keylogger, por exemplo, você baixa um otserver contaminado de keylogger mas não sabe que tem keylogger, ai vamos dizer que voce abra seu server e entre com sua account de gm o keylogger, ele rouba a sua senha e manda para o hacker, logo depois o hacker tem acesso a sua conta de gm como tambem a sua conta de e-mail e etc... MAS ISSO TEM UMA SOLUÇÃO! Na hora que você for criar o seu otserver você simplesmente não ponha a pasta do otserver na pasta www, ponha em algum outro diretorio na pasta C:\ e etc... mas isso não quer dizer que você esta 100% seguro de nao ser hackeado, existem 1001 maneiras de se hackear que eu nao vou postar aqui. Sobre o keylogger eu sugiro baixar um antivirus bom de empresa boa como o norton ou outros ai, que ele cata o keylogger mas é sempre necessário que ele fique atualizado que se não ele não cata nada. Criando char Gm: ---EM DATA/PLAYERS--- -Vá em data/players. (vamos supor que existe um char chamado Ajuda) -Copie o char "Ajuda" e cole-o na mesma pasta. -Renomeie este char para o nome do GM desejado (vamos supor que o nome do seu GM seja, GM Ok) -Agora com o botão direito clicke em editar... edite para isso: *Em name="Ajuda" mude para name="GM Ok" *Em account="159" para account="acc 1111"(vamos supor que seja "1111, se voce quiser 1414 tem que ficar assim; account="1414") *Em access="0" mude para access="3" *Em <look type="128"> mude para <look type="75"> Salve ! ---EM DATA/ACCOUNTS--- -Copie a account que estiver nesta pasta. -Renomiei para account colocada no seu GM (que era a 1111). -Agora com o botão direito clicke em editar. *Em <account pass="lala" mude para senha desejada ex: <account pass="senhaaqui" *Em characters: Exemplo; <characters><character name="Ajuda" /></characters>Mude para o nome do GM colocado em data/players:<characters><character name="GM Ok" /></characters> OT-Server 24H Mesmo que voce tenha um reestarter sempre da akele errozinho que trava seu OTServ, para tirar akele errinho que enche o sako aki vai a resposta: Entre no painel de controles/sistema/avançados/relatorio de erros/escolher programa/adicionar/procurar Agora ache seu OTServ.exe e ponha lá e de OK Pronto Nao inviara + ralatorio de erros Mas ainda tera a possibilidade de aparecer erros criticos ai seja mais radical Mande desativar o relatorio de erros e dismarque o "notificar-me quando ocorrerem erros criticos" na pagina do ralatorio de erros ~Agora crie seu Auto-restarter~ Vamos começar: Vou dar um exemplo aki do meu Auto-restarter.bat: CODE@echo offtitle OTserv Auto-restarterecho =========================================echo --- OTserv Restarter ---echo --- Por: Fvox ---echo =========================================echo :beginOTserv.exeecho ::echo =========================================echo --- O Sever caiu, volta ja ja ---echo =========================================echo ::goto begin:goto begin Agora faça o seu: Abra um bloco de notas Escreva nele (Naum esqueça de tirar o "CODE" se vc for Copiar e colar): CODE@echo offtitle OTserv Auto-restarterecho =========================================echo --- OTserv Auto-Restarter ---echo --- Por: Seu nick aki ---echo =========================================echo :beginNome do Executavel.exeecho ::echo =========================================echo --- Mensagem de quando o server cai---echo =========================================echo ::goto begin:goto begin Agora eh soh renomeia as coisas q eu colokei la tpw: Por: Seu nick aki Nome do executavel.exe (Exemplo: OTserv.exe) Mensagem de quando o server cai (Exemplo: o Server caiu.. volta ja) Depois de ter feito salve o seu bloco de notas o arquivo.bat (Exemplo: Auto-Restarter.bat)
    1 ponto
  9. caotic

    onDropLoot(cid, item)

    Ola galera xtibianaaa. Event droploot acontece quando um monstro ou player dropa 1 item. Vamos la: Vá em creatureevent.cpp e procure: bool CreatureEvents::playerLogin(Player* player) { //fire global event if is registered bool result = true; for(CreatureEventList::iterator it = m_creatureEvents.begin(); it != m_creatureEvents.end(); ++it) { if(it->second->getEventType() == CREATURE_EVENT_LOGIN && !it->second->executeLogin(player) && result) result = false; } return result; } Logo em seguida coloque: bool CreatureEvents::dropLoot(Creature* creature, Item* item) { bool result = true; for(CreatureEventList::iterator it = m_creatureEvents.begin(); it != m_creatureEvents.end(); ++it) { if(it->second->getEventType() == CREATURE_EVENT_DROPLOOT && !it->second->executeDropLoot(creature, item)) result = false; } return result; } Procure: else if(tmpStr == "preparedeath") m_type = CREATURE_EVENT_PREPAREDEATH; Coloque em seguida: else if(tmpStr == "droploot") m_type = CREATURE_EVENT_DROPLOOT; Logo apos procure: case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath"; Coloque abaixo: case CREATURE_EVENT_DROPLOOT: return "onDropLoot"; Procure: case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList"; Coloque embaixo: case CREATURE_EVENT_DROPLOOT: return "cid, item"; Procure: uint32_t CreatureEvent::executeLogout(Player* player, bool forceLogout) { //onLogout(cid, forceLogout) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(player->getPosition()); std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(player) << std::endl; scriptstream << "local forceLogout = " << (forceLogout ? "true" : "false") << std::endl; scriptstream << m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ char desc[35]; sprintf(desc, "%s", player->getName().c_str()); env->setEventDesc(desc); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(player->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(player)); lua_pushboolean(L, forceLogout); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; } } else { std::cout << "[Error - CreatureEvent::executeLogout] Call stack overflow." << std::endl; return 0; } } Coloque logo apos: uint32_t CreatureEvent::executeDropLoot(Creature* creature, Item* item) { //onDropLoot(cid, item) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; env->streamThing(scriptstream, "item", item, env->addThing(item)); scriptstream << m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ char desc[35]; sprintf(desc, "%s", player->getName().c_str()); env->setEventDesc(desc); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(creature->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(creature)); LuaScriptInterface::pushThing(L, item, env->addThing(item)); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; } } else { std::cout << "[Error - CreatureEvent::executeDropLoot] Call stack overflow." << std::endl; return 0; } } Vá em creatureevent.h e procure:CREATURE_EVENT_PREPAREDEATH, Coloque abaixo: CREATURE_EVENT_DROPLOOT Procure: uint32_t executeTarget(Creature* creature, Creature* target); Coloque abaixo: uint32_t executeDropLoot(Creature* creature, Item* item); Vá em player.h na função: void Player::dropLoot(Container* corpse) Troque por esta função: void Player::dropLoot(Container* corpse) { if(!corpse || lootDrop != LOOT_DROP_FULL) return; uint32_t start = g_config.getNumber(ConfigManager::BLESS_REDUCTION_BASE), loss = lossPercent[LOSS_CONTAINERS], bless = getBlessings(); while(bless > 0 && loss > 0) { loss -= start; start -= g_config.getNumber(ConfigManager::BLESS_REDUCTION_DECREAMENT); bless--; } uint32_t itemLoss = (uint32_t)std::floor((5. + loss) * lossPercent[LOSS_ITEMS] / 1000.); for(int32_t i = SLOT_FIRST; i < SLOT_LAST; ++i) { Item* item = inventory[i]; if(!item) continue; Creature* creature = NULL; bool deny = false;item creature = g_game.getCreatureByID(getID()); CreatureEventList droploot = getCreatureEvents(CREATURE_EVENT_DROPLOOT); for(CreatureEventList::iterator it = droploot.begin(); it != droploot.end(); ++it) { if(!(*it)->executeDropLoot(this, item)) deny = true; } if(!deny) { uint32_t rand = random_range(1, 100); if(skull > SKULL_WHITE || (item->getContainer() && rand < loss) || (!item->getContainer() && rand < itemLoss)) { g_game.internalMoveItem(NULL, this, corpse, INDEX_WHEREEVER, item, item->getItemCount(), 0); sendRemoveInventoryItem((slots_t)i, inventory[(slots_t)i]); } } } } Vá em monster.cpp e procure: void MonsterType::dropLoot(Container* corpse) { Item* tmpItem = NULL; for(LootItems::const_iterator it = lootItems.begin(); it != lootItems.end() && !corpse->full(); ++it) { uint32_t owner = corpse->getCorpseOwner(); Creature* creature = g_game.getCreatureByID(owner); if((tmpItem = createLoot(*it)) && g_creatureEvents->dropLoot(creature, tmpItem)) { if(Container* container = tmpItem->getContainer()) { if(createChildLoot(container, (*it))) corpse->__internalAddThing(tmpItem); else delete container; } else corpse->__internalAddThing(tmpItem); } } corpse->__startDecaying(); uint32_t ownerId = corpse->getCorpseOwner(); if(!ownerId) return; Player* owner = g_game.getPlayerByID(ownerId); if(!owner) return; LootMessage_t message = lootMessage; if(message == LOOTMSG_IGNORE) message = (LootMessage_t)g_config.getNumber(ConfigManager::LOOT_MESSAGE); if(message < LOOTMSG_PLAYER) return; std::stringstream ss; ss << "Loot of " << nameDescription << ": " << corpse->getContentDescription() << "."; if(owner->getParty() && message > LOOTMSG_PLAYER) owner->getParty()->broadcastMessage((MessageClasses)g_config.getNumber(ConfigManager::LOOT_MESSAGE_TYPE), ss.str()); else if(message == LOOTMSG_PLAYER || message == LOOTMSG_BOTH) owner->sendTextMessage((MessageClasses)g_config.getNumber(ConfigManager::LOOT_MESSAGE_TYPE), ss.str()); } Evento em uso: function onDropLoot(cid, item) local block = {2221, 1221, 2922} for i=1, #block do if item.itemid == block[i] then return false end end return true end
    1 ponto
  10. IvanAppel

    Fábrica de Clients

    Então galera, resolvi criar uma fábrica de clients (cipsoft). Temos regras e padrões no tópico. Regras Postar somente sobre o assunto; Não conversar no tópico; Qualquer tumultuo no tópico vai ser reportado; Se fizer um pedido não fique dizendo, "Iai vai fazer o meu ou não?" "Já terminou?"; Qualquer ofensa vai ser reportada; Padrão Versão : IP (máximo 19 carácteres): Ícone (opcional, 32x32): Background (fundo inicial, opcional,640x480): Procurar por que arquivos(tibia.spr, etc... , opcional): Adicional (opcional): Agradecimentos Queria agradecer somente ao nosso querido usuário Zaruss por me disponibilizar o código RSA do client do tibia, assim posso criar o client com QUALQUER VERSÃO. _____________________________________________ Também descompilo clients, apesar de não ser grande coisa algumas pessoas precisam então, só falar. Cientes das regras, façam seus pedidos Atenciosamente, Eryrrel.
    1 ponto
  11. Oi, meu nome é Hiago e estou aqui parar montar uma grande equipe, que irá fazer parte do maior projeto da historia do tibia! estou cansado de ver aqueles ots de poketibia, narutibia, digitibia, gtatibia, harrypotter tibia. e venho lhes mostrar a minha grande ideia, ou melhor do meu falecido irmão que a 4 anos criou o melhor ot de cavaleiros do zodiaco tibia do momento! assim como ele era, não tenho muito xp em criar ots, porem tenho toda a historia planejada, o projeto começara do 0 porem baseado no antigo ot do meu irmão! Esse servidor é baseado totalmente no anime Cavaleiros dos Zodiacos, e estamos tentando ser o mais fiel possivel ao anime. O servidor atualmente possui 130 vocações, sendo elas, cavaleiros de bronze, cavaleiros de prata, cavaleiros de ouro, cavaleiro de aço, cavaleiros negros, e no total 13 deuses. No momento o jogo esta 2% Pretendo fazer o ot baseado no antigo servidor do meu irmão. todos os staff ganharam vaga de deus dentro do jogo. para fazer parte do enredo do game!] acontecera o torneio das armaduras, uma vez na semana entre os players! armaduras requerem level, haverá guerra entre espectros e os cavaleiros de athena! sistema de armadura, clikamos na urna e ela se abre em seu corpo. estamos com todas as vagas abertas e precisamos de uma equipe eficiente para um game de 24h dedicado! VAGAS: Mapper - Filipe,VAGO Scripter - Filipe,VAGO Spriter - VAGO,VAGO Spell Maker- Filipe,VAGO Client Maker - VAGO Web Master ou Web Designer - VAGO,VAGO Designer: VAGO Host: Eu ■OBJETIVOS Internos e Externos: •Montar um site bem montado facil de entrar e de se mecher •Editar o map com novas quests,eventos. •Colocar novas scripts,Armaduras,Magias e varios outros scripts •Fazer um novo client mais inovador com um modelo novo e melhorado •Colocar o servidor e site 24Hrs/7diasPorSemana • Contatos: Skype - hiago.pika
    1 ponto
  12. Olá a todos!! Printer decidiu lançar o servidor que esta hospedado há algum tempo, que se baseia em Teckman datapack , mas um monte de correções e alterações foi feita. Como Prometido servidor sendo atualizado frequentemente com varias correções e totalmente atualizado, aproveite um servidor dessa qualidade você encontra aqui no xtibia !!! Download & Atualizações do Servidor !!!: https://github.com/PrinterLUA/FORGOTTENSERVER-ORTS Scan: https://www.virustotal.com/sv/file/...d6565fc24ae5e4d494eadca4/analysis/1385914637/ (Usar para rodar o ): [10.31] The Forgotten Server 1.0 (#915) Download: https://github.com/otland/forgottenserver Download 32 e 64 The gorgotten Server 1.0 (#915): MEGA | SendSpace | Scan-MEGA: https://www.virustotal.com/sv/url/274b18e83a3b2b1db2350782fdb36e225aa3d656f350d26269233ac115c82f67/analysis/ Scan-SENDSPACE: https://www.virustotal.com/sv/url/86be830199f995576350318af3fecfa1334301e9c9de05798056df42152eb2fd/analysis/1393992362/ (10.37) The Forgotten Server 1.0 64 E 32 DOWNLOAD 64: http://sourceforge.net/projects/compiledtfs10/files/The%20Forgotten%20Server%20x64.7z/download SCAN:https://www.virustotal.com/en/file/...0d8c85a7557718523f49bee1/analysis/1395871095/ DOWNLOAD 32: http://sourceforge.net/projects/compiledtfs10/files/The%20Forgotten%20Server%20x32.7z/download SCAN:https://www.virustotal.com/en/file/...9cb1e34b31612508504c6a56/analysis/1395870574/ Websites Recomendados: 1: https://github.com/Znote/ZnoteAAC/archive/master.zip 2: https://github.com/gesior/Gesior2012/tree/TFS-1.0 Baixe: 32-bit C++ redistributable package: http://www.microsoft.com/en-us/download/details.aspx?id=5555 64-bit C++ redistributable package: http://www.microsoft.com/en-us/download/details.aspx?id=14632 Dlls: https://mega.co.nz/#!t0hmURgR!zCrGwU41CbVT0mUi4MZ0Xlqu56fWwayJaH6VVK9Kyus Creditos: Printer da (Otland) Se ficar alguem fora dos creditos ficarei feliz em colocalos. PROIBIDO COPIAR E COLAR EM QUALQUER OUTRO FORUM QUE NÃO ESTE!!!
    1 ponto
  13. Dbko

    Madara rikudou Ntobr

    ae galera hoje e minha despedida do xtibia então resolvir trazer varias sprite do ntobr madara rikudou 600 com movimentos Kabuto novas hidan 600 Killer bee Todas Sai 400 O resto vocês Vejam Ai Galera não Vou Deixar Imagem ai o Link e o Scan pós estou com pressa http://www.mediafire.com/download/aoffzt3igi9mglf/Ntobr_Sprite_Luan.rar Scan Ateciosamente,Luan Mello Em Breve De Volta Ao Xtibia, Espero que Gostem Das Sprites Valeu Xtibia
    1 ponto
  14. Deadpool

    [Arquivado]Então ? #PxG

    Então galera, o que estão achando da Equipe PxG ? Cada dia, mês, ano que passa, eles estão Inovando no Grande Servidor deles, e eu vi esse novo Sistema no OTCliente deles, e Simplesmente achei muito foda. Equipe PxG tá de Parabens! Muitos falam que nunca Chegariam a Equipe da Svke, más, se parar pra pensar, são a mesma coisa, além de eles, sempre estarem Inovando, não só no Fora, más como In-Game, a Jogabilidade torna-se acade veis mais melhor! Olhem: Da minha Parte, estão de Parabens! Se estiver na Aréa Incorreta, Movam por favor!.
    1 ponto
  15. SamueLGuedes

    PokeDashin 8.54

    Olá galera, antes de eu começar a falar sobre o servidor, quero deixar bem claro, eu estou deixando online esse PDA, mas estou também trabalhando no Skyfall. OK? chega de bla bla bla. Servidor aberto Hoje. Informações: Exp: 999 IP: pokedashin.servegame.com (Recomendado usar o Client do servidor, para evitar Bugs). Novas Citys: Violet Island, Hamlin Outland adicionada: South, North, East. Outland Main quest. Leaf, Fire, Water valley Quests. Cps Remodulados Dungeons. Fire, Water, Leaf Valley quest. Remake de alguns pokemons adicionado. Novos Shinys: Shiny Rhyperior Shiny Feraligatr Shiny Blaziken Shiny Meganium Shiny Typhlosion Shiny Giant Magikarp Shiny Aerodactyl Cath bom, não está dificil. Limite de 6 pokemons na bag. Pokemons até a 2°geração (estou implementando a 3° ea 4º geração.) Quests espalhadas pelo mapa. http://img41.imageshack.us/img41/9589/separadorblog.jpg imagen: depois eu coloco mais. http://img41.imageshack.us/img41/9589/separadorblog.jpg Bem o resto vocês terão que ver entrando. Download para o acesso: OTC: https://mega.co.nz/#!xschmJzJ!abW9ikxhKZXLOR69xFh_M0iCXP4dphZKt6snk-rvnMU Old Client: https://mega.co.nz/#!xwk21CZI!MK50hUwxeqJJEdJ1JyPIF3z9QXhKNxaYc5YfWCO4S0Q Eu abri esse servidor, para aqueles que estavam esperando o Skyfall lançar. até lançar eles podem ficar se divertindo aqui. e claro para aqueles que gostam de Jogar Ot de Pokemon. Online novamente =D
    1 ponto
  16. Killua

    Anti Nuke System

    Ainda hoje, muitos servidores são nukados com MageBomb (mass log de Account Manager)... Por este motivo, vou compartilhar um script, que eu otimizei, que impede esse tipo de mass log. Basta criar: AntiNuke.lua em data/creaturescripts/script e colocar esse código: -- Anti Mage Bomb System otimizado por Killua - XTibia.com local config = { max = 3, -- Quantos acc manager o mesmo ip pode logar de uma vez acc_name = "Account Manager", -- Nome do account manager ip_banishment = "false", -- Se logar mais acc manager do que o permitido, leva ban? "true" ou "false" banishment_length = 20 -- Quantos dias o ip fica banido? } local accepted_ip_list = {""} -- lista dos ips permitidos a logar varios acc manager, exemplo: {"200.85.3.60", "201.36.5.222"} local function antiMC(cid) if (#getPlayersByIp(getPlayerIp(cid)) >= config.max) then if config.ip_banishment == "true" then doAddIpBanishment(getPlayerIp(cid), banishment_length * 24 * 60 * 60) end doRemoveCreature(cid) end return true end function onLogin(cid) if getPlayerName(cid) == config.acc_name then if isInArray(accepted_ip_list,doConvertIntegerToIp(getPlayerIp(cid))) then return true else addEvent(antiMC, 1000, cid) end end return true end Em data/creaturescripts/creaturescripts.xml, coloque essa TAG: <event type="login" name="antinukemc" event="script" value="AntiNuke.lua"/>
    1 ponto
  17. Layout do PokeMMO, codigo refeito por mim e adaptado para o Blogger e para o Modern acc, espero que gostem XD. Link do site postado no Blogger http://www.pokemonorigins.com.br/ Em breve o servidor vai ficar on para alpha teste.
    1 ponto
  18. homersapiens

    [Arquivado]Então ? #PxG

    Pra qm quiser o Converter de .gif pra apng ta aí gif2apng_gui-1.9-bin-win32.zip
    1 ponto
  19. Opa, desculpe a demora Como ficou: Primeiramente, salve as seguintes imagens na pasta 'layouts\tibiacom\images\themeboxes' http://belezoka.servegame.com/images/top_level.png http://belezoka.servegame.com/images/bg_top.png Agora, adicione isso no seu 'configs/config.php' Onde 3 = o group ID que será bloqueado, 2 Tutor, 3 Senior Tutor, 4 GM, 5 CM, 6 God (exemplo) Depois, adicione isso no seu 'layouts\tibiacom\basic.css' E finalmente, adicione no local adequado do seu layout.php Boa sorte
    1 ponto
  20. dalvorsn

    Projeto Tutores de Scripting

    Veja bem, teu erro é bem comum para os que estão iniciando. Você está usando funções dependentes da variavel 'cid'(creatureId) fora do escopo da callback onCastSpell O que não for dependente dessa variavel pode ficar do lado de fora do escopo, mas o que depende, precisa ficar no escopo. Ficaria assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) local damage_table = { --[[ [skill_value] = damage; ]] [5] = 10; [10] = 15; [15] = 20; [30] = 30; } function onCastSpell(cid, var) local final_damage = 0; local skill = getPlayerSkill(cid, 2) for skill_value, damage in pairs(damage_table) do if (skill >= skill_value) and (damage > final_damage) then final_damage = damage; end end doCreatureRemoveHealth(target, final_damage) return doCombat(cid, combat, var) end
    1 ponto
  21. dalvorsn

    Projeto Tutores de Scripting

    Pode ser, inclusive seria mais facil que meu metodo, so atentar aos tamanhos das variaveis local damage_table = { --[[ [skill_value] = damage; ]] [10] = 500; [20] = 1000; [50] = 10000; -- ...... } local final_damage = 0; local skill = getPlayerSkill(cid, 2) for skill_value, damage in pairs(damage_table) do if (skill >= skill_value) and (damage > final_damage) then final_damage = damage; end end doCreatureRemoveHealth(target, final_damage) Proximo disso
    1 ponto
  22. pvjf

    Pokémon Overllord 8.54

    Muito bom! Baixando o server pra testar.
    1 ponto
  23. ctrl + . (ponto) creio q seja isso q keira saber ;p
    1 ponto
  24. test esse ai http://www.mediafire.com/download/cb3xq5fhghc1yq3/aura.rar
    1 ponto
  25. No seu configuration.lua, procure por flys e coloque isso la Adicione esta linha la ["Shiny Dragonite"] = {233, 2200}, --Onde esta azul coloque a looktype do pokemon subtraindo 351... Exemplo: a looktype dele é 1500, ai vc subtrai 1500-351= 1549.. ai vc coloca o resultado la e adiciona ele tbm na tabela "specialabilities" tbm no configuration.lua na parte de fly. Se nao der certo avisa
    1 ponto
  26. Movido para pedidos e dúvidas de derivados. Sobre seu problema, poderia nos enviar o quê se encontra na linha 659 de level system.lua (lib)?
    1 ponto
  27. zipter98

    Cd de MMO RPG

    1 ponto
  28. Olá, Certo, então faça o seguinte: Crie o arquivo vipgratis.lua em DATA/CREATURESCRIPTS/SCRIPTS e coloque esse codigo dentro: local storangeusado = 19250 --Storage usado para indicar se o player ja recebeu os dias de VIP gratis ou não local valor = 7 --Quantidade de dias de VIP a serem adicionados function onLogin(cid) if getPlayerStorageValue(cid, storangeusado) ~= 1 then doAddVipDays(cid, valor) setPlayerStorageValue(cid, storangeusado, 1) end return true end Agora adicione em Creaturescripts.xml a seguinte tag: <event type="login" name="VIP Gratis" script="vipgratis.lua"/> Certifique-se de que o storage usado acima não está sendo usado por outra função, você pode facilmente modificar ele. Aguardo respostas. Grande abraço!
    1 ponto
  29. Junior001

    Site Nto

    vá na pasta globalevents/scripts de seu servidor e crie 1 arquivo chamado shop.lua e coloque isto dentro e no globalevents.xml coloque essa tag <globalevent name="Shop" interval="300" event="script" value="shop.lua"/> e pronto.
    1 ponto
  30. Aberos

    [Arquivado]Então ? #PxG

    mangekyou sharingan kkkkkkkkkkkkkk @slicer existi um programa que converte gif em apng ss https://www.youtube.com/watch?v=mxCzZJ4t6dQ&feature=youtu.be
    1 ponto
  31. essa e aquela quest q pode abrir as portas dos mailbox em varios lugares? (: Sim, exatamente rs :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
    1 ponto
  32. rateExperienceFromPlayers = 0 Aqui Você Muda o XP Que Os Jogadores Ganharam Quando Matarem Outro Jogador o Outro Erro Não Sei Não, Desculpa
    1 ponto
  33. caotic

    getPlayerItems(cid)

    Verificar itens por atribbuto,nome etc... Usar id e um tanto quanto limitado.
    1 ponto
  34. yagoshira004

    [Pedido] NPC Reborn (DBO)

    Eae galera, to precisando de um script de npc , que faz o reborn... Só que pra isso , vc precisa dar as 7 esferas pra ele e se vc tiver as 7 esferas e lvl 250 ele te reborna, alguem pode me ajudar?
    1 ponto
  35. Slicer

    [Arquivado]Então ? #PxG

    @aberos por img eh simples... quero ve converter as .gif pra .apng kkk' @topic eh inovando tao, mas q ja sairam da ideia principal de 'pokemon' ja sairam faz tempo... ;/ -sem fla q esse sistema ae eh bem inutil kk'-
    1 ponto
  36. Deadpool

    [Arquivado]Então ? #PxG

    Agora que você falou manin, a Animação antes era muito melhor! Antes dava Orgulho, e Motivos pra se "Achar" dizendo que capiturou tal pokes, pegou tal itens e tals, ><.. Bom, os tempos mudam né ? Mesma coisa agente, nossa juventude, quem não gostaria de ser criança denovo ? acorda de manhar pra ir assistir os desenhos ? ter ciumes apenas de brinquedos ? brigar com o amigo e depois ta se falando, pq felicidade era melhor né não ?
    1 ponto
  37. VictorWEBMaster

    Double points

    Duvida sanada, script foi if ($NumItens == 20) { $debitar = '30'; } if ($NumItens == 40) { $debitar = '65'; } if ($NumItens == 60) { $debitar = '100'; } if ($NumItens == 80) { $debitar = '140'; } if ($NumItens == 100) { $debitar = '180'; } if ($NumItens == 150) { $debitar = '270'; } Tópico movido para a seção de dúvidas e pedidos resolvidos.
    1 ponto
  38. akira021

    Fairy Tail Online [FTO] - Apresentação

    Aew! Parabéns pelo patrocínio! Go go BETA! =D OBS: First Post \o/ =D
    1 ponto
  39. Dbko

    Madara rikudou Ntobr

    Não Da pra Postar Prints Porque Todo mundo ja conheçer o Madara rikudou do Nto Brasil e o Killer Bee Suigetsu
    1 ponto
  40. RastaLegion

    Tutorial Poison/Subsolo.

    1- Dirt/Stone Wall. Faça com calma , com formatos variados, evitando o formato escadinha ou reto demais. 2-Grounds. Coloque os grounds de poison nos cantos da cave com formatos variados visualizando como ficará depois de colocar a borda, já os dirts de uma variada para não ficar entediante. 3-Bordas/detalhes. Coloque as bordas e comece a detalhar, você pode usar plantas que lembre pantano, cogumelos, gravels, pedras de musgo se for cave de spiders pode colocar teias, ovos de aranha entre outras coisas. Bom Pessoal ,espero ter ajudado e que clique no botãozinho de curtir =).
    1 ponto
  41. Em compile procure por fb92b9eef61bba4b472e7c245a0caa8a1a6fa10c.file.index.tpl.php e abrea dps so procurar pelo link do downloand e substituir pelo seu link o se nao for vá em system/pages/downloand vai ter o link do downloand
    1 ponto
  42. akira021

    [Arquivado]ProjectPO ~ Deixe sua Sugestão

    Sera que o SVKE pensava dessa mesma maneira? Nada eh perfeito e nao dura para sempre, porem eh bom enquanto dura... se o seu servidor acabou rapido, nao quer dizer que todos vao acabar do mesmo jeito e quem disse que aqui nos nao aprendemos algo de valor? Muitos projetados cai por conta de passar uma falsa beleza, todos querem deixar o mapa incrivel, bonito, sistemas novos, inovadores, sprites novas etc, e esquecem do principal, o que os players querem... Amigo a sua ideia eh otima, pois para mim a PXG nao eh um servidor de pokemon... continue com o projeto e nao desista. "Nao deixe que lhe fale que nao vale a pena acreditar no sonho que se tem...Se quer confiar em alguem, confie em si mesmo... quem acredita sempre alcanca..." - Renato Russo. Boa sorte ai amigo!
    1 ponto
  43. Tonynh

    Ferumbras - by tony

    Como essa galera tava me cobrando um mage, comecei a rabiscar um ferumbras e fiz uma pintura rápida pra melhorar =p eu não ia postar, mas beleza auhauh
    1 ponto
  44. Skymagnum

    Top Do Server

    Olá, é um sistema que mostra quem é o novo top do servidor vá em Pasta do seu OT/data/creaturescripts nome_do_script.lua function getTop() -- função by vodkart local query = db.getResult("SELECT `name`, `level` FROM `players` WHERE `id` > 6 AND `group_id` < 2 ORDER BY `level` DESC, `name` ASC;") if (query:getID() ~= -1) then return {query:getDataString("name"),query:getDataInt("level")} end return false end function onAdvance(cid, oldLevel, newLevel) if skill == 8 then local top = getTop() if newLevel > top[2] and getCreatureName(cid) ~= top[1] then broadcastMessage(getCreatureName(cid).." é o novo TOP do servidor ele está no level [" .. newLevel .. " ] .", 25) end end return true end [/code] creaturescripts.xml <event type="advance" name="checkNewTop" script="nome_do_script.lua"/> login.lua registerCreatureEvent(cid, "checkNewTop") é isso galerinha flws.
    1 ponto
  45. se e mo vasilao ¬¬ alguem ai pode ?
    1 ponto
  46. Eu tenho essas ai
    1 ponto
  47. alex125

    Soluçao Shop Gesior

    Bom Galera por um tempo tive uma dificuldade sobre o shop(Site) e a comunicaçao com o jogo, entao prestem atençao que vou colocar passo a passo o que montei de cada gente boa q fui encontrando em forums e cheguei ao 100% shop gesior. entao vamos la:[/size] 1-Real Server 2.2.5 (8.54-8.57) - XTibia.com, por doidin 2-Gesior ACC Maker - XTibia.com, por doidin obs: n testei em outros a nao ser os acima listados, nao me responsabilizo por testes em outras versoes este mesmo acima citado estao pra downloads aqui no x'tibia. apos seguir tutorial de instalaçao do gesior e ocorrer instalaçao 100% perfeita, tive a dificuldade de comprar itens no site e ir para o players in game entao seguir o seguinte tutorial: 1- Abra ".../xampp/htdocs/config/config.php" e ative o shop system (mude "0" para "1"): Código: $config['site']['shop_system'] = 1 2. Abra o arquivo globalevents.xml e adiciona a tag: Código: <globalevent name="shop" interval="30" script="shop.lua"/> Em data/globalevent/shop.lua coloque: Código: 2.1- CONFIGURAÇÃO No início do arquivo postado acima é parte do shop config: Código: -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 17 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 Script padrão para se conectar com o banco de dados 1 vez a cada 30 segundos. 2.2- Abra seu arquivo constant.lua que se encontra em "data/lib/constant.lua" e adicione esta linha em qualquer lugar: InitShopComunication = 0 3-Na database do seu otserv execute (no phpmyadmin): Código: CREATE TABLE IF NOT EXISTS `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`) ); CREATE TABLE IF NOT EXISTS `z_shop_offer` ( `id` int(11) NOT NULL auto_increment, `points` int(11) NOT NULL default '0', `itemid1` int(11) NOT NULL default '0', `count1` int(11) NOT NULL default '0', `itemid2` int(11) NOT NULL default '0', `count2` int(11) NOT NULL default '0', `offer_type` varchar(255) default NULL, `offer_description` text NOT NULL, `offer_name` varchar(255) NOT NULL, PRIMARY KEY (`id`) ); CREATE TABLE IF NOT EXISTS `z_shop_history_item` ( `id` int(11) NOT NULL auto_increment, `to_name` varchar(255) NOT NULL default '0', `to_account` int(11) NOT NULL default '0', `from_nick` varchar(255) NOT NULL, `from_account` int(11) NOT NULL default '0', `price` int(11) NOT NULL default '0', `offer_id` int(11) NOT NULL default '0', `trans_state` varchar(255) NOT NULL, `trans_start` int(11) NOT NULL default '0', `trans_real` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ); CREATE TABLE IF NOT EXISTS `z_shop_history_pacc` ( `id` int(11) NOT NULL auto_increment, `to_name` varchar(255) NOT NULL default '0', `to_account` int(11) NOT NULL default '0', `from_nick` varchar(255) NOT NULL, `from_account` int(11) NOT NULL default '0', `price` int(11) NOT NULL default '0', `pacc_days` int(11) NOT NULL default '0', `trans_state` varchar(255) NOT NULL, `trans_start` int(11) NOT NULL default '0', `trans_real` int(11) NOT NULL default '0', PRIMARY KEY (`id`) ); 4- Fim da instalação. Agora adicione ofertas!! (exemplo abaixo) Exemplo de configuração de ofertas. Execute na database do seu OT: Código: INSERT INTO `z_shop_offer`(`id`,`points`,`itemid1` ,`count1` ,`itemid2` ,`count2` ,`offer_type` ,`offer_description` ,`offer_name`) VALUES (NULL , '10', '0', '12', '0', '0', 'pacc', 'Buy 12 days of premium account for yourself or your friend!', '12 Days of PACC' ), (NULL , '40', '5890', '50', '0', '0', 'item', 'Buy 50 Chicken Feathers!', '50x Chicken Feather' ), (NULL , '100', '2466', '1', '1987', '8', 'container', 'Buy bag with 8 Golden Armor! Become a rich mother fucker!', '8x Golden Armor'); Quando você for adicionar novas ofertas de PACC id - empty (auto_incement) points - quantos pontos custa essa oferta count1 - Dias de PACC esta oferta dá. offer_type = "pacc" offer_description - Descrição da Oferta, exeplo: "Buy 5 days of PACC. With PACC you can visit new areas, fight stronger monsters and promote your character!" offer_name - Nome da oferta, como: "5 Days of PACC" Quando você for adicionar uma nova oferta de ITEM id - empty (auto_increment) points - quantos pontos custa essa oferta. itemid1 - ID do item criato no seu OT count1 - "quantidade" do item, como SD com 15 cargas tem "count" 15, item normais (bag, crossbow, golden armor...) tem "count" 1, "count" 3 não irá criar 3 Golden Armos, use 'container' para dar mais items. offer_type = "item" offer_description - Descrição da oferta, como: "Buy Golden Armor and become great knight! Fight stonger mosters and lose less HP!" offer_name - Nome da nova oferta, como: "1x Golden Armor" Quando você for adicionar uma nova oferta de CONTAINER id - empty (auto_increment) points - Quantos ponstos custa essa oferta itemid1 - ID do item criado dentro da BP count1 - "quantidade"/"tipo" dos itens da BP, para itens normais, use "count" 1, para dar mais itens use "count2" e coloce quantos itens serão dados. itemid2 - ID da BP (como uma bag: 1987, ESSE ITEM DEVE SER UM CONTAINER E DEVE SER USÁVEL!!!) count2 - Número de itens dentro do container, se você usar "bag" (id 1987) como container você pode por 1-8 items, se backpack 1-20, não coloque mais doque cabe no container! offer_type = "container" offer_description - Descrição da oferta, como: "Buy 8 Golden Armors in bag and become rich player! Fight stonger mosters and lose less HP or sell it for much cash!" offer_name - Nome da oferta, como: "8x Golden Armor" este tutorial foi do :KutyKutyx3 - ###### bom ate aew resolvemos o problema dos itens irem pro players, mas o gesior vem pra vender premy em vez de vip e n achando nenhum meio de fazer alguma coisa a respeito fui fazendo testes ate chegar ao ponto entao vejam a soluçao deste fator. mantive o shopadmin do gesior e substituir o shopsystem que peguei de outro forum segue link abaixo http://www.multiupload.com/AOA619X65R , observaçao e a seguinte extraia e pegue so o shopsystem e cole na sua pasta htdocs n substitua o shopadmin este item foi criado por gpedro do ######. ainda n terminou xD [TFS 0.3/0.4] O melhor sistema VIP sempre! [Action/Movevent/Globalevent] Acção [Movevent /] Globalevent Olá. Primeiro de tudo Se você estiver indo para publicá-la em outro lugar, eu não quero que você tome os créditos porque sua mina de 100%. Primeiro de Tudo Se VOCÊ estiver indo parágrafo publica-la em Outro Lugar, eu Não Quero Que VOCÊ tome OS Créditos PORQUE SUA mina de 100%. Bem, eu vou explicar o sistema .. Bem, Vou Explicar eu o Sistema .. A maior parte do sistema vip usar um globalevent para remover um dia vip a cada 24 horas, mas, e se o serv uptime têm 23 horas e acidente? A Maior parte do Sistema vip USAR UM globalevent n removedor vip dia UM A cada 24 horas, mas, e se o uptime dez serv 23 horas e acidente? O dia não poderia ser removido, então eu consertei, agora o dia vip será removido em uma hora específica, se você configurá-lo para duas horas, o dia vip serão removidos em duas horas por isso, se o acidente serv para ele como 3 minutos ainda irá remover os dias VIP 02:00 .. O dia Não Poderia Ser removido, elemento Fixo assim Que eu, agora o dia vip Será removido Hora Específica em uma, SE VOCÊ configura-lo n. Duas horas, o dia vip Serao em removidos Duas horas Por isso, se o acidente Para ele serv Como três minutos Ainda vip ira Retirar o dia não 02:00 .. Também funciona para todas as contas a apenas como uma conta premium. Também funciona Para todas as Contas Apenas como um Uma Conta premium. Testado em TheForgottenServer 0.3.6 / 0.4 TheForgottenServer Testado em 0.3.6 / 0.4 Este sistema VIP contém: Este Contém Sistema VIP: * Suas funções proprias Funções Lua Lua * Removedor automático dia. Removedor Automático dia. * Telha VIP. Telha VIP. * OnLogin script para verificar vip. script OnLogin vip verificar parág. * Medalha de VIP. Medalha de VIP. * Remover Comando Dias Vip. Vip comando remover Dias. * Add Command Dias Vip. Adicionar Commando Vip Dias. Okey bem aqui vai. Vá para o seu phpmyadmin eo execute: ALTER TABLE `accounts` ADD `vipdays` int(11) NOT NULL DEFAULT 0; Agora, vá para dados / lib / function.lua e adicione estas linhas no topo. Depois de feito isso, adicione essa linha de dados / creaturescript / login.lua registerCreatureEvent(cid, "VipCheck") agora, em dados creaturescript / scripts crie um novo arquivo e nomeá-la vipcheck.lua dados / creaturescript / creaturescript.xml <event type="login" name="VipCheck" event="script" value="vipcheck.lua"/> Agora, vá para a data / globalevents / scripts /, crie um novo arquivo e nomeá-la daysremover.lua dados / globalevents / globanevents.xml <globalevent name="VipDaysRemover" time="00:01" event="script" value="daysremover.lua"/> You can change the time when the vip day is going to be removed in ( time="00:01" ). Você pode mudar o tempo quando o dia vip vai ser removido (hora = "00:01"). If you have more than or just 1 vip day, when you login you'll get a message: Se você tiver mais de um dia ou apenas vip, quando fizer o login, você receberá uma mensagem: Outros scrips VIP Tile : data/movements/scripts/ viptile.lua dados / movimentos / scripts / viptile.lua data/movements/movements.xml dados / movimentos / movements.xml <movevent type="StepIn" actionid="11223" event="script" value="viptile.lua"/> Em mapear editor, apenas conjunto de ações id 11223 para a telha que você quer ser telha VIP Medalha VIP dados / ações / scripts / vipmedal.lua data/actions/actions.xml dados / ações / actions.xml <action itemid="2112" event="script" value="vipmedal.lua"/> Não se esqueça de mudar o ID do item. Adicionar comando dias VIP data / talkactions / scripts / adddays.lua data / talkactions / scripts / talkactions.xml / <talkaction log="yes" words="/adddays" access="5" event="script" value="adddays.lua"/> Comando Remover dias VIP data/talkactions/scripts/ removedays.lua data / talkactions / scripts / removedays.lua data / talkactions / scripts / talkactions.xml / <talkaction log="yes" words="/removedays" access="5" event="script" value="removedays.lua"/> Porta VIP dados / ações / scripts / vipdoor.lua dados / ações / actions.xml <action actionid="2112" event="script" value="vipdoor.lua"/> apenas para jogadores VIP Efeito globalevents / scripts vipEffect.lua / data/globalevents/globalevents.xml dados / globalevents / globalevents.xml <globalevent name="vipEffect" interval="2" script="vipEffect.lua"/> Funções * getPlayerVipDays(cid) --- Use it to check how many vip days the player have. getPlayerVipDays (cid) --- Use-o para verificar quantos dias vip muitos, o jogador tem. * doAddVipDays(cid, days) --- Use it to add vip days to someone. doAddVipDays (cid, dias) --- Use-o para adicionar dias vip para alguém. * doRemoveVipDays(cid, days) --- Use it to remove vip days to someone. doRemoveVipDays (cid, dias) --- Use-a para remover vip dia para alguém. creditos deste ultimo foi do kekox da otland net. com isto a vip fucionou tranquilo resolvendo assim o problema de muitos que queriam deixar a premium pra todos free e ter players com vantagens pelo vip que agora e possivel pelo gesior xD! bom pessoal agora tudo prontinho da use no item o nome vip aparece compra pelo site se otrna vip e pelo comando /vip add 30 nick o status vip tb fico ok no site uso o client 8.54 e o gesior e jogo acima citados. meu site: http://blackout-pvp.servegame.com:8090/site atualizado...
    1 ponto
  48. Foquinhaa

    [Mapping] Mostre suas Idéias

    Outra Idéia Vindo da Otland novidade Créditos : Fetus. Créditos : Fetus Créditos : Xadrian Carros de Corida e 1 Lancha Créditos : Xadrian Fonte Congelada Créditos : Fetus Créditos : Macedoon Créditos : Kurd3n's Gostou ? Dê rep+ Outro Dia Trago Mais
    1 ponto
  49. qual base de pokemon vc usa? se for pda vai em data\lib\configuration procurar por pokecatches faz uma tabela assim ["Bulbasaur"] = {chance = 500, corpse = 5969}, com nome do pokemon a chance de capturar e corpo
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...