Líderes
-
Tibia2015br
MembroPontos258Total de itens -
-
-
luanluciano93
HéroiPontos5981Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 07/27/15 em todas áreas
-
[TFS 1.2] Monster onSelectTarget(self, target)
[TFS 1.2] Monster onSelectTarget(self, target)
gtms e um outro reagiu a MarceLoko por uma resposta no tópico
2 pontosBoa noite! Este código torna possível incluir algum script quando o monstro escolhe um alvo. Testado em TFS 1.2 monster.cpp ache: bool Monster::selectTarget(Creature* creature) substitua: bool Monster::selectTarget(Creature* creature) { if (!isTarget(creature)) { return false; } auto it = std::find(targetList.begin(), targetList.end(), creature); if (it == targetList.end()) { //Target not found in our target list. return false; } if (isHostile() || isSummon()) { if (executeOnSelectTarget(creature) == 1){ if (setAttackedCreature(creature) && !isSummon()) { g_dispatcher.addTask(createTask(std::bind(&Game::checkCreatureAttack, &g_game, getID()))); } } else return false; } return setFollowCreature(creature); } bool Monster::executeOnSelectTarget(Creature* creature){ // onSelectTarget(self, target) if (mType->targetEvent != -1) { LuaScriptInterface* scriptInterface = mType->scriptInterface; if (!scriptInterface->reserveScriptEnv()) { std::cout << "[Error - Monster::onSelectTarget] Call stack overflow" << std::endl; return true; } ScriptEnvironment* env = scriptInterface->getScriptEnv(); env->setScriptId(mType->targetEvent, scriptInterface); lua_State* L = scriptInterface->getLuaState(); scriptInterface->pushFunction(mType->targetEvent); LuaScriptInterface::pushUserdata<Monster>(L, this); LuaScriptInterface::setMetatable(L, -1, "Monster"); LuaScriptInterface::pushUserdata(L, creature); LuaScriptInterface::setCreatureMetatable(L, -1, creature); return (scriptInterface->callFunction(2)); } return true; } monster.hache: bool selectTarget(Creature* creature); inclua: bool executeOnSelectTarget(Creature* creature); monsters.cpp: ache: scriptInterface = nullptr; creatureAppearEvent = -1; creatureDisappearEvent = -1; creatureMoveEvent = -1; creatureSayEvent = -1; thinkEvent = -1; inclua:targetEvent = -1; ache: mType->thinkEvent = scriptInterface->getEvent("onThink"); inclua: mType->targetEvent = scriptInterface->getEvent("onSelectTarget"); Em breve: Player onSelectTarget2 pontos -
[Pedido] Indra - Narutibia 8.54
[Pedido] Indra - Narutibia 8.54
Kiryuu Zero e um outro reagiu a Rikudou por uma resposta no tópico
2 pontostenho umas aki2 pontos -
GesiorACC 2019 8.60 UPDATE 29/06/2019
GesiorACC 2019 8.60 UPDATE 29/06/2019
wiz444 reagiu a Natanael Beckman por uma resposta no tópico
1 pontoAtualização de 29/06/2019. Olá meus amigos, essa é a minha última contribuição free que faço na área de OTserver, fiz uma atualização bem completa do Gesior comparando com os que existem disponíveis, não vou falar muito pois grande parte já conhecem... Vou apenas posta algumas imagem das mudanças feitas. Sempre gostei de evoluir e de oferecer aos demais uma facilidade de obter um material grátis e de qualidade, nunca utilizei meu pouco conhecimento para prejudicar os demais, pelo o contrario sempre foi na intenção de ajudar e se em algum momento falhei, falhei inconscientemente. - Foi mudado algumas imagens de layout para renovar a estrutura. - Server Info + Most Power Ful Guilds na mesma estrura. - Create Account exigindo senhas com letras minusculas, maiúsculas e números, fortalecendo a segurança do seu cliente e dificultando futuras dores de cabeças. - Adicionado o mecanismo que identifica os valores de Premuim Points e Backup Points. - Algumas mudanças de layout. - Nome do player abaixo linkado. - Adicionado um Box de doação, com a intenção apenas de complementar o layout enriquecendo a pagina. - Fixado o bug edit town, e melhorado o layout. - Characters.php refeito, nesta imagem é uma visão de uma conta com access admin. - Visão normal. - Inventário completo. - Guilds com visão ampliada. - Detalhes... - Novo SHOP com as estrutura de layout melhorada e modernizada. - Sem BUGs lembre-se do CTRL + F5 para atualizar os cookies nesta pagina. - Detalhes... - Detalhes... - Detalhes... - Histórico do SHOP... DOWNLOAD SITE SHOP.LUA XAMPP 1.7.3 DATABASE LIMPA MYSQL DATABASE COMPLETA MYSQL TUTORIAIS ÚTEIS E COMPATÍVEIS PARA O SITE: PAGSEGURO AUTOMATICO SHOPGUILD BACKUP_POINTS SISTEMA VIP_TIME Créditos: Gesior.pl(WEBMaster) Felipe Monteiro(WEBMaster, WEBDesigner) Natanael Beckman(WEBNada) Nailan (WEBMaster) Ivens Pontes (WEBMaster) Marcio Porto (WEBMaster) Danyel Varejão (Programmer LUA, C++)1 ponto -
Client MC (Todas versões e Client Próprio)
Client MC (Todas versões e Client Próprio)
Espedito reagiu a luanluciano93 por uma resposta no tópico
1 pontoOlá 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 ... Spoiler • 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). Spoiler • Agora substitua o valor de 75 por EB. Spoiler • Aperte CTRL+S (para salvar), feche o programa e prontinho, já tem sua MC LISTA DE NÚMEROS HEXADECIMAIS POR VERSÃO: Spoiler [7.4] hex = 4BAB2 [7.6] hex = 0004DE45 [8.0] hex = F6224 [8.10] hex = F8944 [8.11] hex = F8966 [8.20] hex = 100CE4 [8.21] hex = 102B74 [8.30] hex = 1054F4 [8.31] hex = 105894 [8.40] hex = 105924 [8.41] hex = 1061c4 [8.22] hex = 102B94 [8.42] hex = 105EF4 [8.50] hex = 106794 [8.52] hex = 1067E4 [8.53] hex = 106E64 [8.54] hex = 1070B4 [8.55] hex = 10B874 [8.57] hex = 10BB24 [8.60] hex = 10BCA4 [8.61] hex = 106BF4 [8.62] hex = 1079B4 [8.70] hex = 10BFA4 [8.71] hex = 10BFC4 [8.72] hex = 10BCA4 [8.73] hex = 10BC84 [8.74] hex = 10BC94 [9.00] hex = 10CF44 [9.10] hex = 10E621 [9.20] hex = 10E821 [9.31] hex = 10E9B1 [9.40] hex = 11A711 [9.41] hex = 11AAA1 [9.42] hex = 1257E1 [9.43/44] hex = 125981 [9.46] hex = 1258B1 [9.50/51/52] hex = 1265D1 [9.53] hex = 126851 [9.54] hex = 128AF1 [9.60] hex = 12A5F7 [9.63] hex = 12DC07 [9.70] hex = 12E057 [9.81] hex = 131747 [9.82/83] hex = 133A10 [9.84/85/86] hex = 1335D0 [10.00] hex = 1337F0 [10.01] hex =: 133860 [10.10] hex = 133B10 [10.12] hex = 135850 [10.13] hex = 135850 [10.20] hex = 135C40 [10.21] hex = 135970 [10.32] hex = 13BCB0 [10.34] hex = 13BDC0 [10.35] hex = 13BE20 [10.37] hex = 13C890 [10.39/40/41] hex = 1407D0 [10.50] hex = 145567 [10.51] hex = 145607 [10.53] hex = 1478A7 [10.55] hex = 14DC17 [10.56] hex = 1518E7 [10.57/58/59] hex = 1518E7 [10.60] hex = 151C17 [10.61] hex = 152BE7 [10.62/63/64] hex = 153557 [10.70] hex = 1549C7 [10.71] hex = 155957 [10.72] hex = 157641 [10.73] hex = 1573E7 [10.74] hex = 157127 [10.75] hex = 157097 [10.76] hex = 157987 [10.77] hex = 157637 [10.78] hex = 157697 [10.79] hex = 157677 [10.80] hex = 1A9FD7 [10.81] hex = 1A9C67 [10.82] hex = 1A9CA7 [10.90] hex = 1AA0B7 [10.91] hex = 1AA093 [10.92] hex = 1AB4C7 [10.93] hex = 1AC7B7 [10.94] hex = 1AF1F7 [10.95] hex = 1AECF7 [10.96] hex = 1AECF7 [10.97] hex = 1B0727 [10.98] hex = 1B0EA7 [10.99] hex = 1B0EA7 OBS: A troca do valor 75 terá exceções nas versões: [7.4] troque o 75 por 74 [8.11] troque 74 OB por 90 90 Créditos: MartyX É isso pessoal, espero que ajude. xvi32.rar1 ponto -
Página de Pagamentos [Depósito, Paypal e PagSeguro]
Página de Pagamentos [Depósito, Paypal e PagSeguro]
bydaddy reagiu a luanluciano93 por uma resposta no tópico
1 pontoOlá pessoal, nesses ultimos dias fiz uma página simples em HTML para pagamento pelo PagSeguro, porem decidi fazer uma mais completa , com 3 métodos de pagamento. Como disse no tópico do PagSeguro HTML, esse código é bem completo, e serve para servidores mysqls e tbem sqlites, por ser bem simples de usar, dando para colocar online apenas com o apache, ou podendo apenas deixar como download em, por exemplo, uma fan page no Facebook ou hospedando em algum site (assim os players baixariam, e abririam no browser, assim podendo fazer o pagamento). Como funciona? Você abre o bloco de notas, cria um arquivo, index.html, coloca o código que vou colocar abaixo, e basta fazer algumas alterações simples ... Explicação do código: <html> <!-- Sistema simples de pagamento pelo pagseguro criado por luanluciano93 --> <head> <title> Pagamento </title> <style> input {border:1px solid #000;background-color:#ffffff;padding:5px;} input:focus{box-shadow: 0px 0px 2px 1px #000;} button { border: 1px solid #999; background-color:#eee; padding: 5px; font-size:13px; font-weight: bold;} button:hover { border: 1px solid #000; background-color:#eee; padding: 5px;} </style> </head> <body style="width:430px; border-width:5px; border-style:solid; padding:10px;"> <h1> Métodos de Pagamento </h1> <!-- Título --> <hr /> <h2> <li> Pagamento PagSeguro </li> </h2> <form target="pagseguro" method="post" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml"> <input type="hidden" name="email_cobranca" value="[email protected]"> <!-- Seu email do pagseguro --> <input type="hidden" name="tipo" value="CP"> <input type="hidden" name="moeda" value="BRL"> <input type="hidden" name="item_id_1" value="1"> <input type="hidden" name="item_descr_1" value="Otserv"> <!-- Descrição do que você esta vendendo --> <input type="hidden" name="item_valor_1" value="100"> <input type="hidden" name="item_frete_1" value="0"> <input type="hidden" name="item_peso_1" value="0"> <input name="ref_transacao" type="text" value="" autocomplete="off" required="true" placeholder="Character:" size="15" maxlength="15"> R$ <input name="item_quant_1" type="text" value="" autocomplete="off" required="true" placeholder="Valor:" size="5" maxlength="5"> <button type="submit"> Doar </button> </form> <hr /> <h2> <li> Pagamento Paypal </li> </h2> <form target="paypal" method="post" action="https://www.paypal.com/cgi-bin/webscr"> <input type="hidden" name="cmd" value="_xclick" /> <input type="hidden" name="business" value="[email protected]" /> <!-- Seu email do paypal --> <input type="hidden" name="item_name" value="Otserv"> <!-- Descrição do que você esta vendendo --> <input type="hidden" name="amount" value="100"/> <input type="hidden" name="currency_code" value="BRL"/> <input type="hidden" name="no_note" value="0"/> <input type="hidden" name="no_shipping" value="1"/> <input type="hidden" name="rm" value="0"/> <input name="custom" type="text" value="" autocomplete="off" required="true" placeholder="Character:" size="15" maxlength="15"> R$ <input name="amount" type="text" value="" autocomplete="off" required="true" placeholder="Valor:" size="5" maxlength="5"> <button type="submit"> Doar </button> </form> <hr /> <h2> <li> Pagamento Depósito "Banco" </li> </h2> <!-- Escolha o nome do banco --> <b> Nome: </b> Luan Luciano <br/> <!-- Defina Nome --> <b> Agência: </b> xxxxx <br/> <!-- Defina Agencia --> <b> Número da Conta: </b> xxxxx <br/> <!-- Defina nº da conta --> <b> Operação: </b> xxxxx <br/> <br/> <!-- Defina Operação --> <hr /> <font color="red"><b> Observação: </b></font> Após efetuar o pagamento, sendo pagseguro, paypal ou depósito bancário, envie um email para [email protected] contendo os dados do pagamento. <!-- Defina email para confirmar pagamento --> </body> </html> </html> Qualquer coisa posta aqui que eu ajudo. Se alguém souber melhorar o código de alguma forma, é só falar. Deixei o arquivo html em download tbem, para editar é só clicar com o botão direito e abrir com bloco de notas. É isso pessoal, espero ter ajudado, abração e até mais. index.html1 ponto -
Gesior AAC
Gesior AAC
gurulima20 reagiu a Bruno Carvalho por uma resposta no tópico
1 pontoOlá galera, ultimamente está saindo várias novidades para os servidores e eu estou atualizando para os brasileiros :3 Você sabia que o gesior também migrou para o GitHub? Bom, ele migrou e agora está atualizando para todas as versões :3 Download: TFS 1.0: https://github.com/gesior/Gesior2012/tree/TFS-1.0 TFS 0.4: https://github.com/gesior/Gesior2012/tree/TFS-0.4_rev_3703+ TFS 0.3.6: https://github.com/gesior/Gesior2012/tree/TFS-0.3.6_and_0.4_to_rev_3703 TFS 0.2.13+: https://github.com/gesior/Gesior2012/tree/TFS-0.2.13+ TFS 0.2.11-: https://github.com/gesior/Gesior2012/tree/TFS-0.2.11_and_older É só baixar e se divertir pois os mais recentes vem com correções de bugs e muito mais :31 ponto -
Show OFF
Show OFF
luanluciano93 reagiu a Joshuah por uma resposta no tópico
1 ponto1 ponto- Poke Zot V2 Editado Por Pato Roko
Poke Zot V2 Editado Por Pato Roko
junior9217 reagiu a Pato Roko por uma resposta no tópico
1 ponto- Novos pokémons alguns deles : Shiny Lugia // Shiny Heatran // Shiny Articuno // Shiny Moltres // Gogoat // Xerneas // Yveltal // Giratina // Black Articuno // Black Celebi // Rayquaza // Shiny Raikou // Shiny Rayquaza // Regigigas // Darkrai // Groudon // Kyogre // Reshiram // Zekrom Sprites Novas Adicionas. Groudon // Shiny Kyogre // Kyogre / -Fly de alguns pokémons: Alguns deles: Shiny Zekrom // Shiny Articuno // Giratina // Black Articuno - Ride de alguns pokémons: Alguns deles: Raikou // Suicune - Adicionado npc "Teleportador" Quando você fala "HI" e depois "TRAVEL" e depois "YES" você é teleportado para saffron. -Removido a quest bike; -Removido o stronp -Removido algumas houses -Removido alguns npcs - -Adicionado quest de box Algumas delas: Box +1 // Box +2 // Box +3 // Box +4 // Box +5 -Adicionado algumas quests de pokémons Alguns deles: Shiny Lugia // Divine Jirachi // Shiny Riolu // Shiny Reshiram // Green Dialga // Victini // Shiny Regigigas -Adicionado quest Diamonds Recompensa: 50 Diamonds -Adicionado quest Ultra Rod Recompensa: 1 Ultra Rod Todas As Quest Reformuladas . CP De Saffron Reformulado . Quest VIP Fica Em Celadon Bug de atravessar parede da quest Latias/Latios Quest (Corrigido) /t para os players (Corrigido) Bug de atravessar parede do Shiny Zekrom Quest (Corrigido) Quando matar Attack deoxys MVP não abria teleport na Kyogre Quest (Corrigido) Bug da quest Deoxys que não tinha teto (Corrigido) Bug dos novos Megas que não tem atack nem força (Não foi corrigido) Servidor http://www.mediafire.com/download/x8b8qi5ffkrmkui/Servidor+Poke.rar Cliente http://www.mediafire.com/download/xrn56kb6o2oarp7/Poke+Zot+Client.rar Servidor https://www.virustotal.com/pt/file/d28adb9e9832964b07a8afcfbe3e88c741ec167e32df3746c86b9ee4b01fc147/analysis/ Cliente https://www.virustotal.com/pt/file/3cea7341b5634b02c150022987da0f493f67070b6139e41a69bdd1435fdb93d0/analysis/1426712017/ Weslley - Por adicionar os pokémons Poke pro - Pelas sprites Otsclop - Não posso revelar Não lembro - Por me ensinar a tira o /t para os players Tio do Leite - Por eu estar aguardando a sprite do shiny corsselia REP+ Se Gosto1 ponto- Pyrus OT, 1.5
1 pontoPokemon Pyrus ot Antes de tudo por favor, leia abaixo: Leiam aqui plx Informações: Imagens: Creditos: Scan Extras: REP + Novidades da 1.5 Download: http://www.mediafire.com/download/d2kcwj61kwrt6gk/PYRUS_OT.rar UTILIZEI PARA EDITAR passa na page do projeto que to trabalhando pra dar aquela força https://www.facebook.com/PokemonImperiumPI/?fref=nf1 ponto- rex war
rex war
ADM WAR reagiu a Tibia2015br por uma resposta no tópico
1 pontominhas saudações tibianos trago hoje para vocês o rex war que veio do mapa rox mas nen parece muito com eli bom oque eu mudei download prints o anti virus detecta coisa pqp não reconheçe o arquivo a estenção1 ponto- CDZ online
CDZ online
Abhustarn reagiu a StormsHard por uma resposta no tópico
1 pontoEae galerinha, bom eu tava criando um servidor de cdz online, mais ae deu umas treta e tive q formata o pc, ae perdi quais tudo fiquei só com items.OTB. items. DAT. SPR. !! Ae eu ia parar mais ae decidi, postar aki pra vocês caso alguém Queira terminar !!... Sprites : http://cdzxp-cvzxp.blogspot.com.br/2010/06/chars-xp-cav-ouro.html DownloaD : http://www.mediafire.com/download/zh1fyrglwtbbhtc/CDZ.rar Scan :https://www.virustotal.com/pt/file/6b341cfa1e4097a70450effd136d9059a2366cfdcbaa337557c64cc6f0d24ec4/analysis/1409412865/ Créditos : Eu mesmo !! Print's D:1 ponto- NPC Trade/Storage
NPC Trade/Storage
Marco Oliveira reagiu a Frenesy por uma resposta no tópico
1 pontoFalaa pessoal do TK! Trouxe um script que fiz aqui para o meu servidor e gostaria de compartilhar com vocês: A idéia é bem simples: É apenas um NPC que só vende items para você se você tiver tal storage. Testado em: 8.60 local keywordHandler = KeywordHandler:new()local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 choose = {} local cancel = {} local available = {} --== Configurar storage e Items a venda aqui. local stor = 1500 -- configurar storage aqui local Trade = { {id=15646, buy=200, sell=0, name='buggy backpack'}, {id=10522, buy=200, sell=0, name='crown backpack'}, {id=10518, buy=200, sell=0, name='demon backpack'}, {id=11243, buy=200, sell=0, name='dragon backpack'}, } --== Fim das Configurações. local function setNewTradeTable(table) local items = {} for _, v in ipairs(table) do items[v.id] = {itemId = v.id, buyPrice = v.buy, sellPrice = v.sell, subType = 0, realName = v.name} end return items end local function setNewLineTable(oldTable, newTable) for k, v in pairs(oldTable) do table.insert(newTable, k, v) end return true end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(msgcontains(msg, 'Trade') or msgcontains(msg, 'trade')) and getPlayerStorageValue(cid, stor) == 1 then selfSay('Essas são minhas ofertas!', cid) tradeRank = Trade local items = setNewTradeTable(tradeRank) local function onBuy(cid, item, subType, amount, ignoreCap, inBackpacks) if items[item].buyPrice then doPlayerAddItem(cid, items[item].itemId, amount) doPlayerRemoveMoney(cid, items[item].buyPrice * amount) return true end return true end local function onSell(cid, item, subType, amount, ignoreCap, inBackpacks) if items[item].sellPrice then doPlayerAddMoney(cid, items[item].sellPrice * amount) doPlayerRemoveItem(cid, items[item].itemId, amount) return true end return true end openShopWindow(cid, tradeRank, onBuy, onSell) else selfSay('Desculpe, mas você não tem o que é necessário para negociar comigo.', cid) end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Esse é meu primeiro script para a galera do TK. Espero que gostem! Abraços!1 ponto- Fazendo Sprites
Fazendo Sprites
luanasar reagiu a MadoxSilver por uma resposta no tópico
1 pontoIntrodução Estou de volta em mais um de muitos tutoriais que farei (assim espero :]). Aqui lhes mostrarei como trabalhar usando o sprite editor, o paint e o Photoshop fazendo sprites, ou alterando, é claro. Bem... Aqui vamos falar sobre: Sprite Editor Paint Photoshop Refletores Texturas Reflexão Vocabulário e Muito Mais Sprite Editor Sua função é simples, rápida e essencial. Adicionar e alterar sprites do tibia, contidos no arquivo Tibia.spr que geralmente está em C:\Arquivos de programas\Tibia\Tibia.spr. Para carregá-los basta abrir o sprite editor (lógico né...) e clicar em LOAD ITEMS. Uma Janela irá aparecer, pedindo para você encontrar o Tibia.spr, que está na pasta do Tibia (C:\Arquivos de programas\Tibia\Tibia.spr) clique nele, e logo após em abrir. Outra janela surgirá, perguntando a você qual cor você deseja utilizar. Escolha rosa. No tibia ela é a cor que determina o "NADA". Esta janela abrirá...(a que mais usaremos ) bem, repare que aqui temos vários sprites, cada um em um espaço de 32x32 pixels, o mesmo que ocupam no tibia. Esses que você pode ver, são apenas alguns, dos sprites que temos, são realmente a menoria...hehe. Temos 36559 sprites, pelo menos em minha versão (8.6). Repare que tem dois itens que sem dúvida vocês não conhecerão, pois são de minha autoria, que alterei por outros itens, o Headhunter Axe, o axe de lâmina avermelhada de duas lâminas, e a Divine Sword, a espada dourada que aparece selecionada, desculpem...realmente são feios...kkkkkkk. Para ir a um sprite que você deseje, coloque seu número (do sprite é claro ) na caixa à esquerda de Goto Sprite, feito isso, clique em Goto Sprite. O sprite editor irá até o sprite que você pediu, siga a imagem. Obs: Coloquei Ex: 1, mas você não deve colocar Ex... apenas o número (óbvio né... ) Para tirar um print screen interno (apenas da parte dos sprites), basta clicar em Save Page não é lá muito útil, já que temos o print screen convencional, mas..."quebra um galho". Escolha o local onde salvar e pronto, terá sua página atual salva. Para ADICIONAR um sprite, nos espaços não utilizados, clique em Add Sprite e selecione a imagem do item que você deseja, sempre em 32x32, é claro. O item irá surgir no espaço não utilizado, agora basta você saber o ID dele para adicionar em seu OT, detalhe...o último sprite adicionado, você não poderá utilizar (no sprite editor) a não ser que adicione outro, ou salve-os para o tibia.spr. Para usar no Tibia Global, não é recomendado isso, é recomendado alterar sprites, que ensinarei adiante. Para alterar os sprites internos (que já estão contidos no seu Tibia.spr, basta clicar no sprite desejado (o que você deseja colocar no lugar de outro), e clicar em COPY, em português, copiar, e logo após, selecione o sprite que você deseja alterar, clicando em PASTE, ou seja, colar. Feito isso seu sprite estará alterado, sem interferir no perfeito funcionamento do outro. Já para alterar os sprites existentes por um externo (que ainda é apenas uma imagem de tamanho 32x32) basta selecionar o sprite desejado (que você deseja alterar) e clicar em LOAD, então aparecerá uma janela pedindo para você achar o sprite, você deve selecioná-lo e clicar em Abrir, feito isso...pronto. Para salvar um sprite interno, torná-lo externo, ou seja, transferí-lo para uma pasta de sua escolha, basta clicar em SAVE, com o sprite selecionado...é claro. Para salvar seu trabalho, e criar um novo tibia.spr clique em save itens. ATENÇÃO: Você não pode salvá-los na pasta do tibia.spr que está sendo usado. Facilitando o Trabalho Uma maneira bem fácil e organizada para trabalhar com isso, é organizar em pastas, por categoria, assim você economizará muito tempo, imagine a cena, você trabalhando com...vamos supor, 400 sprites, procurando uma determinada espada no meio de 400, agora imagine com os mesmos 400, você entra na pasta espadas, irá achar 15 ou menos espadas, bem mais fácil...não? Para iniciantes, que ainda não tenham noções básicas sobre a estrutura dos itens, recomendo que salve os itens que na sua opinião se destacam no tibia, os “melhores” e vá apenas editando eles. Use isso apenas para treinar, copiar não é nada legal...além de ser coisa de quem é literalmente NOOB. Não copie... Paint Bem vindos ao Paint...Pra quem não conhece...(não conhece?! O.o) é um programa que já vem no Windows, e é utilizado para edição e criação de imagens...Mas sempre me perguntam...”Porque o paint?” Simples, é um programa simples, leve, eficaz, e acessível a todos. Chega de papo e vamos abri-lo. Para quem não usa Windows, não tem problema, outros sistemas utilizam um software similar. Bem... Para começar, o tamanho dos sprites são sempre os mesmos...(32x32). O Paint não vem com esse tamanho, para alterar basta apertar Ctrl+E, que irá abrir os atributos. Feito isso uma pequena janela irá aparecer, marque a opção pixels (em unidades) e coloque. Largura:32, Altura:32. Nas cores não mecha. ATENÇÃO: O fundo de TODO o sprite deverá ser rosa, sem exceção, o rosa significa o “NADA” tudo o que estiver em rosa o Tibia Client irá preencher com sua textura padrão (aquele cinzinha que você viciado sabe MUITO BEM do que estou falando, hehe.) Nunca se esqueça de preencher o fundo com rosa. Não pode ser de tonalidade diferente, tem que ser a mostrada na imagem (Matiz:200/Sat:240/Lum:120/Vermelho:255/ Verde:0/Azul:255 Uma pequena apresentação das ferramentas, seguindo a imagem ao lado. 1: seleção personalizada, livre. 2: Seleção em forma retangular. 3: Borracha/Apagador. 4: Lata de Tinta. 5: Puxa cor. 6: Lupa. 7: Lápis 8: Pincel. 9: Spray. 10: Inserir texto. 11: Linha. 12: Linha curva. 13: Retângulo. 14: Ferramenta polígono. 15: Forma circular. 16: Retângulo arredondado. Essas são nossas ferramentas contidas na caixa de ferramentas. Photoshop Para quem não conhece ou nunca ouviu falar(um pouco improvável não?!) esta é simplesmente a melhor ferramenta que existe em criação e edição de imagens, no nosso caso sprites, mas não perde seu mérito (:. Aqui faremos principalmente pintura, sombreamento, clareamento, desfoque, outline bem caprichado, etc. Farei uma breve apresentação das ferramentas que usaremos em sprites, não colocarei todas porque se não seria um tutorial de Photoshop, ele realmente tem muitas funções...Ah, e é pago, porém temos muitos crackers e keys de graça na internet. O meu é o Adobe Photoshop CS 3, na minha opinião o melhor, tem todas as ferramentas de que precisamos e é bem leve, e fácil de se achar, postarei o download crackeado e em português no final do tutorial.(Assim que disponibilizá-lo). Colocarei aqui uma pequena apresentação das ferramentas, não todas, apenas as que mais usaremos, pois se não viraria tutorial de photoshop (pretendo fazer um futuramente) pois ele realmente tem muitas funções. Número 1: Bem, dentro desses ícones, no caso o lápis, se você clicar com o botão direito do mouse, perceberá que tem mais ícones dentro, ícones relacionados, desses irei citar somente os que usaremos. Varinha Mágica: ele seleciona a área com texturas, cores, sombreamento, ou algo que você preferir, para facilitar a edição. Seletor: Praticamente mesma função, mais com ele você pode selecionar com mais precisão, porém com menos opções de seleção, ou seja, ela é semi-automática. Número 2: Lápis: o bom e velho lápis, a ferramenta simples para pintura ou contorno que todos conhecemos. Pincel, é mais complexo que o lápis porque também nos oferece a função Fluxo, que nos dá mais controle, sugiro isso para pintura. Número 3: Borracha:a boa e velha borracha...vou poupar comentários. Borracha mágica: Muito útil, porém se usada corretamente, se não for usada corretamente pode apagar pixels indesejáveis, mas basta configurar de acordo com sua preferência no menu a cima. Número 4: A tradicional lata de tinta, pinta a área selecionada. Número 5: Desfoque, ela converte os pixels próximos ao ponto selecionado em cores próximas, de forma que se crie uma pequena escala, diminuindo o foco, isso é também conhecido como outline quando aplicado nas linhas externas. Nitidez: Serve para "destacar algo", esta ferramenta torna a cor vibrante, exatamente para chamar a atenção para aquele lugar. Borrar: o nome diz tudo, mas enfim, borra . Número 6: Subexposição: Torna o local desejado mais claro, dando idéia de luz se usado corretamente. Superexposição: Torna o local mais desejado mais escuro, dando idéia de sombra se usado corretamente. Esponja: Bem útil para aumentar ou diminuir a saturação da imagem. Para usar efeitos de luz e sombra, usaremos o Subexposição e o Superexposição, eles causam esse efeito, mas nunca se esqueça que se estiver intenso demais, chamando muita atenção e não dando ideia de sombra ou luz, use a ferramenta de desfoque, que realmente é útil. Antes de usar a lata de tinta esteja certificado que a área selecionada esteja "fechada", se preciso use a ferramenta de seleção para não errar. Para Anti-Aliasing utilizaremos a ferramenta de desfoque. ATENÇÂO: Em caso algum!!!!!!!! faça anti-aliasing externo nos sprites, a não ser que você trabalhe com um fundo similar a textura do tibia e no final do trabalho pinte com o ROSA Magenta, o padrão. Isto é o suficiente para vocês trabalharem com o Photoshop. Leiam mais tutoriais sobre, estarei adicionando vários na seção Pixel Art/Sprites, ensinando a detalhar itens, criar certos itens, texturas diferentes, outlines e sempre cheque a seção Galeria, lá você sempre pode aprender com quem sabe mais, acredite, sempre tem um. Se inspire mas nunca copie, como eu disse anteriormente é coisa de NOOBS, não seja um. Agora vamos para a próxima parte que o tempo corre! Considerações Gerais Primeiramente, nunca, eu disse nunca nem pense em fazer sprites com somente uma cor, podem até falar que está bonito e tal... mas, pense...você é considerado iniciante hoje, mas ninguém sabe o dia de amanha... sempre tente fazer o melhor, o caminho não é fácil, mais se fosse não teria a mínima graça (:. Antes quem erra sem saber do que quem erra sabendo, sempre capriche no sombreamento e nos efeitos de luz...Não gostou do resultado? Refaça, pode até demorar, mas vai valer a pena. Aqui lhes deixarei umas orbs, para quem não sabe a utilidade delas, é simples, nelas estão contidos muitos tons de cores, formando claramente efeitos de luz, com quais você pode simplesmente olhar e tentar reproduzir ou "puxar" a tonalidade. Disponibilizarei para download no final do Tutorial. (crédito das orbs ao usuário Preguiça (de outro fórum) Cada sprite terá uma história diferente para você, você sempre irá lembras de suas criações por alguma característica. Mas...pera ai!!! E os jogadores...irão lembrar como, um item bonitinho?! Nada disso, coloque sua mente para trabalhar, crie uma história para cada uma de suas criações, sempre reforçando a "realidade" do seu servidor, se é que você está fazendo para ele, e não para o Tibia Global, é claro. Não conhece um certo material? Você tem uma ferramenta "mágica" chamada internet. Não custa nada pesquisar em um site de imagens, ou em uma seção de sprites, uma galeria ou qualquer coisa que mostre esses efeitos, como fazê-los, etc. Sempre procure aprender, "antes dar a vara e a isca do que o peixe pescado, o peixe irá acabar, mais se você tiver a vara e a isca poderá pegar vários peixes. Texturas Bem...para a realidade dos sprites precisamos respeitar certos padrões...Por exemplo, você quer fazer um objeto metálico, vamos analisar o metal, objeto denso, com tonalidades um pouco escuras, porém reflete muita luz e brilha muito...Bem, vamos utilizar somente isso na explicação. Vamos supor que desejo fazer uma espada com lâmina metálica (clássica), mas não sei fazer metal, como é que fica?! Você vai fazer uma espada com lâmina de madeira?! Fala sério né !!! Aqui estaremos falando sobre texturas, aquilo que da a realidade do sprite, que difere ferro de bronze, bronze de prata, prata de ouro, e assim por diante. Um ponto muito importante aqui é a cor... Você NUNCA deve usar apenas uma tonalidade se quiser dar noção de algo...pois NADA tem apenas uma cor, pelo menos nada real. Mesmo que tenha a mesma cor, a tonalidade nunca será a mesma. O Outline também diz muito de sua textura, pêlos por exemplo, ele deve ter um pequeno contorno mais escuro para dar idéia de pelo... Se não seria uma figura plana sem mais nem menos. Uma dica: Evite outline totalmente preto, não fica legal... Enfim, vamos começar, aqui darei exemplos de texturas e explicarei como fazer. Água...esta água que fiz na verdade está em 3d, mas isso não irá interferir no aprendizado, já que fiz apenas para exemplo. Aqui usei o famoso "azul piscina", um azul bem claro com um leve toque de verde... Isso fiz no photoshop, para reproduzir esse efeito é bem simples. Basta preencher a imagem com a cor e em certos pontos (de sua escolha) colocar a mesma cor porém em tonalidade mais clara. No caso, eu clareei as pontas. Depois, use a ferramenta desfoque e passe em nas extremidades. Feito isso adicione o filtro "Vidro" e configure da maneira que preferir...Bacana e fácil não? Para sprites na verdade não é recomendado isso, pois na hora de mapear não vai se encaixar...você deve fazer manualmente, mas o "esquema" é o mesmo. Use-a como base. A água tem bastantes tonalidades, já que ela reflete muita luz...preste a atenção nisso, crie pequenas ondulações para dar efeito de movimento basta alterná-las. Na hora de mapear, provavelmente isso não vai funcionar...mas tem um truque fácil e básico, na hora de fazer a água que liga com essa faça com ondulações parecidas, mas que se liguem com essas. Desculpe pela simplicidade do piso, fiz apenas para o tutorial. Este é um piso de terra, e é bem fácil de fazer(pelo menos do modo que fiz, haha). Fiz no photoshop, para fazê-lo basta preencher a imagem com um marrom, não muito saturado e não muito escuro. Feito isso, encha a imagem de pequenos pixels com uma cor ainda marrom, porém mais escura, preencha bastante, simulando o efeito do Spray do paint, se não me engano deve ter inclusive uma ferramenta que exerça essa função. Concluída essa etapa use o filtro "Bastão de Borrar" e configure do jeito que ficar melhor. Após fazer isso basta clarear e escurecer certos pontos (:. Repetindo: Não é aconselhável na hora de mapear, mas tem um truque que uso para driblar isso, e vou compartilhar. Nas extremidades basta você desfocar UM POUCO e escurecer UM POUCO, nada de exagerado, eles vão se unir que uma beleza . Mas lembre-se nada de exagerado. Para reproduzir o efeito manualmente basta prestar a atenção nos "grãos" da terra, em 32x32 é fácil, e não exagerar na saturação, e sem muito brilho. O famoso Swamp. Na minha opinião o mais fácil, principalmente em 32x32, este não fiz em 32x32 para você ver melhor. Neste basta você colorir com um verde claro(nada de exagerado seu emo) e depois simular o efeito do spray do paint. E colocar o filtro "Papel de Carta". Simples não?! E não ficou feio . Para juntar na hora de mappear não repita o truque anterior. Nos lados escureça certos pontos, e clareie outros, na hora de fazer a parte que você irá unir a essa faça a mesma coisa, juntando partes claras com claras e escuras com escuras (^.-). Para fazer "manualmente", no paint pinte com um verde claro (agora sim seu emo) e adicione "relevos" formando ondulações, depois deixe as ondulações mais escuras. Saturação elevada, porém nada de exagerado, anda que deixe desagradável. Seria bom também adicionar "borrifos", observe esse sprite tibiano, são pequenas "erupções" que ocorrem neste terreno, devido a acidez descomunal. Lava. Para começar, deixe a tinta selecionada preta. Feito isso, coloque o filtro nuvens, depois nuvens por diferença, até chegar a um ponto agradável. Feito isso adicione o filtro Plastificação, configure como achar melhor. Feito isso vá até Imagem>Ajustes>Equilíbrio de Cores. Deixe sempre com tonalidades perto do vermelho e do amarelo, em todas, que o tom escolhido será o laranja. Não exagere nem em um, nem em outro, pois o resultado poderá ser não satisfatório. Para fazer manualmente, no paint (recomendado) basta você cobrir a área com um laranja bem amarelado, e fazer ondulações, formando "rios", feito isso pinte esses rios inteiramente de preto. O que sobrar deixe laranja, mas clareie nas partes mais expostas, deixando ainda mais amarelado. As partes pretas não devem ser inteiramente pretas, coloque um laranja escuro para variar. Tem outro jeito...(melhor), se você fizer tudo no paint, os relevos e tal, depois poderá plastificar no photoshop pra dar o efeito bacana, e colorir com mais precisão. Bacana este piso não?! E é muuuito fácil de fazer...( muito mesmo). Repita os passos do piso de terra, porém faça um pouco mais claro. Feito isso adicione o filtro "Ladrilhos de Mosaico" e configure como quiser. Muito fácil, e o resultado é bonito, e fácil de unir um a outro. Para não quebrar a cabeça pensando em outros tipos de pisos, basta você fazer os mesmos passos mas com cores diferentes, o resultado sempre é satisfatório se feito direito(vagabundo). Mas um erro pode ser fatal...clarear demais certas partes, isso entregará demais o efeito spray. Deixe com um bom contraste e com um brilho inferior, já que isso cai melhor dentro de casas (^.-). Legais não? parecem reais essas esferas de ouro prata e bronze, respectivamente. E são tão fáceis de fazer que da vontade de fazer um monte '-'. Bem... comece fazendo uma esfera, nessa esfera pinte com a cor desejada, feito isso clareie a superfície superior esquerda, e escureça o meio e a inferior direita. Depois clareie apenas uma pontinha do lado inferior direito, (nada de tão pequeno também). Feito isso use o efeito "Sumi-e", e num passe de mágica você terá sua bela esfera( que sexy). DICA: De um retoque na saturação que pode ficar mais bacana. DETALHE:Repare que a borda de todas ficaram "serrilhadas" isso é um mau exemplo, não foi usado o anti-aliasing porque deixei para vocês verem o que a falta dele pode ocasionar (mentira é preguiça mesmo). Concluímos essa parte, para os interessados em texturas, comentem no tópico o que desejam, como, etc, pois brevemente estarei adicionando um tópico virado somente para texturas. Por mais que muitos não achem, este é um ponto muito importante para iniciantes...De onde você irá se inspirar? Do nada é um pouco difícil, por isso estou dando atenção a essa área. Não deixe de conferir a Galeria, lá você poderá observar os mais experientes e aprender como se faz tal coisa. Uso o adobe photoshop CS 3, estarei postando o Download brevemente, farei um tópico exclusivo para isso e explicando suas funções, mas o que usei aqui se aplica para outras versões do software também. Reflexão O que muitos acham difícil pode se tornar fácil se você entender seus conceitos básicos. Para começar, a perspectiva Tibiana é de 45 graus. Não entendeu? Vou simplificar. A "câmera" te enxerga do da parte inferior direita, tudo é visto neste ponto de visão, e o Sol, ou iluminação, vem da parte superior esquerda, assim a parte inferior direita sendo mais escura. Mas o que isso tem a vez com reflexão? TUDO. Reflexão nada mais é do que a devolução da luz. Só enxergamos em virtude da luz. Um exemplo: a luz veio da parte superior esquerda, no meio de seu item tem um ruby (item com grande capacidade refletora), ao invés da parte de baixo ficar mais escura porque ele está na frente, ela irá clarear por dois motivos, um porque ele não é opaco, tem um nível elevado de transparência, e porque ele reflete muita luz, tornando tudo ao seu redor mais claro. Basicamente tome o planeta Terra como base, a parte que não é iluminada pelo Sol, será mais escura, e essa parte será noite, a parte iluminada será clara, e será dia, já as estrelas, nada mais são do que um reflexo, elas não tem luz própria. Pense nas estrelas como os rubys ou outro item refletor. Exemplos de materiais que refletem luz: Jóias, metais, água, vidro, lâminas, objetos cristalizados, madeira com verniz, certos plásticos, lentes, líquidos em geral, objetos com certo grau de transparência e etc. Exemplos de materiais que não refletem luz: Madeira, panos, pele, couro, terra, cimento, telhas, borracha, papel, e vários outros objetos opacos. Os outfits também seguem o padrão da perspectiva 45 graus (e como). A parte superior esquerda sempre vai ser a mais clara. As partes que mais serão iluminadas são a cabeça e os ombros, isso não é valido caso você adicione ao outfit um objeto que mude isso, por exemplo um cajado com uma jóia na extremidade, será muito mais claro que a cabeça ou os ombros. Uma linha do olho esquerdo até o fim do pé esquerdo fará com que você perceba melhor essa perspectiva. A cabeça é OVAL, não é redonda, sendo redonda você praticamente estaria fazendo o personagem olhando pra cima (procurando o que? o.O). Tente caprichar o máximo possível na simetria, pois não somos diferentes em cada lado (ou somos? =x). Nas partes mais escuras NUNCA preencha com preto, pelo menos não o preto mais escuro, isso não vai ficar nada legal, faça um sombreamento leve. Preste a atenção nos olhos, é um detalhe pouco observado, mas importante, faça olhos adequados ao outfit. Detalhe: com a perspectiva correta você não irá ver totalmente o ombro direito do personagem, tudo o que citei a cima serve apenas para Humanos, exceto algumas partes, não tente reproduzir tudo se for fazer outro tipo de criatura. Evite deixar o sprite "serrilhado", use o AA com freqüência, isso irá lhe garantir um resultado melhor. Não faça sombras muito intensas sem necessidade, o mesmo digo para efeitos de luz, exceto para metais e jóias, pois esses refletem MUITA luz. Sempre tenha em mente o que você esta fazendo, não fuja demais da realidade, cai entre nós...uma espada de plástico ia ficar um pouco(muito) ridícula. Outlines sempre caprichados, e nunca faça outline duplo, fica ridículo. Em laminas, de uma boa clareada na parte cortante, dará uma sensação muito bacana. Nunca copie, isso além de ser noobice, é ilegal. Se inspirar em sprites dos outros não tem nada de mais, já copiar...não é nada legal. Tenha isso em mente. Se você for iniciante, poderá não entender algumas palavras que eu disse durante o tutorial, irei revê-las e explicá-las o que cada uma significa (as menos conhecidas) Outfit:São as "roupas" do personagem, por exemplo, o famoso Citizen é um outfit, já Mage é outro. Photoshop: A ferramenta mais conceituada do mundo em edição de imagens. AA/Anti-Aliasing: Efeito que suaviza as cores, "desfocando-a" um pouco, tirando sua atenção. Contraste: Destacar uma cor de outra. Outline: As linhas que delimitam a sprite. Perspectiva: O ponto de visão em que a imagem é vista. Pixel: Cada "quadrado" da imagem, são minúsculos, em Sprites, utilizamos 32x32. Sombreamento: Efeito de causar sombra, ou seja...tornar certa parte mais escura. Textura: Aquilo que você vê em certa matéria que a difere de outras. É isso ai galera...até a próxima. DOWNLOADS Adobe Photoshop CS 3 (parte 1): Adobe Photoshop CS 3 (parte 2): Adobe Photoshop CS 3 (parte 3): Antes que alguém não diga que não avisei, ele vem com um vírus, remova-o, não sei se é nocivo, mas não me fez mau algum x.x, caso ache que não é confiável, não baixe, SCAN por sua conta. Sprite Editor: Orbs:1 ponto- Vários Scripts 100% AFK Blackd Proxy
Eae Galerinhaa , to aqui tentando dnv incentivar geral a usar e ver que blackd proxy é um bot bacana . E pra isso vou postar uns scripts 100% AFK que eu fiz hhehe **** Em todos os scripts leve rope e shovel comum na backpack **** Legenda : Azul : Exp p/h Verde : Money p/h 1°--- Carlin Ghostlands ( North and South Caves ) 10~20k // 2k (Fora o loot) Level : 30+ Skills : 55/55 Set : K-Set # Inicie o script no dp de carlin , leve MUITA food e health potions , o char vai na cave norte e depois na cave sul , que tem um fire devil , por isso cuidado . Carlin_ghostland_by_Hayashii.txt 2°--- Ab'Dendriel Trolls ( Full Cave ) 3~5k // 1k +/- Level : 10+ Skills : 25/25 Set : IOD # Um ótimo script pra recem chegados da IOD. Inicie o script no dp de Ab'dendriel , e sempre certifique-se que a porta não está trancada , se não infelizmente o char ira ficar parado . Ab'Dendriel_Trolls_for_Knight_by_hayashii.txt 3°--- Venore Salamanders Big Cave 9~11k // 1k +/- Level : 15+ Skills : 30/30 Set : P-Set # Uma cave giganteesca , e dependendo do mundo , vazia no maior tempo do dia . Inicie o script no banco de Venore # se for mage, uma dica é colocar um terra hood pra amenizar os danos de poison **Crédito Para Alfredo Menezes Venore Salamanders + Depositer + Run PK_s.txt 4°--- Venore Rotworms Giant Cave 10~11k // 2,5k Level : 20+ ( Por causa dos Carrion Worm ) Skills : 35/35 Set : P-Set # Esse script , é super daora pra quem quer fazer uma graninha , a cave é gigantesca e é raro ter pessoas la . Venore Rots Depositer.txt Qualquer coisa precisarem de um script ou ajuda no blackd , entrar em contato1 ponto- TFS 3884 - 8.6 - War System - (Anti SALT) - MUITO ESTÁVEL
TFS 3884 - 8.6 - War System - (Anti SALT) - MUITO ESTÁVEL
JSEvil reagiu a GOD Falumir por uma resposta no tópico
1 pontoFinalmente galera consegui resolver o problema do salt, muitas pessoas estavam com este problema, pesquisei bem por horas e finalmente encontrei a solução, para quem estava com o problema do Account Manager criar conta e não logar no gesior e vice versa, agora está resolvido .. obs: usem o sistema SHA1. Para quem tentou esse sistema: http://www.tibiaking.com/forum/topic/40463-distro-tfs-04-ant-dv-war-system-no-otbm-check-no-gerar-salt-acc-manager-pega-junto-com-site-em-sha1/ , E NÃO Conseguiu resolver, está é a solução. AVISO: Deu trabalho para fazer, se puderem me ajudar com +REP irei agradecer. TFS compatível com baiaks e outros servidores estando 100% estável, estou postando a TFS PRONTA para uso e também está incluso as Sources para quem quiser compilar. NÃO SE ESQUEÇAM DO +REP, ESPERO TER AJUDADO. DOWNLOAD: (SEM WAR SYSTEM MAS PODE SER COMPILADO) SOURCES+EXECUTÁVEL http://www.4shared.com/rar/1UkZ4SFaba/TFS_86_-_War_System_e_Anti_SAL.html? SOMENTE EXECUTÁVEL COMPILADO COM WAR SYSTEM E ANTI SALT http://www.4shared.com/rar/4KijpSs0ba/TheForgottenServer.html? SCAN: https://www.virustotal.com/sv/file/9ac2a228444c7d5b08f42d657ee5a82a9963a7674cde58e2b8b5c25dd40cadf8/analysis/1417440333/1 ponto- Anti-Abuse [Proibir palavrões]
1 pontoFala pessoal, fiz este script para evitar palavrões em meu servidor e agora irei disponibilizá-lo. Crie um arquivo xml chamado antiabuse.xml e adicione isto dentro : <?xml version="1.0" encoding="UTF-8"?> <mod name="Anti-Abuse System" version="1.0" author="Ladyazaleia" contact="https://www.facebook.com/wustehs" enabled="yes"> <config name="antiabuse-config"><![CDATA[ words_ = {"porra","viado","caralho","buceta","puta","piroca","baiak","xereca","viadinho","cu","vai se fuder","filho da puta","seu cu","minha pica"} cancel = "There is a word '%s' that you cannot use." ]]></config> <talkaction default="yes" filter="quotation" logged="no" hidden="yes" event="script"><![CDATA[ domodlib('antiabuse-config') for _, v in pairs(words_) do if(words:lower():find(v)) then return doPlayerSendCancel(cid, cancel:format(v)) end end ]]></talkaction> </mod> Na tabela words_.. Adicione a palavra que você deseja proibir de ser dita em seu servidor. testado em TFS 0.4 qualquer erro, nos avise. obs : desculpe os palavrões pesados ae u.u Créditos : EU1 ponto- Script que adiciona um livro escrito
- Explica melhor você quer dar um livro para o player? - Com essas duas frases? - Como ele consegue o livro quando cria conta, quando faz quest...1 ponto- (Resolvido)Teleport do Pokemon
(Resolvido)Teleport do Pokemon
kaleudd reagiu a UnknowLoad por uma resposta no tópico
1 pontoEdita pelo mapa! ctr+t1 ponto- Como crio uma quest pelo (Rme) Remeres Map Editor
Na verdade, storage de player não apaga, apenas global storage.1 ponto- Como crio uma quest pelo (Rme) Remeres Map Editor
Cara, você disse: "mais aí quando o server reseta o player pode pegar o prêmio denovo". Quando o servidor reseta, apaga tudo, e até as storages dos jogadores. Tipo, quando o jogador pega o prêmio, adiciona uma storage "x" ao jogador, e se ele tiver essa storage, não da pra pegar o premio denovo. Dai sem a storage, pode pegar o premio... Acho que deu pra entender...1 ponto- [PEDIDO] NPC tira red
[PEDIDO] NPC tira red
oliverarrow reagiu a Movie por uma resposta no tópico
1 ponto1 ponto- [Pedido] Pagseguro em webnode
[Pedido] Pagseguro em webnode
luanluciano93 reagiu a SlowK por uma resposta no tópico
1 pontoNo próprio Webnode tem um sistema de Loja virtual te oferecendo Paypal ou PagSeguro, dá uma olhada lá... Loja Online1 ponto- [Pedido] Pagseguro em webnode
[Pedido] Pagseguro em webnode
poko360 reagiu a luanluciano93 por uma resposta no tópico
1 pontohttp://www.tibiaking.com/forum/topic/31768-p%C3%A1gina-de-pagamentos-dep%C3%B3sito-paypal-e-pagseguro/1 ponto- [PEDIDO] NPC tira red
[PEDIDO] NPC tira red
oliverarrow reagiu a .HuRRiKaNe por uma resposta no tópico
1 pontoAqui está: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, "remover") then npcHandler:say("Voce quer remover seu red skull? {yes} ou {no}.", cid) talkState[talkUser] = 1 elseif msgcontains(msg, "no") and talkState[talkUser] == 1 then npcHandler:say("Esta bem, quando decidir fale comigo novamente.", cid) talkState[talkUser] = 0 elseif msgcontains(msg, "yes") and talkState[talkUser] == 1 then if getCreatureSkullType(cid) < SKULL_RED then npcHandler:say("Voce nao esta red skull.", cid) else if doPlayerRemoveItem(cid, 1010, 5) then db.executeQuery("UPDATE killers SET unjustified = '0' WHERE id IN (SELECT kill_id FROM player_killers WHERE player_id = "..getPlayerGUID(cid)..")") doCreatureSetSkullType(cid, 0) npcHandler:say("Seu red skull foi removido.", cid) else npcHandler:say("Voce nao tem o necessario para remover seu red skull.", cid) end end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())1 ponto- rex war
1 ponto- (Resolvido)Essa pot healar no máximo 150k de health e mana!
(Resolvido)Essa pot healar no máximo 150k de health e mana!
leozincorsair reagiu a gabriel28 por uma resposta no tópico
1 pontoJá testasse por o item no potion.lua?1 ponto- (Resolvido){Pedido} Tile para castle24h
Testa ai: function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end local g_storage = getGlobalStorageValue(123123) if not g_storage == getPlayerGuildId(cid) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você foi teleportado ao templo, parece que outra guild dominou o castelo.") end end1 ponto- (Resolvido)Prison Bosses alguem tem xml?
Amigo como pedido ta aí. Não to conseguindo fazer o scan, alguém por favor, scaneia e posta aí. https://mega.co.nz/#!ghlThDrT!dVv5KWmIkA5kdMQFf1pWbI8upsnYwHbIeV92adh0bso1 ponto- (Resolvido)Ajuda Item para ir ao templo
Apenas em PZ local t = { delay = 5, -- Tempo em segundos para usar novamente. storage = 45555 -- Storage para utilizar. } config = { prot="yes", -- os jogadores precisam estar na zona de PZ para ir ao templo?? ("yes" or "no"). } function onUse(cid, item, fromPosition, itemEx, toPosition) if(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "você precisa ficar em PZ para usar o item..") return TRUE end if getPlayerStorageValue(cid, t.storage) < os.time() then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) setPlayerStorageValue(cid, t.storage, t.delay + os.time()) doRemoveItem(item.uid) doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT) doSendMagicEffect(fromPosition, CONST_ME_TELEPORT) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Voce precisa aguardar ".. getPlayerStorageValue(cid, t.storage) - os.time() .." segundo(s) para usar novamente.") end return true end1 ponto- [Pedido] Magia Para Monstro
1 pontonao funciona, o setnomove em monstros, por mais que seja temporizado, o player nao se meche depois, pelo menos qnd eu testei foi assim1 ponto- [Ajuda]Vip system Error
1 pontoPessoal ta dando esse erro e não consigo logar no meu char. [4:2:47.777] [Error - CreatureScript Interface] [4:2:47.777] data/creaturescripts/scripts/expvip.lua:onLogin [4:2:47.777] Description: [4:2:47.777] data/lib/vipAccount.lua:69: attempt to perform arithmetic on local 'vipTime' (a boolean value) [4:2:47.777] stack traceback: [4:2:47.777] data/lib/vipAccount.lua:69: in function 'getVipDaysByAccount' [4:2:47.777] data/lib/vipAccount.lua:74: in function <data/lib/vipAccount.lua:73> [4:2:47.777] (tail call): ? [4:2:47.777] data/creaturescripts/scripts/expvip.lua:7: in function <data/creaturescripts/scripts/expvip.lua:1> [4:2:47.778] Sir Ghaz has logged out. [4:3:12.277] Sir Ghaz has logged in. [4:3:12.278] mysql_real_query(): SELECT `viptime` FROM `accounts` WHERE `id` = 3899467; - MYSQL ERROR: Unknown column 'viptime' in 'field list' (1054) [Vip System] Account not found!1 ponto- Addon doll e mount doll 10.76
1 pontotalkactions/scripts/addondoll.lua talkactions/scripts/mountdoll.lua créditos: luanluciano931 ponto- [AJUDA] Spell que mata player e monster na hora não importa o level
só peguei uma parte da spell que eu tinha adaptado function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storagCooldown) - os.time() <= 0 then setPlayerStorageValue(cid, config.storagCooldown, os.time() + config.cooldown) else doPlayerSendCancel(cid, "Your skill is in cooldown, wait more ".. getPlayerStorageValue(cid, config.storagCooldown) - os.time() .." seconds to use it.") return false end doSendAnimatedText(getCreaturePosition(cid), "Cursed", COLOR_ORANGE) local time = onCastChannel(cid, getCreatureTarget(cid), config.delaycast, config.effect, config.key) addEvent(function() if isCreature(cid) and getPlayerStorageValue(cid, config.key) == 11 then doCreatureSay(cid, "cursed finished", 20) addEvent(function() if isCreature(variantToNumber(var)) then local target = getCreatureTarget(cid) doCreatureAddHealth(target, -getCreatureHealth(target)) end end, config.delay * (config.walks + 1)) elseif isCreature(cid) then doPlayerSendCancel(cid, "You broke the channeling spell so the cast was canceled.") end end, time) return true end1 ponto- [Ajuda]Libboost Error
1 pontoGente estou tentando utilizar o tfs no Ubuntu14.04 ja procurei em tudo que é lugar, mas não consigo resolver isso, quando eu abro o tfs aparece essa mensagem: error while loading shared libraries: libboost_filesystem.so.1.40.0: cannot open shared object file: No such file or directory eu ja quebrei minha cabeça demais, eu ja tentei de tudo que tem na internet mas mesmo assim não consigo resolver isso, se alguma pessoa santa me ajudar ficarei muito agradecido.1 ponto- [PEDIDO] Server De Wodbo 860
[PEDIDO] Server De Wodbo 860
igormaverick587870 reagiu a kamus9629 por uma resposta no tópico
1 pontoagora existe kkk so nao sei qual topico ta1 ponto- [Ajuda] Site Hackeado
1 pontoBom pessoal, eu não sou intermediário em questão de website, pois gostaria de uma ajuda de vocês... Ultimamente uma pessoa hackeou meu Site e mudou o index.php, ja alterei e tudo mais ele continua invadindo, no momento eu estou usando o site no Windows Server, eu gostaria muito de uma ajuda, que verificassem o que está causando isso. Desde já Grato.1 ponto- [Ajuda] Site Hackeado
1 pontoeu consegui resolver, eles tinham mudado mesmo a index.php mesmo, mas foi hackeado por outros motivos, agradeço a atenção1 ponto- Mapping | Ludwig van Beethoven
Mapping | Ludwig van Beethoven
luanluciano93 reagiu a Ludwig van Beethoven por uma resposta no tópico
1 pontoE aí. Nature. Update do segundo mapa. Sou iniciante.1 ponto- Great Training Monks! | 40 rooms | RPG
Tamanho: 42 KB. Categoria: Mapa. Versão: 8.60 Créditos: iDELTI / Ethan Anexos: Scan | Download Screenshot;1 ponto- gta san andreas para pc
gta san andreas para pc
ADM WAR reagiu a Tibia2015br por uma resposta no tópico
1 pontohttps://www.youtube.com/watch?v=DcIfm2er8Ag link: http://www.4shared.com/get/aCmMvqufce/GTASanAndreasPortuguesBRNTGRIP.html1 ponto- script
script
ADM WAR reagiu a Tibia2015br por uma resposta no tópico
1 pontoOla. estou querendo um script para um evento tipo e um event tipo um pvp loco dentro de uma arena ai o ultimo que sobreviver ganha ai quem ganha vai receber uma area como se fosse de house que vai poder invitar outros players . e so isso agradeço deus de ja1 ponto- Aprendendo A Virar Um Bom Administrador
Ola Tibianos ! Hoje vou ensinar a voces a como virar um bom Administrador de um otserv. Bom, voces ate agora devem estar achando o tópico inútil neh ? Pois devem achar que ser adm é só ligar o servidor, da itens os players e pronto. Mas nao é so isso. Vamos começar? Etapas: I-Começando o servidor: II-Itens III- Staff do Servidor IV-Eventos Começando o Servidor: Citar Citar Itens: Citar Citar Staff do Servidor: Citar Citar Eventos: Citar Citar Espero Que Tenhão Gostado De Uma Palinha Como Ser Um ADM! Até Mais...1 ponto- Heal com cores diferentes
Heal com cores diferentes
77mateus77 reagiu a 574747 por uma resposta no tópico
1 pontoalanmtd1. nao sei se voce ja sabe onde estao os numeros da cores, elas podem se encontradas na sua lib, no arquivo 000-constant1 ponto- [Talkaction] Comando /name (Mudar nome de char)
[Talkaction] Comando /name (Mudar nome de char)
VitoorGomees reagiu a MinatoTKz por uma resposta no tópico
1 ponto/name MinatoTkz,Skymore Vermelho: Nome atual Verde: Novo Nome do player SE AJUDEI DA REP+ /name MinatoTkz,Skymore Vermelho: Nome atual Verde: Novo Nome do player SE AJUDEI DA REP+1 ponto- Heal com cores diferentes
Heal com cores diferentes
77mateus77 reagiu a 574747 por uma resposta no tópico
1 pontobhelliip, onde esta TEXTCOLOR_GREEN); TEXTCOLOR_DARKPURPLE); coloca COLOR_GREEN); COLOR_DARKPURPLE);1 ponto- (Resolvido)[PEDIDO] MUSIC BOX [MONTARIAS] TFS 1.0
(Resolvido)[PEDIDO] MUSIC BOX [MONTARIAS] TFS 1.0
higorsantos reagiu a MauroelBrizola por uma resposta no tópico
1 pontoEsta ai... adaptei o script postado para funcionar como Music Box, doma todos os que estão configurados. Se precisar de ajuda para configurar alguma outra mount ( O script suporta domar itens, monstros e até NPCs... ) só pedir. No arquivo actions.xml adicione a seguinte tag: <action itemid="18511" script="musicbox.lua"/> Crie o arquivo musicbox.lua em otserver/data/actions/scripts e coloque nele: local ACTION_RUN, ACTION_BREAK, ACTION_NONE, ACTION_ALL = 1, 2, 3, 4 local TYPE_MONSTER, TYPE_NPC, TYPE_ACTION, TYPE_UNIQUE = 1, 2, 3, 4 local config = { ["Gnarlhound"] = {NAME = 'Gnarlhound', ID = 32, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The gnarlhound ran away."}, {2, "Oh no! The golem Wrench broke."}, {3, "The gnarlhound has fled."} }, SUCCESS_MSG = "You have tamed the gnarlhound."}, ["Magma Crawler"] = {NAME = 'Magma Crawler', ID = 30, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The magma crawler ran away."}, {2, "Oh no! The glow wine broke."}, {3, "The magma crawler has fled."} }, SUCCESS_MSG = "You have tamed the magma crawler."}, ["Dragonling"] = {NAME = 'Dragonling', ID = 31, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The dragonling ran away."}, {2, "Oh no! The decorative ribbon broke."}, {3, "The dragonling has fled."} }, SUCCESS_MSG = "You have tamed the dragonling."}, ["Ironblight"] = {NAME = 'Ironblight', ID = 29, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The ironblight ran away."}, {2, "Oh no! iron loadstone broke."}, {3, "The ironblight has fled."} }, SUCCESS_MSG = "You have tamed the ironblight."}, ["Shock Head"] = {NAME = 'Shock Head', ID = 42, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The shock head ran away."}, {2, "Oh no! The nightmare horn broke."}, {3, "The shock head has fled."} }, SUCCESS_MSG = "You have tamed the shock head."}, ["Bear"] = {NAME = 'Bear', ID = 3, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The bear ran away."}, {2, "Oh no! The slingshot broke."}, {3, "The bear is trying to hit you with its claws."} }, SUCCESS_MSG = "You have tamed the bear."}, ["Black Sheep"] = {NAME = 'Black Sheep', ID = 4, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The black sheep ran away."}, {2, "Oh no! The reins were torn."}, {3, "The black sheep is trying to run away."} }, SUCCESS_MSG = "You have tamed the sheep."}, ["Midnight Panther"] = {NAME = 'Midnight Panther', ID = 5, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The panther has escaped."}, {2, "The whip broke."} }, SUCCESS_MSG = "You have tamed the panther."}, ["Terror Bird"] = {NAME = 'Terror Bird', ID = 2, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The bird ran away."}, {3, "The terror bird is pecking you."} }, SUCCESS_MSG = "You have tamed the bird."}, ["Boar"] = {NAME = 'Boar', ID = 10, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The boar has run away"}, {3, "The boar attacks you."} }, SUCCESS_MSG = "You have tamed the boar."}, ["Crustacea Gigantica"] = {NAME = 'Crustacea Gigantica', ID = 7, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The crustacea has run away."}, {2, "The crustacea ate the shrimp."} }, SUCCESS_MSG = "You have tamed the crustacea."}, ["Undead Cavebear"] = {NAME = 'Undead Cavebear', ID = 12, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The undead bear has run away."} }, SUCCESS_MSG = "You have tamed the skeleton."}, ["Wailing Widow"] = {NAME = 'Wailing Widow', ID = 1, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The widow has run away."}, {2, "The widow has eaten the sweet bait."} }, SUCCESS_MSG = "You have tamed the widow."}, ["inoperative tin lizzard"] = {NAME = 'inoperative tin lizzard', ID = 8, TYPE = TYPE_ITEM, CHANCE = 100, FAIL_MSG = { {2, "The key broke inside."} }, SUCCESS_MSG = "You have started the Tin Lizzard!"}, ["Draptor"] = {NAME = 'Draptor', ID = 6, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The draptor has run away."}, {3, "The draptor has fled."} }, SUCCESS_MSG = "You have tamed the draptor."}, ["Crystal Wolf"] = {NAME = 'Crystal Wolf', ID = 16, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The wolf has run away."} }, SUCCESS_MSG = "You have tamed the wolf."}, ["Enraged White Deer"] = {NAME = 'Enraged White Deer', ID = 18, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {2, "The cone broke."}, {3, "The deer has fled in fear."} }, SUCCESS_MSG = "You have tamed the deer."}, ["Panda"] = {NAME = 'Panda', ID = 19, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {4, "Panda ate the leaves and ran away."} }, SUCCESS_MSG = "You have tamed the panda."}, ["Dromedary"] = {NAME = 'Dromedary', ID = 20, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "Dromedary has run away."} }, SUCCESS_MSG = "You have tamed the dromedary."}, ["Sandstone Scorpion"] = {NAME = 'Sandstone Scorpion', ID = 21, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The scorpion has vanished."}, {2, "Scorpion broken the sceptre."} }, SUCCESS_MSG = "You have tamed the scorpion"}, ["Donkey"] = {NAME = 'Donkey', ID = 13, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The witch has escaped!"} }, SUCCESS_MSG = "You have tamed the mule."}, ["inoperative uniwheel"] = {NAME = 'inoperative uniwheel', ID = 15, TYPE = TYPE_ITEM, CHANCE = 100, FAIL_MSG = { {2, "The oil is having no effect."} }, SUCCESS_MSG = "You have found an Uniwheel."}, ["Slug"] = {NAME = 'Slug', ID = 14, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The slug has run away."}, {3, "The drug had no effect."} }, SUCCESS_MSG = "You have tamed the slug."}, ["Wild Horse"] = {NAME = 'Wild Horse', ID = 17, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The horse runs away."}, {2, "The horse ate the oats."} }, SUCCESS_MSG = "You have tamed the horse."}, ["Manta Ray"] = {NAME = 'Manta Ray', ID = 28, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The manta ray fled."}, {3, "The manta ray is trying to escape."} }, SUCCESS_MSG = "You have tamed the manta ray."}, ["Lady Bug"] = {NAME = 'Lady Bug', ID = 27, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The ladybug got scared and ran away."}, {3, "The ladybug is trying to nibble."} }, SUCCESS_MSG = "You tame a ladybug."}, ["Water Buffalo"] = {NAME = 'Water Buffalo', ID = 35, TYPE = TYPE_MONSTER, CHANCE = 100, FAIL_MSG = { {1, "The water buffalo got scared and ran away."}, {3, "The water buffalo is trying to nibble."} }, SUCCESS_MSG = "You tamed a water buffalo."} } local function doFailAction(cid, mount, pos, item, itemEx) local action, effect = mount.FAIL_MSG[math.random(1, table.maxn(mount.FAIL_MSG))], CONST_ME_POFF if(action[1] == ACTION_RUN) then Creature(itemEx.uid):remove() elseif(action[1] == ACTION_BREAK) then effect = CONST_ME_BLOCKHIT Item(item.uid):remove(1) elseif(action[1] == ACTION_ALL) then Creature(itemEx.uid):remove() Item(item.uid):remove(1) end Position(pos):sendMagicEffect(effect) Player(cid):say(action[2], TALKTYPE_ORANGE_1) return action end function onUse(cid, item, fromPosition, itemEx, toPosition) local player = Player(cid) if not Monster(itemEx.uid) then return true end local monster = Monster(itemEx.uid) local npc = Npc(itemEx.uid) local targetitem = Item(itemEx.uid) local mount = config[monster:getName()] if mount == nil then return false end if player:hasMount(mount.ID) then player:say("You already own this mount!", TALKTYPE_ORANGE_1) return false end local rand = math.random(1, 100) --Monster Mount if monster ~= nil and mount.TYPE == TYPE_MONSTER then if Creature(itemEx.uid):getMaster() then player:say("You cant tame a summon!", TALKTYPE_ORANGE_1) return true end if mount.NAME == monster:getName() then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) monster:remove() toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true else toPosition:sendMagicEffect(CONST_ME_POFF) end --NPC Mount elseif npc ~= nil and mount.TYPE == TYPE_NPC then if mount.NAME == npc:getName() then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true end --Item Mount elseif targetitem ~= nil and mount.TYPE == TYPE_ITEM then if mount.NAME == targetitem:getName() then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true end --Action Mount elseif itemEx.actionid > 0 and mount.TYPE == TYPE_ACTION then if(mount.NAME == itemEx.actionid) then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true end --Unique Mount elseif itemEx.uid <= 65535 and mount.TYPE == TYPE_UNIQUE then if mount.NAME == itemEx.uid then if rand > mount.CHANCE then doFailAction(cid, mount, toPosition, item, itemEx) return true end player:addMount(mount.ID) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) player:say(mount.SUCCESS_MSG, TALKTYPE_ORANGE_1) toPosition:sendMagicEffect(CONST_ME_MAGIC_GREEN) Item(item.uid):remove(1) return true end end return false end1 ponto- Add itens novos nos itens.otb
1 pontoMe dá um Gostei pela ajuda que já dei que eu continuo te ajudando1 ponto- Novas Sprites
Novas Sprites
acesso123 reagiu a raphaelpdc por uma resposta no tópico
1 pontoEae galera depois de um tempo sem postar, estou voltando a ativa com as minhas sprites, e fiz algumas laminas e queria que vocês avaliassem para min poder melhor mais ainda, não liguem para o outline, avaliem só a lamina, aqui esta: Hellsing Sword: v1 v2 v3 Avalie cada uma delas e poste um comentario do que achou, e se gostou rep+1 ponto- Tutorial Básico de spriting.
Tutorial Básico de spriting.
beadandes reagiu a CorvoAnarcoPunk por uma resposta no tópico
1 pontoComo ter uma noção de iluminação. A luz vem do noroeste, e refletida no sudeste e o sprite sempre tem que estar com sua iluminação. Lembrando que a parte do sudeste não é tão escura, por que a luz é refletida no caso. Veja no exemplo. 1- Luz direta. A luz e mais forte na parte do noroeste, pois a luz é direta fazendo que o efeito com brilho. 2- Luz refletida. Reparem que há pouca luz na parte sudeste da sprite, vocês podem notar que a luz é menor. Por que a luz vem do sudeste e refletida no noroeste? Lembrando que as sprites são na perspectiva 45°, por isso a luz vem do noroeste. O que é AA? Anti-aliasing (AA). O AA é o efeito que diminui o sprite que esta serrilhado, deixando pixels de aparência mais suave, e redonda. Evitando o pillow shading. O que é pillow shading? Pillow shading é quando você esta fazendo a sprite e ela fica com o efeito borracha agora como evitamos, siga a imagem a baixo. 1- Lado com o efeito pillow shading. 2- Lado com o efeito suave e metalico. Como fazer contraste. Observe essa imagem e veja a diferença de cores com 2 a 3 tipos de cores, tendo uma divisão entre o meio da sprite, parte lado mais escuro e mais claro, agora segundo os paços da luz vocês podem ver que o contraste, com as cores ficam assim. Outlines e suas simples técnicas. Vamos notar que na figura acima eu fiz um dragão. Eu comecei com simples rabiscos bem curvos, e não tenha medo de usar as curvas, pois e uma coisa que pode ajudar de mais. Depois dos rabiscos vamos notar a figura V2, nesta figura eu fui despoluindo os Pixels e adicionando mais curvas até que cheguei ao terceiro resultado. Que e um pouco mais curvado do que o outro, pois a cada passo que fui moldando meu dragão eu fui usando somente curvas. Já na quarta figura eu fui acrescentado detalhes, esses detalhes e para adicionar a impressão de que e realmente um tipo de dragão. Note que ele esta bem mais curvado do que nas anteriores, pois quero chegar a um único resultado. Varias pessoas tem dificuldades na parte de criação do outline, mas e muito fácil e que nem aqueles desenhos que fazíamos na 1 serie. Ais vão moldando o desenho ate que chegaremos ao ultimo resultado. Que e o outline que você queria.Vamos notar que na figura acima eu fiz um dragão. Eu comecei com simples rabiscos bem curvos, e não tenha medo de usar as curvas, pois e uma coisa que pode ajudar de mais. Depois dos rabiscos vamos notar a figura V2, nesta figura eu fui despoluindo os Pixels e adicionando mais curvas até que cheguei ao terceiro resultado. Que e um pouco mais curvado do que o outro, pois a cada passo que fui moldando meu dragão eu fui usando somente curvas. Já na quarta figura eu fui acrescentado detalhes, esses detalhes e para adicionar a impressão de que e realmente um tipo de dragão. Note que ele esta bem mais curvado do que nas anteriores, pois quero chegar a um único resultado. Varias pessoas tem dificuldades na parte de criação do outline, mas e muito fácil e que nem aqueles desenhos que fazíamos na 1 serie. Ais vão moldando o desenho ate que chegaremos ao ultimo resultado. Que e o outline que você queria.1 ponto- [Resolvido] [AJUDA] Sql
[Resolvido] [AJUDA] Sql
FeehLoveCes reagiu a Skydangerous por uma resposta no tópico
1 pontoVocê abre o seu sqlite studio, e abre o banco de dados do seu otserv. Depois na barra de menu lá em cima ta escrito "TOOL" clica nele. Em seguida clique na opção "Open SQL query Editor". Vai ficar um quadrado branco, cole a tag sql lá. e finalmente clica no raio , para executar ou aperte f9. Pronto, irá dar uma mensagem de sucesso.1 pontoLíderes está configurado para São Paulo/GMT-03:00 - Poke Zot V2 Editado Por Pato Roko
Informação Importante
Confirmação de Termo