Histórico de Curtidas
-
noobdemoreno deu reputação a Thayam em [OLD/OTC] Criando link de Download Direto para seu cliente!Fala Nação TK, tudo beleza com vocês?
Eu sou o Thayam, muito pouco conhecido (até porque sou muito novo no fórum), sou OT ADMIN e atualmente trabalho em um projeto de PokeTibia que divulgarei em breve. MAS O QUE ISSO TEM A VER? - Absolutamente nada, é apenas uma apresentação pessoal para aqueles que não me conhecem, enfim, recebi ajuda de muitos usuários nesse fórum e isso me motivou a tentar ajudar aqueles que também estão começando.
Esse tutorial é bem simples, porém eu procurei nesse fórum e não achei nada relacionado, então achei interessante cria-lo para explicar como criar um link de Download Direto para seu client usando o DropBox!
ATENÇÃO: Nesse tutorial não ensinarei a compilar o cliente, somente a disponibilizá-lo para download em um link livre de download hosters.
Ok, vamos lá:
1° Passo: Entendendo o que é um Link Direto
Sabe quando você acessa um site para baixar aquele cliente de servidor que você tanto quer, e ao clicar em download (normalmente está escrito Clique Aqui fazendo com que você realmente ache que ao clicar ali você já irá fazer o download do arquivo) o site te redireciona para algum download hoster dentro dos bilhares existentes - porém nem todos confiáveis - e você precisa se registrar, ou esperar 20 segundos, ou acertar aquele códigozinho ilegível chamado captcha? Então, ao criar um link direto para seu cliente, quando o usuário acessá-lo, ele irá fazer o download do seu cliente automáticamente, sem espera, nem desenhos, nem códigos (eu realmente odeio aqueles códigos)
2° Passo: Criar uma conta no DropBox
Acesse o site do DropBox clicando aqui: https://www.dropbox.com/
3° Passo: Crie sua conta no DropBox
Clique em Registrar-se e preencha o formulário com os seus dados (Nome, Sobrenome, E-mail, Senha) em seguide aceite os termos e clique em Registrar-se e o site irá fazer o download automáticamente do programa (ATENÇÃO: NÃO É NECESSÁRIO O DOWNLOAD DO PROGRAMA, SOMENTE CASO VOCÊ QUEIRA O TER EM SEU PC)
4° Passo: Após o download (ou não) clicar no ícone do DropBox
Após ter feito o download (ou não) do cliente do dropbox clique no ícone do site no canto superior esquerdo da tela.
5° Passo: Clicar no ícone Enviar
Clicar no ícone Enviar, e em seguida clicar em Selecionar Arquivos.
6° Passo: Selecionar o arquivo em seu Computador
Selecione o arquivo que você quer que os usuários baixem e clique em Abrir (No meu está Open porque meu Windows esta em Inglês) e em seguida clique em Pronto.
OBS: O Arquivo que será upado não precisa necessariamente ser um arquivo zipado (.rar, .zip, .7zip etc).
7° Passo: Clique sobre o arquivo upado e copie seu link de download
Clique sobre o nome do arquivo que você acabou de upar e em seguida clique com o botão direito do mouse e selecione a opção Copiar Link.
8° e último passo: Cole esse link copiado no arquivo do seu site e pronto
Cole o link que você copiou no arquivo de download do seu site e pronto.
RECOMENDAÇÃO: Cole o link que você copiou no seu navegador como feito na imagem do passo 8 para testar se tudo ocorreu bem
E assim chegamos ao fim deste tutorial, como eu disse antes, é muito simples, mas acredito que muitos não sabiam e podem sim absorver algo de positivo deste conteúdo!
É Isso galera, gostaram? se sim, comente ai em baixo, e caso não gostaram, comentem também, todas as críticas construtivas são bem vindas!
Até a proxima!
Créditos:
~~Thayam
-
noobdemoreno deu reputação a Hona em Criando instalador para ClientCriando instalador para Client
Download:
baixaki,mediafire,4shared
Abra o aplicativo [ Install Creator ].
Depois você vera uma tela em cima do aplicativo.
Click em avançar.
Agora escolha os arquivos lembrando elis devem estar em uma pasta.
(o programa ira copiar tudo que estiver dentro da pasta)
Depois de escolher os arquivos.
Escolha o idioma de sua preferencia.
Escolha o nome do programa.
Depois click em avançar.
Agora vc escolhe se seu instalador sera full (tela cheia)ou small (pequeno).
Depois click em avançar.
Olhe a imagem abaixo e façam o ki estar nela.
Depois de configurar click em avançar.
Agora coloque tudo sobre o aplicativo que vc quer criar.
Depois click em avançar.
Agora coloque a descrição da sua licença.
Depois click em avançar.
Agora escolha o local a onde o seu jogo sera salvo depois de instalado no pc do jogador.
Depois click em avançar.
Agora vamos criar um atalho para seu arquivo.
Procure seu arquivo .exe na pasta.
Agora coloque o nome do seu atalho.
Depois marque a caixa que diz: Add desktop shortcut
Agora click em avançar.
Aki deixe em branco.
Agora click em avançar
Agora selecione se quer ou não uninstaller.
Depois click em avançar.
Agora marque a caixa que diz do not build the install program
Agora clique em concluir.
Agora click em Build.
Agora escolha onde vai salvar o instalador.
Depois inicie o teste se ficou como vc queria.
Creditos: Adriano C
-
noobdemoreno deu reputação a luanluciano93 em Client MC (Todas versões e Client Próprio)Olá pessoal, esse tutorial é funcional para todas as versões, tanto pra jogadores, como para donos de servers que queiram disponibilizar um client do tibia ou próprio como MC ...
• Primeiramente baixe o Hex Editor [xvi32] (está anexado a este tópico).
• Após isso abra o Hex Editor, aperte CTRL+O, depois selecione o executável do seu servidor ...
• Depois que abrir aperte CTRL+G e selecione a opção HEXADECIMAL, e na opção hexacimal coloque o código referente a versão do seu tibia (vou colocar a lista abaixo).
• Agora substitua o valor de 75 por EB.
• Aperte CTRL+S (para salvar), feche o programa e prontinho, já tem sua MC
LISTA DE NÚMEROS HEXADECIMAIS POR VERSÃO:
Créditos: MartyX
É isso pessoal, espero que ajude.
xvi32.rar
-
noobdemoreno deu reputação a Kuchiki Kenpachi em Criando Client Proprio Sem Vapus (Completo)Fala galera, o Vapus era Perfeito para criar Client's proprios mas depois que ele fechou e re-abriu ficou uma merda, os clients criados no vapus não funcionam, então fica a pergunta de como criar um client proprio sem usar o Vapus! Então vamos lá.
Pode usar o client que já vem no server mesmo.
*Material:
1º Parte: Mudando o IP do client.
2º Parte: Compilando .dat, .spr e .pic:
3º Parte: Mudar o Icone do Client.
Qualquer duvida, erros ou coisa do tipo posta ae. Proximo tutorial vou mostrar como fazer um Launcher e Instalador. Se gostaram por favor REP+ o pessoal daqui ta com uma Pessima mania de ver um Tutorial ou script, gostar e não dar rep+ e isso é sacanagem neh. Bom vlws ae e aguardem o proximo Tutorial !
-
noobdemoreno deu reputação a luanluciano93 em [Duvida] Save serverAs vezes usar a barra de pesquisas é mais simples do que criar um tópico ...
• OT RESTARTER PRO
• OTServ Restarter
• Dezon OT Admin
Espero ter ajudado.
-
noobdemoreno deu reputação a kk4444 em Reward Chest & Boss Reward [TFS 1.2]Se eu não poder fazer isso por favor me avisem aqui no tópico que eu retiro. Créditos SOMENTE do: cbrm (OTLand) Tópico Oficial:https://otland.net/threads/reward-chest-boss-reward-tfs-1-2.233397/ Tested on TFS 1.2, 10.77/78
Based on http://www.tibia.com/news/?subtopic=newsarchive&id=2486 Oque tem?
To-do
Changelog
Comentários
Agradecimentos especiais para
Instruções de instalação
Execute a query na database
CREATE TABLE IF NOT EXISTS `player_rewardchest` ( `id` int(11) NOT NULL AUTO_INCREMENT, `player_id` int(11) NOT NULL, `reward` text NOT NULL, `date` bigint(20) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`), FOREIGN KEY (`player_id`) REFERENCES `players` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB; src/const.h
Abaixo...
ITEM_MARKET = 14405 ...Adicione:
ITEM_REWARD_CHEST = 21584, REWARD_CHEST_DEPOT = 99, src/depotchest.h
Abaixo...
explicit DepotChest(uint16_t _type);
...Adicione:
uint32_t getDepotId() const { return depotId; } void setDepotId(uint32_t id) { depotId = id; }
Abaixo...
uint32_t maxDepotItems; ...Adicione:
uint32_t depotId; src/depotchest.cpp
Abaixo...
maxDepotItems = 1500; ...Adicione:
depotId = 0; Acima...
return Container::queryAdd(index, thing, count, flags, actor); ...Adicione:
if (actor != nullptr && getDepotId() == REWARD_CHEST_DEPOT) { return RETURNVALUE_NOTPOSSIBLE; } src/depotlocker.h
Acima...
//cylinder implementations ...Adicione:
void setMaxLockerItems(uint32_t maxitems) { maxSize = maxitems; } src/luascript.h
Acima...
static int luaContainerGetSize(lua_State* L); ...Adicione:
static int luaContainerGetContentDescription(lua_State* L); src/luascript.cpp
Acima...
registerMethod("Container", "getSize", LuaScriptInterface::luaContainerGetSize); ...Adicione:
registerMethod("Container", "getContentDescription", LuaScriptInterface::luaContainerGetContentDescription); Acima...
int LuaScriptInterface::luaContainerGetSize(lua_State* L) ...Adicione:
int LuaScriptInterface::luaContainerGetContentDescription(lua_State* L) { // container:getContentDescription() Container* container = getUserdata<Container>(L, 1); if (container) { std::ostringstream ss; ss << container->getContentDescription(); pushString(L, ss.str()); } else { lua_pushnil(L); } return 1; } src/actions.cpp
Troque:
//depot container if (DepotLocker* depot = container->getDepotLocker()) { DepotLocker* myDepotLocker = player->getDepotLocker(depot->getDepotId()); myDepotLocker->setParent(depot->getParent()->getTile()); openContainer = myDepotLocker; player->setLastDepotId(depot->getDepotId()); } else { openContainer = container; } Por:
//reward chest and depot container if (item->getID() == ITEM_REWARD_CHEST) { DepotLocker* myRewardChest = player->getRewardChest(); myRewardChest->setParent(item->getTile()); openContainer = myRewardChest; player->setLastDepotId(REWARD_CHEST_DEPOT); } else if (DepotLocker* depot = container->getDepotLocker()) { DepotLocker* myDepotLocker = player->getDepotLocker(depot->getDepotId()); myDepotLocker->setParent(depot->getParent()->getTile()); openContainer = myDepotLocker; player->setLastDepotId(depot->getDepotId()); } else { openContainer = container; } src/player.h
Abaixo...
DepotLocker* getDepotLocker(uint32_t depotId); ...Adicione:
DepotLocker* getRewardChest(); src/player.cpp
Abaixo...
DepotChest* depotChest = new DepotChest(ITEM_DEPOT); ...Adicione:
depotChest->setDepotId(depotId); Acima...
void Player::sendCancelMessage(ReturnValue message) const ...Adicione:
DepotLocker* Player::getRewardChest() { auto it = depotLockerMap.find(REWARD_CHEST_DEPOT); if (it != depotLockerMap.end()) { inbox->setParent(it->second); return it->second; } DepotLocker* rewardChest = new DepotLocker(ITEM_LOCKER1); rewardChest->setDepotId(REWARD_CHEST_DEPOT); rewardChest->setMaxLockerItems(1); rewardChest->internalAddThing(getDepotChest(REWARD_CHEST_DEPOT, true)); depotLockerMap[REWARD_CHEST_DEPOT] = rewardChest; return rewardChest; } On player.cpp, container.cpp, inbox.cpp
Change:
if (!item->isPickupable()) { Por:
if (item->getID() != 21518 && !item->isPickupable()) { Adicione em @ data/actions/actions.xml
<!-- Reward Chest System --> <action itemid="21584" script="reward_chest.lua"/> <action actionid="21584" script="reward_chest.lua"/> Crie @ data/actions/scripts/reward_chest.lua
function onUse(player, item, fromPosition, target, toPosition, isHotkey) --Reward Chest if item:getId() == 21584 then if player:getExhaustion(REWARD_CHEST.STORAGE) > 0 then return player:sendCancelMessage('You need to wait ' .. string.diff(player:getStorageValue(REWARD_CHEST.STORAGE)-os.time()) .. ' before using this chest again.') end player:updateRewardChest() --Boss Corpse elseif item:getActionId() == 21584 then local reward = REWARD_CHEST.LOOT[tonumber(item:getAttribute('text'))][player:getGuid()] if reward ~= nil then local rewardBag = Container(doCreateItemEx(REWARD_CHEST.CONTAINER, 1)) addContainerItems(rewardBag, reward) if player:getCapacity() < rewardBag:getCapacity() then return player:sendCancelMessage(RETURNVALUE_NOTENOUGHCAPACITY) end if player:addItemEx(rewardBag, false) == RETURNVALUE_NOERROR then REWARD_CHEST.LOOT[tonumber(item:getAttribute('text'))][player:getGuid()] = nil player:sendCancelMessage('You have picked up a reward container.') else player:sendCancelMessage(RETURNVALUE_NOTENOUGHROOM) return true end end end return false end Adicione @ data/creaturescripts/creaturescripts.xml
<event type="kill" name="RewardChest" script="reward_chest.lua"/> Registre em @data/creaturescripts/scripts/login.lua
player:registerEvent("RewardChest") Adicione @ data/items/items.xml
<item id="21518" article="a" name="reward container"> <attribute key="weight" value="1800" /> <attribute key="containersize" value="24" /> <attribute key="slotType" value="backpack" /> </item> <item id="21584" article="a" name="reward chest"> <attribute key="type" value="depot" /> <attribute key="containerSize" value="1" /> <attribute key="description" value="This chest contains your rewards earned in battles." /> </item> Add @ data/lib/core/player.lua
function Player.setExhaustion(self, value, time) return self:setStorageValue(value, time + os.time()) end function Player.getExhaustion(self, value) local storage = self:getStorageValue(value) if storage <= 0 then return 0 end return storage - os.time() end Crie em @ data/creaturescripts/scripts/reward_chest.lua
(download anexado nesse post)
Download
RELEMBRANDO CRÉDITOS APENAS DO CBRM DA OTLAND
-
noobdemoreno recebeu reputação de SlachRush em Por onde devo começar editando meu server?Tudo depende de qual forma você pretende montar seu servidor. sua duvida está totalmente vaga, pois se você for abrir um servidor global , nescessita de mais cuidado com o mapa remover os bugs, acompanhar atualizações globais , dentre outras coisas, mais cuidado para não editar o mapa e virar um baiak , pois esse é outro ramo que pode ser seguido, um servidor mais descontraído e livre, ou você pode criar seu próprio mapa com suas vocações, itens etc.
Varia muito de pessoa para pessoa, você precisa traçar um linha de raciocínio e segui-la.
Para te ajuda da uma olhada nesse tópico .
http://www.tibiaking.com/forum/topic/18048-tutorial-tudo-sobre-otserver/
Se te ajudei + REP
Obrigado.