Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 06/06/16 em todas áreas
-
Exclusivo! PokeTibia DxP OpenSource praticamente completo com sistemas e funções nunca liberados. ATENÇÃO: Não dou suporte, apenas estou disponibilizando o server para quem quiser continua-lo ou pegar os sistemas. Se alguns grandes aqui do xtibia quiserem ajudar nos bugs fiquem a vontade, pois este server é praticamente completo, com funções e sistemas nas sources, acho que nunca liberados para o publico. Aconselho a trocarem o mapa ou criarem outro por que não testei o mesmo, e não sei se há bugs ou armadilhas. • Menu: ├ Informações; ├ Bugs; ├ Prints; ├ Download; └ Créditos. • Informações Basicas • • Duel System. • Nick System. • TV System. • Autoloot System. • Block Respaw System. • Mega Evolução Ssystem. • Auto Stacking System. • Player passa por dentro de outros Players(Não sei o nome deste sistema kk). • Ditto Memory System. • Player pode usar potions, revive, soltar poke andando sem parar. • Limite de efeitos aumentados nas sources até 380(Podendo aumentar muito mais) • Transparência. • Cliente criptografado(Acompanha OBD único para o cliente). • Sistemas básicos como fly, ride, surf, order etc. • Held System(Não tem todos, falta fazer alguns, ja tem o x-luck). • Fishing trocando o outfit automaticamente. • Icone System. • Varias Pokeballs novas. • Task System. • Guild System. E muito+, não testei o servidor todo. podem ter sistemas no server que eu esqueci de colocar aqui na lista. Conta ADM: 222/222 • Bugs • Irei postar os que eu sei, podem haver mais. • Pode soltar mais de 1 poke ao mesmo tempo. • Botão que abre os chats tipo help, trade etc, não esta funcionando. • Não da para criar conta nem char(Provavelmente o programador colocou nas sources como proteção, alguem com conhecimento em programação pode resolver). • Tem um código nas sources, segundo fontes, em game.cpp que caso alguém coloque o servidor online o programador do server pode derrubá-lo(Outra coisa para um programador rever). • Fly anda travando, no chão voa normal, somente nos andares acima acontece isso, deve ser alguma config. • Gym System não esta funcionando. Bem, são os que eu sei, tem que dar uma revisada geral. • Prints • • Mega Evolução • Ditto Memory. • TV System. • Auto Loot System. • Block Respaw System. • Irei colocar mais prints em breve(Estou com pouco tempo agora). • Downloads • • Server; >>Download<< >>Scan<< • Server Sources; >>Download<< >>Scan<< • Server Sources 2; >>Download<< >>Scan<< • Cliente: >>Download<< >>Scan<< • Cliente Sources; >>Download<< >>Scan<< • Object Builder; >>Download<< >>Scan<< • Site Java; >>Download<< >>Scan<< • Patch de correção V1 DXP By kttallan >>Download<< >>Scan<< Para instalar o patch V1 by Kttallan basta estrair o arquivo, copiar a pasta data que vem nele e colar na pasta principal do server DXP, clicando em SIM para subistituir todos os arquivos que forem pedidos. Créditos; Kttallan Atualização V2. Correção bug fly by Drakopoulos: >>Download<< >>Scan<< Extraia o arquivo na pasta do server e subistitua o que for pedido. Distro/Executavel sem o código de derrubar o server em game.cpp. >>Download<< >>Scan<< • Atualização V3 Completo• >>DxP Server V3<< >>Scan<< >>Source V3<< >>Scan<< >>Cliente V3<< >>Scan<< >>WebSite<< >>Scan<< Bugs corrigidos na V3: *Portraits não podem mais ser movidos. *Icones usados não podem mais ser movidos. *Poke não morre mais ao entrar em um teleport. *Source atualizada sem o código de derrubar o server. *Portas das houses corrigidas. *Cliente agora é normal, não precisa descompilar para usar o OBD.(Podem usar o OBD normal agora). *HeadButt corrigido.(falta adicionar os pokes na tabela specialabilities em configuration.lua da pasta lib). *Double team e shared Team corrigidos parcialmente.(ainda contem alguns bugs). *Adicionei algumas sprs do cp que faltavam, e subistitui algumas com transparencia.(Deixei o cp de saffron igual pxg como exemplo, esta sem teto kk). Alguns antivirus detectam virus, possiveis dlls não reconhecidas, baixem por sua conta em risco, não estou obrigando ninguem a baixar, estou trabalhando no server e nao tive problemas. Caso tenham problemas na descompactação dos arquivos utilizem o 7zip, compactador que utilizei. • Créditos • •CipSoft •Nintendo •TFS Team •Dark X Poke •PXG •Tom Lukz (Smix) •Allan Harlen (Kttallan/lordsorte) •Eduardo Meskita (FuuinFake) •Noninhouh •Tony Araujo •Taiger/Dudu •Drakopoulos •Justiceiro751 E a todos que tiveram alguma participação em sistemas, server, site, cliente etc. Se estiver faltando algo como créditos, má formatação etc, por favor me avisem, é meu primeiro post de server.6 pontos
-
mensagem default
Yan Liima e 3 outros reagiu a Yan Liima por um tópico no fórum
E para aparecer tudo de uma vez só ou cada minuto aparecer uma? Se for tudo de uma vez só aqui está... Em globalevents/scripts/ crie um arquivo .lua e cole isto dentro: function onThink(interval, lastExecution) -- Configurações local cor = 27 -- Defina a cor da mensagem (27 = azul) local mensagens = {"Auto Loot, sistema de pegar loots, para mais informações digite /autoloot add,itemname e ele pegará o loot automaticamente para você.\n Dodge System / Critical System; Para mais informações, digite !dodge / !critical\n Curta nossa pagina no facebook e fique por dentro dos sorteios, promoções e updates! https://www.facebook.com/baikideal\n House Info: Um comando de retirar as houses de players inativos(10 dias offline), basta estar em frente a porta da house e executar o comando !eject."} -- Defina as mensagens de propaganda -- Fim de Configurações doBroadcastMessage(mensagens[math.random(1,table.maxn(mensagens))], cor)return trueend Em globalevents.xml adicione isto: Se for TFS 0.4+ <globalevent name="informação" interval="300000" event="script" value="NOME_DO_ARQIVO.lua"/> Se for TFS 0.3.6- <globalevent name="informação" interval="300" event="script" value="NOME_DO_ARQIVO.lua"/>4 pontos -
[DxP] Exclusivo Poketibia OpenSource
cleiton171 e um outro reagiu a kttallan por um tópico no fórum
Eu iria postar o servidor devido a ele ter vazado, porém com já vazou e postou repensei. Não baixei os ultilarios aqui. Primeiro use o Object Builder Compilado para Normal, importe alguem item e salve, assim poderá usar o remeres by senhor. Para usar o Otcliente Normal para Compilado, mesmo procedimento importal um item qualquer e salva.2 pontos -
Piso teleportando
Yan Liima e um outro reagiu a Yan Liima por um tópico no fórum
Em movements/scripts/ crie um arquivo .lua e cole isto dentro: local teleport = { level = 1, posição = {x = 255, y = 255, z = 7} } function onStepIn(cid, item, position, fromPosition) if getPlayerLevel(cid) < teleport.level then doPlayerSendCancel(cid, 'Apenas jogadores level '.. teleport.level ..' podem passar aqui.') doTeleportThing(cid, fromPosition) else doTeleportThing(cid, teleport.posição) doPlayerSay(cid, "Welcome to monsters!", TALKTYPE_ORANGE_1) end return true end Em movements.xml adicione: <movevent type="StepIn" actionid="23647" event="script" value="NOME_DO_SCRIPT.lua"/> CONFIGURAÇÕES level = 1, -- AQUI VOCÊ CONFIGURA O LEVEL QUE PODERA SER TELEPORTADO posição = {x = 255, y = 255, z = 7} -- AQUI A POSIÇÃO PRA ONDE O PLAYER IRÁ SE TELEPORTAR No mapa editor adicione o actionID 23647 no piso.2 pontos -
Fala galera do Xtibia beleza? Alguns meses atrás tinha resolvido um tópico que o membro @julhinhuu tinha pedido Mana e Life por porcentagem para TFS 1.2 Como tem muita gente atrás desse code e não acha em nenhum lugar, resolvi adaptar para TFS 1.x e compartilhar com vocês! Estarei deixando também para as versões anteriores... TFS 1.X Em protocolgame.cpp procure por: msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH), std::numeric_limits<uint16_t>::max())); Troque por isto: if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) { msg.add<uint16_t>(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH)); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); } Depois procure por: msg.add<uint16_t>(std::min<int32_t>(player->getMana(), std::numeric_limits<uint16_t>::max())); msg.add<uint16_t>(std::min<int32_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA), std::numeric_limits<uint16_t>::max())); Troque por: if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0) { msg.add<uint16_t>(player->getMana() * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA)); msg.add<uint16_t>(100); } else { msg.add<uint16_t>(0); msg.add<uint16_t>(0); } Pronto depois é só compilar e ser feliz xD Testado em TFS 1.0/1.2 Para as versões anteriores aqui está: Agora inves de ser um número grande --> <-- Irá ser um número pequeno Não se preocupe, isso não altera o health nem a mana do jogador, apenas ficara mais fácil de saber se o player irá morrer sim ou não. Créditos: Yan Liima1 ponto
-
Tudo bem galera xtibiana? Resolvi trazer a vocês um sistema de nick que permite mudar o nome do monstro in-game. A função e simples de se usar e não tem nenhum tipo de limitação ela foi desenvolvida na versão 8.6 com a tfs 0.3.6. Lets go: Vá em monster.h e procure isto: typedef std::list<Creature*> CreatureList; class Monster : public Creature { private: Monster(MonsterType* _mType); public: #ifdef __ENABLE_SERVER_DIAGNOSTIC__ static uint32_t monsterCount; #endif virtual ~Monster(); E coloque este codigo em baixo: std::string nick,realname; Continue em monster.h e procure: static Monster* createMonster(const std::string& name); E coloque embaixo: static Monster* createMonsterNick(const std::string& name, std::string nick); Procure também: virtual const std::string& getName() const {return mType->name;} E substitua por isto: virtual const std::string& getName() const {return nick;} Depois vá em monster.cpp e procure: Monster* Monster::createMonster(const std::string& name) { MonsterType* mType = g_monsters.getMonsterType(name); if(!mType) return NULL; return createMonster(mType); } Substitua por: Monster* Monster::createMonster(const std::string& name) { MonsterType* mType = g_monsters.getMonsterType(name); if(!mType) return NULL; mType->name = name; return createMonster(mType); } Monster* Monster::createMonsterNick(const std::string& name, std::string nick) { MonsterType* mType = g_monsters.getMonsterType(name); if(!mType) return NULL; if (!(nick == "")) { mType->name = nick; } return createMonster(mType); } Continuando em monster.cpp procure: currentOutfit = mType->outfit; Adicionar embaixo: nick = mType->name; Vá em luascript.h e procure isto static int32_t luaDoCreateNpc(lua_State* L); Embaixo coloque: static int32_t luaDoCreateMonsterNick(lua_State* L); static int32_t luaGetCreatureNickRealName(lua_State* L); Em luascript.cpp procure: //doPlayerSetIdleTime(cid, amount) lua_register(m_luaState, "doPlayerSetIdleTime", LuaScriptInterface::luaDoPlayerSetIdleTime); Coloque embaixo: //doCreateMonster(monster, nick, pos) lua_register(m_luaState, "doCreateMonsterNick", LuaScriptInterface::luaDoCreateMonsterNick); Continue em luascript.cpp e procure isto: int32_t LuaScriptInterface::luaGetCreatureName(lua_State* L) { //getCreatureName(cid) ScriptEnviroment* env = getEnv(); if(Creature* creature = env->getCreatureByUID(popNumber(L))) lua_pushstring(L, creature->getName().c_str()); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } Coloque isto: int32_t LuaScriptInterface::luaGetCreatureNickRealName(lua_State* L) { //getCreatureNickRealName(cid) ScriptEnviroment* env = getEnv(); if(Monster* monster = env->getCreatureByUID(popNumber(L))->getMonster()) lua_pushstring(L, monster->realname.c_str()); else { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); } return 1; } int32_t LuaScriptInterface::luaDoCreateMonsterNick(lua_State* L) { //doCreateMonsterNick(monster, nick, pos) ScriptEnviroment* env = getEnv(); PositionEx pos; popPosition(L, pos); std::string nick = popString(L); const std::string name = popString(L).c_str(); Monster* monster = Monster::createMonsterNick(name, nick); if(!monster) { errorEx(getError(LUA_ERROR_CREATURE_NOT_FOUND)); lua_pushboolean(L, false); return 1; } if(!g_game.placeCreature(monster, pos)) { delete monster; errorEx("Cannot create monster: " + name); lua_pushboolean(L, false); return 1; } monster->realname = name; lua_pushnumber(L, env->addThing((Thing*)monster)); return 1; } -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Exemplo de uso: function onSay(cid, words, param, channel) local t = string.explode(param, ",") doCreateMonsterNick(t[1], t[2], getThingPos(cid)) return true end1 ponto
-
Eae galera do Xtibia hoje venho liberar à vocês a base "PokemonSelest, Ja vou avisar é PDA contem bugs. Porem nao sao dificil de resolver. Ja Deixa aquele REP Maroto (y) [informaçoes] -Pokémons da 1°a 2 Geraçao e algums megas [COMPLETA] :v -Shinys nao estao completos -Mega Evoluções -Servidor sem level nos Pokémons -Sprites atualizadas Maioria recebeu sprites novas -Algums items novos [ERROS/BUGS] Que eu lembre contém ums bugs facio de arrumar, so lembro de dois no momento -Revive esta bugado quando usa ele da erro na distro -Unique item aconcelho a retirar por crasha o serve por ser pda. - Apenas algums erros no mapa Ex: buraco que nao leva a lugar nenhum, maioria foi resolvido. [sISTEMAS BASICOS] No servido contém - go/back 100% - catch system 100% - nurse system 100% - boost system 100% - aura system 100% - Npc nick 100% E algums que nao me lembro [Ajustes] - Algumas hunts arrumadas - Algumas casa que nao estava funcionando arrumadas :v - Charizard valley arrumada - Add ride em algums pokes que nao tinha [Dowload-Scan] Servidor : http://www.mediafire.com/download/p6y97elqpoddwl2/PokeSelest.rar Scan : https://www.virustotal.com/pt/file/83fedb34b79a4bfd452075ab57221df95c768f1a0bbe73b13f37310a382e9c26/analysis/1465158271/ Client : http://www.mediafire.com/download/t4xq7ue541hs1c3/ClientPxS.rar Scan : https://www.virustotal.com/pt/file/9c95738af7024b058ce3c475812b0714a6cc36dddd74cd9998b3acdee16e0c92/analysis/1465157726/ Bom proveito Deixarei um print para ver o servidor. - Creditos - Slicer [pelo servidor]Brun123 [por alguns scripts, e por criar o pda]Stylo Maldoso [Pelo Mapa ]Bolz [Por edita boa parte da base]Xtibia [Por algums scripts entre outras coisas]Zipter98 [Pelo system mega evoluçao PXG]Eu (Marcos Speker's) [ Por add megas no client, add hunts nova, e tbm algums system, talkactions]1 ponto
-
A questão de eu ter postado o server não impede você de contribuir com a comunidade não achas? Obrigado pelas dicas que esta dando para a rapaziada aqui no post.1 ponto
-
[DxP] Exclusivo Poketibia OpenSource
Justiceiro751 reagiu a boxxer321 por um tópico no fórum
É isso que não sabemos. E acho q vai demorar até alguem do fórum vir ajudar sobre isso... Atualmente esse povo só está pensando em si próprio.1 ponto -
Uma breve informação. 1º Remeres Map Editor. R: O Smix me passou uma versão editada por ele pode tentar abrir com o remeres by senhor. 2º Bug quando abre pelo remeres, R: O dat e spr tem que passar pelo object builder do Smix do compilado para o normal no caso de vocês estão compilado. 3º Não remove mega stone. R: O ADM quando usa mega stone, ou catch dá em 100% devido a função "is god"1 ponto
-
[DxP] Exclusivo Poketibia OpenSource
Drk Shadow reagiu a Noninhouh por um tópico no fórum
sdds eu nos creditos pelo client1 ponto -
@Loouis, eu esqueci de adicionar o comando pra dar o item ao player kkkkk. O script na seguitne forma é pra estar funcionando corretamente: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local devotedTokenId = 1515 --id do devoted token local qntdDT = 20 --quantidade de devoted tokens local boxId = 1414 --id do item que o player receberá function greetCallback(cid) npcHandler:say('Olá treinador, eu troco Devoted Tokens por uma box onde poderá vir um held aleatorio do tier 1 à 2, mais para isso preciso de 20 devoted tokens, você tem os 20 devoted tokens?', cid) npcHandler:addFocus(cid) return true end function creatureSayCallback(cid, type, msg) if (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) then if getPlayerItemCount(cid, devotedTokenId) >= qntdDT then doPlayerAddItem(cid, boxId, 1) doPlayerRemoveItem(cid, devotedTokenId, qntdDT) npcHandler:say('Aqui está. Agora vá, continue sua jornada.', cid) npcHandler:releaseFocus(cid) else npcHandler:say('Opa, parece que você não tem o necessário para esta troca. Volte quando tiver.', cid) npcHandler:releaseFocus(cid) end end return true end npcHandler:setCallback(CALLBACK_GREET, greetCallback) npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Se não funcionar, veja se aparece algum erro na distro. E mande.1 ponto
-
Boa, espero que contribua para a comunidade1 ponto
-
[DxP] Exclusivo Poketibia OpenSource
Administrador reagiu a Taiger por um tópico no fórum
Estou atualizando os scans, fiz direto do link dos downloads, estou fazendo direto dos arquivos, provavelmente sao dlls nao reconhecidas, pq a maioria dos antivirus nao detectaram nada, terminando os scans aqui ja atualizo o tópico. Kttallan obrigado. Tomara que a galera ajude a corrigir os bugs pois os criadores fizeram um belo trabalho.1 ponto -
[DxP] Exclusivo Poketibia OpenSource
Drk Shadow reagiu a Fuuin Fake por um tópico no fórum
Parabéns por Disponibilizar o Servidor, Vamos ver se agora a "Era Dos Otadmin se acaba", Belo projeto pra quem quer sair do pda. Leve minha contribuição.1 ponto -
Então faz o seguinte, testa esse que irei mandar agora e vê o resultado... Em creaturescript crie um arquivo chamado playereffect.lua e cole isto dentro Em creaturescript.xml adicione: <event type="login" name="PlayerEffect" event="script" value="playereffect.lua"/> em seu globalevents.xml remove esta linha: <globalevent name="magic-effect" interval="1000" event="script" value="playereffect.lua"/> Já deixei configurado os efeitos para você. Mesmo assim faça o teste que disse a você use o /z 0, /z 1, /z 41 e veja até onde vai...1 ponto
-
EDIT NPC
carlinhoo0ww reagiu a Danihcv por uma questão
@carlinhoo0ww, vê se resolve teu problema: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end -- Config -- local configs = { items = { [8262] = {count = 1}, [8263] = {count = 1}, [8264] = {count = 1}, [8265] = {count = 1}, } SecondItemId = 8266, SecondItemCount = 1, isQuest = "false", questStorage = 17890, msgMeet = 'Você deseja trocar '..items[8262].count ..' '..getItemName(8262)..', '..items[8263].count ..' '..getItemName(8263)..', '..items[8264].count ..' '..getItemName(8264)..', '..items[8265].count ..' '..getItemName(8265)..' por '..SecondItemCount..' '..getItemName(SecondItemId)..'?', msgQuestCompleted = "Você já fez essa quest.", msgQuestNotItem = "Voce não tem os itens necessarios.", } function npcTroca(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end c = 0 for k, v in pairs(configs.items) do if getItemCount(cid, configs.items[k]) >= configs.items[k].count then c=c+1 end end if (configs.isQuest == "true") then if (getPlayerStorageValue(configs.questStorage) <= 0) then if c == #configs.items then for k, v in pairs(configs.items) do doRemoveItem(configs.items[k], configs.items[k].count) doPlayerAddItem(cid, configs.SecondItemId, configs.SecondItemCount) end else return doPlayerSendTextMessage(cid, 27, configs.msgQuestNotItem) end else return doPlayerSendTextMessage(cid, 27, configs.msgQuestCompleted) end else if c == #configs.items then for k, v in pairs(configs.items) do doRemoveItem(configs.items[k], configs.items[k].count) doPlayerAddItem(cid, configs.SecondItemId, configs.SecondItemCount) end else return doPlayerSendTextMessage(cid, 27, configs.msgQuestNotItem) end end end itemTrade = keywordHandler:addKeyword({'offer'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = configs.msgMeet}) itemTrade:addChildKeyword({'yes'}, npcTroca, {}) itemTrade:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then.', reset = true}) npcHandler:addModule(FocusModule:new())nd1 ponto -
Olá, xTibianos. Hoje venho lhes trazer algo simples mas bem prático: os tipos de mensagens que podem ser mandadas aos players (por meio de scripts, óbvio). Esses tipos de mensagens são os usados nas versões 0.3/0.4 do The Forgotten Server (TFS para os íntimos). Segue a lista dos tipos de mensagens: MESSAGE_STATUS_CONSOLE_BLUE = 4 MESSAGE_STATUS_CONSOLE_RED = 12 MESSAGE_STATUS_DEFAULT = 16 MESSAGE_STATUS_WARNING = 17 MESSAGE_EVENT_ADVANCE = 18 MESSAGE_STATUS_SMALL = 19 MESSAGE_INFO_DESCR = 20 MESSAGE_DAMAGE_DEALT = 21 MESSAGE_DAMAGE_RECEIVED = 22 MESSAGE_HEALED = 23 MESSAGE_EXPERIENCE = 24 MESSAGE_DAMAGE_OTHERS = 25 MESSAGE_HEALED_OTHERS = 26 MESSAGE_EXPERIENCE_OTHERS = 27 MESSAGE_EVENT_DEFAULT = 28 MESSAGE_LOOT = 29 MESSAGE_TRADE_NPC = 30 MESSAGE_EVENT_GUILD = 31 MESSAGE_PARTY_MANAGEMENT = 32 MESSAGE_PARTY = 33 MESSAGE_EVENT_ORANGE = 34 MESSAGE_STATUS_CONSOLE_ORANGE = 35 MESSAGE_REPORT = 36 MESSAGE_HOTKEY_USE = 37 lembrando que no script pode ser usado tanto a "parte escrita" quanto o numero correspondente! Agora segue uma sequencia de prints da execução de cada tipo de mensagem in-game: as divisórias "//" indicam que todas os tipos de mensagens presentes antes/depois delas surtem os mesmos efeitos (representados nas prints) MESSAGE_STATUS_CONSOLE_BLUE MESSAGE_STATUS_CONSOLE_RED MESSAGE_STATUS_DEFAULT // MESSAGE_EVENT_DEFAULT MESSAGE_STATUS_WARNING MESSAGE_EVENT_ADVANCE // MESSAGE_REPORT MESSAGE_STATUS_SMALL MESSAGE_INFO_DESCR // MESSAGE_LOOT // MESSAGE_TRADE_NPC // MESSAGE_EVENT_GUILD // MESSAGE_PARTY_MANAGEMENT // MESSAGE_PARTY // MESSAGE_HOTKEY_USE MESSAGE_DAMAGE_DEALT // MESSAGE_DAMAGE_RECEIVED // MESSAGE_HEALED // MESSAGE_EXPERIENCE // MESSAGE_DAMAGE_OTHERS // MESSAGE_HEALED_OTHERS // MESSAGE_EXPERIENCE_OTHERS MESSAGE_EVENT_ORANGE // MESSAGE_STATUS_CONSOLE_ORANGE Por hoje é isso, galera. Espero que tenha sido útil. ^^ Créditos: @Danihcv1 ponto
-
[Linux] Auto-Backup Database
Hamsterbob reagiu a Natanael Beckman por um tópico no fórum
Galera esse script é um auto backup da sua database, quem gosta de prevenir vamos ao tutorial. Backup.sh Criei uma pasta em qualquer local no linux, no meu caso eu fiz uma pasta com o nome database que está localizada na pasta home. home/database/backup.sh Certo vamos configura o arquivo, dentro dele já vem tudo explicado mais vou dar um reforço, dentro do arquivo backup.sh contém: #!/bin/bash CAMINHO="/home/database/" <--- local onde vai ficar salvo os backups NOMEBACKUP="server-backup" <--- nome do backup USER="root" <--- não mexe SENHA="nitendo64" <--- senha da database BANCO="casa_blanca" <--- nome da database #Nao mexer daqui pra baixo TEMPO="$(date +'%d-%m-%Y-%H-%M')" ##### #Rodando o backup ##### if [[ -z "$USER" || -z "$SENHA" || -z "$BANCO" ]]; then echo "Por favor preencha o usuário, senha e banco de dados nas configurações." else mysqldump -u$USER -p$SENHA $BANCO > $CAMINHO"/"$NOMEBACKUP"-"$TEMPO".sql" fi Certo configurado né, vamos fazer um teste: Acessa a pasta: cd /home/database Da permissão pros arquivos dentro dela, no caso o backup.sh: chmod 777 -R * Roda o script pra um teste: ./backup.sh Veja na imagem do meu teste, já aparece ali a database, então ta ok deu certo as configurações: Tudo bem, agora vamos configura pra ficar automático, pra todos os dias o script executar o backup em um certo horário: crontab -e Se aparecer algo tipo seleciona alguma opção, selecione Nano, que provavelmente seja numero 2... ------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------ Se não aparecer vai direto pra isso: Digite isso dentro do nano, como você ver na imagem acima já tem adicionado: 0 6,21 * * * sh /home/database/backup.sh ctrl+x y da ENTER No meu caso botei pro script ser executado as 06:00hrs e 21:00hrs, então todo os dias nesse horário o script vai fazer o backup pra essa pasta que configurei, caso queria mudar o horário a logica do comado é clara né. Caso queria deixar de minutos em minutos abaixo observe um exemplo de 5 em 5 minutos: */5 * * * * sh /home/database/backup.sh Caso queria deixar de horas em horas abaixo observe um exemplo de 1 em 1 hora: 0 */1 * * * sh /home/database/backup.sh Qualquer duvida postem, clica em GOSTEI, valeu. Créditos total: Joffily Ferreira1 ponto