Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 08/11/12 em %
-
Olá galera, hoje vou postar mais um script para pokemon dash advanced. Bem legal e acho que também é um dos mais procurados... Vamos a ele. Nome: Duel System por Action O que faz? Faz com que dois players duelem com limites de pokemons, escolhido no inicio das configurações da batalha. Primeiro vamos à actions/scripts e criaremos um arquivo chamado duelSystem.lua e dentro vamos colar o código abaixo: Agora vamos a tag, em actions.XML cole a seguinte tag: <action itemid="id do item que vai o player vai usar para o duel" event="script" value="duelSystem.lua"/> Pronto. Vamos a pasta xml/channels.xml e crie as seguintes janelas: <channel id="id decorrente da sua channel" name="1 Pokemon"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="2 Pokemons"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="3 Pokemons"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="4 Pokemons"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="5 Pokemons"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="6 Pokemons"> <vocation id="51"/> </channel> Depois disso, não mude mais nada. Vamos agora em vocations.xml e vamos colar a seguinte tag dentro: <vocation id="51" name="Duel" description="pokemon trainer" needpremium="0" gaincap="0" gainhp="55" gainmana="0" gainhpticks="0" gainhpamount="0" gainmanaticks="0" gainmanaamount="0" manamultiplier="1.1" attackspeed="-1" soulmax="251" gainsoulticks="-1" fromvoc="1" lessloss="0"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="2" club="2" sword="2" axe="2" distance="2" shielding="2" fishing="2" experience="1.1"/> </vocation> Obs: Não mude nada nela... Feito isso, vamos a pasta creaturescripts/scripts e vamos criar um arquivo chamado duelSystemChannel.lua e colaremos o código a seguir dentro: Agora vamos colocar duas tags, uma em login.lua e a outra em creaturescripts.xml: CreatureScript.xml: <event type="joinchannel" name="DuelSystemChannel" event="script" value="duelSystemChannel.lua"/> Login.lua registerCreatureEvent(cid, "DuelSystemChannel") Feito isso, vamos a talkactions/scripts e criaremos um arquivo chamado acceptDuel.lua e dentro cole o código abaixo: Agora vamos á talkactions.XML e colaremos as tag a seguir: <talkaction words="yes" event="script" value="duel.lua"/> <talkaction words="sim" event="script" value="duel.lua"/> Agora vamos em lib/ e criaremos um arquivo chamado duelLibSystem.lua e colaremos o seguinte código dentro: Vamos para actions/scripts/goback.lua e vamos procurar por está linha: if item.itemid == usando then Abaixo disso cole isso: doBackPokeballsInDuel(cid) Aindan no mesmo script procure por: elseif item.itemid == pokeballs[btype].on then E abaixo dele cole isso: checkPokeballsInDuel(cid) Vamos agora em creaturescripts/scripts/goback.lua e antes do utimo apague tudo e cole isto dentro: Obs: O script falta duas funções para funcionar perfeitamente. A primeira é para não deixar o player usar o item em cima dele mesmo. A segunda e para não deixar o player deslogar enquanto está no duel. Tentei e tentei mas não consegui... Caso alguém possa ajudar fico muito grato. Como funciona? Você da use em cima do player que quer batalhar, escolhe quantos pokemons querem usar. O outro player fala (“yes” ou “sim”) e começam a duelar. Eu deixei uma função para deixar um player attackar o outro se ele estiver sem pokemon. Porem não perdera nada se morrer. É isso galera espero que gostem. Lembrando vou atualizar este sistema para melhora-lo. Só deixei ele para teste. Caso gostem termino ele.5 pontos
-
Npc Que Usa Outro Item Como Dinheiro
Bennyhappy e um outro reagiu a MatheusGlad por um tópico no fórum
Bem, eu fiz algumas alteraçoes no Npc System para que isso fosse possivel, tambem fiz alteraçoes na source, porem as modificaçoes da source nao sao obrigatorias, porem para um otserver serio seria bem legal implementa-las. Video: Download dos arquivos ja modificados: Npc System Modified.rar Ou entao modifique voce mesmo. Entao vamos as alteraçoes: Vá em data\npc\lib\npcsystem, todas as alteraçoes serao nos arquivos desta pasta entao nao vou ficar falando o destino. npchandler.lua: Procure por: Em baixo adicione essa linha: Procure por: Substitua por: Procure por: Substitua por: Agora Procure por: Mude para: Procure por: Mude para: modules.lua: Procure por: Embaixo bote: Procure por: Substitua Toda a funçao por: function ShopModule:callbackOnBuy(cid, itemid, subType, amount, ignoreCap, inBackpacks, moneyId) local shopItem = nil if amount <= 0 or type(amount) ~= "number" then amount = 1 end for _, item in ipairs(self.npcHandler.shopItems) do if(item.id == itemid and item.subType == subType) then shopItem = item break end end if(shopItem == nil) then error("[shopModule.onBuy]", "Item not found on shopItems list") return false end if(shopItem.buy == -1) then error("[shopModule.onSell]", "Attempt to purchase an item which only sellable") return false end local backpack, totalCost = 1988, amount * shopItem.buy if(inBackpacks) then totalCost = not moneyId and (totalCost + (math.max(1, math.floor(amount / getContainerCapById(backpack))) * 20)) or totalCost end local parseInfo = { [TAG_PLAYERNAME] = getPlayerName(cid), [TAG_ITEMCOUNT] = amount, [TAG_TOTALCOST] = totalCost, [TAG_ITEMNAME] = shopItem.name, [TAG_MONEYNAME] = moneyId and getItemNameById(moneyId) or "gold" } if (not moneyId and getPlayerMoney(cid) < totalCost) or (moneyId and getPlayerItemCount(cid, moneyId) < totalCost) then local msg = self.npcHandler:getMessage(MESSAGE_NEEDMONEY) doPlayerSendCancel(cid, self.npcHandler:parseMessage(msg, parseInfo)) return false end local subType = shopItem.subType or 1 local a, b = doNpcSellItem(cid, itemid, amount, subType, ignoreCap, inBackpacks, backpack) if(a < amount) then local msgId = MESSAGE_NEEDMORESPACE if(a == 0) then msgId = MESSAGE_NEEDSPACE end local msg = self.npcHandler:getMessage(msgId) parseInfo[TAG_ITEMCOUNT] = a doPlayerSendCancel(cid, self.npcHandler:parseMessage(msg, parseInfo)) if(NPCHANDLER_CONVBEHAVIOR ~= CONVERSATION_DEFAULT) then self.npcHandler.talkStart[cid] = os.time() else self.npcHandler.talkStart = os.time() end if(a > 0) then if not moneyId then doPlayerRemoveMoney(cid, ((a * shopItem.buy) + (b * 20))) else doPlayerRemoveItem(cid, moneyId, ((a * shopItem.buy) + (b * 20))) end return true end return false end local msg = self.npcHandler:getMessage(MESSAGE_BOUGHT) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, self.npcHandler:parseMessage(msg, parseInfo)) if not moneyId then doPlayerRemoveMoney(cid, totalCost) else doPlayerRemoveItem(cid, moneyId, totalCost) end if(NPCHANDLER_CONVBEHAVIOR ~= CONVERSATION_DEFAULT) then self.npcHandler.talkStart[cid] = os.time() else self.npcHandler.talkStart = os.time() end return true end Agora procure por: Substitua toda a funçao por: function ShopModule:callbackOnSell(cid, itemid, subType, amount, ignoreCap, inBackpacks, moneyId) local shopItem = nil for _, item in ipairs(self.npcHandler.shopItems) do if(item.id == itemid and item.subType == subType) then shopItem = item break end end if(shopItem == nil) then error("[shopModule.onBuy]", "Item not found on shopItems list") return false end if(shopItem.sell == -1) then error("[shopModule.onSell]", "Attempt to sell an item which is only buyable") return false end local parseInfo = { [TAG_PLAYERNAME] = getPlayerName(cid), [TAG_ITEMCOUNT] = amount, [TAG_TOTALCOST] = amount * shopItem.sell, [TAG_ITEMNAME] = shopItem.name, [TAG_MONEYNAME] = moneyId and getItemNameById(moneyId) or "gold" } if(subType < 1 or getItemInfo(itemid).stackable) then subType = -1 end if(doPlayerRemoveItem(cid, itemid, amount, subType)) then local msg = self.npcHandler:getMessage(MESSAGE_SOLD) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, self.npcHandler:parseMessage(msg, parseInfo)) if not moneyId then doPlayerAddMoney(cid, amount * shopItem.sell) else doPlayerAddItem(cid, moneyId, amount * shopItem.sell) end if(NPCHANDLER_CONVBEHAVIOR ~= CONVERSATION_DEFAULT) then self.npcHandler.talkStart[cid] = os.time() else self.npcHandler.talkStart = os.time() end return true end local msg = self.npcHandler:getMessage(MESSAGE_NEEDITEM) doPlayerSendCancel(cid, self.npcHandler:parseMessage(msg, parseInfo)) if(NPCHANDLER_CONVBEHAVIOR ~= CONVERSATION_DEFAULT) then self.npcHandler.talkStart[cid] = os.time() else self.npcHandler.talkStart = os.time() end return false end npcsystem.lua: Procure por: Embaixo bote: Agora a parte em C++, lembrando nao é obrigatoria, é mais para uma questao de estetica: protocolgame.cpp: Obs: Isso soh ira funcionar com UMA MOEDA DIFERENTE! Voce pode editar para fazer funcionar com mais, porem tenha certeza que sabe o que esta fazendo. Procure pela funçao: Substitua toda ela por: void ProtocolGame::sendGoods(const ShopInfoList& shop) { NetworkMessage_ptr msg = getOutputBuffer(); if(msg) { TRACK_MESSAGE(msg); msg->AddByte(0x7B); std::string value; player->getStorage(97113, value); if (atoi(value.c_str()) != 1) { msg->AddU32(g_game.getMoney(player)); } else { msg->AddU32(player->__getItemTypeCount(9971)); } std::map<uint32_t, uint32_t> goodsMap; if(shop.size() >= 5) { for(ShopInfoList::const_iterator sit = shop.begin(); sit != shop.end(); ++sit) { if(sit->sellPrice < 0) continue; int8_t subType = -1; if(sit->subType) { const ItemType& it = Item::items[sit->itemId]; if(it.hasSubType() && !it.stackable) subType = sit->subType; } uint32_t count = player->__getItemTypeCount(sit->itemId, subType); if(count > 0) goodsMap[sit->itemId] = count; } } else { std::map<uint32_t, uint32_t> tmpMap; player->__getAllItemTypeCount(tmpMap); for(ShopInfoList::const_iterator sit = shop.begin(); sit != shop.end(); ++sit) { if(sit->sellPrice < 0) continue; int8_t subType = -1; if(sit->subType) { const ItemType& it = Item::items[sit->itemId]; if(it.hasSubType() && !it.stackable) subType = sit->subType; } if(subType != -1) { uint32_t count = player->__getItemTypeCount(sit->itemId, subType); if(count > 0) goodsMap[sit->itemId] = count; } else goodsMap[sit->itemId] = tmpMap[sit->itemId]; } } msg->AddByte(std::min(goodsMap.size(), (size_t)255)); std::map<uint32_t, uint32_t>::const_iterator it = goodsMap.begin(); for(uint32_t i = 0; it != goodsMap.end() && i < 255; ++it, ++i) { msg->AddItemId(it->first); msg->AddByte(std::min(it->second, (uint32_t)255)); } } } E na linha msg->AddU32(player->__getItemTypeCount(9971)); aonde esta 9971 voce troca pelo id da sua moeda diferente! player.cpp: Procure por: Voce achara 2 desses em ambos bote isso embaixo: Pronto agora para que um npc use a moeda diferente ou nao voce bota isso no XML dele: Flw2 pontos -
[Encerrado] [Pokemon] Dúvidas? - Pda
FlamesAdmin e um outro reagiu a SmiX por um tópico no fórum
@All Mais um system bem legal galera... Duel System por action, link.2 pontos -
Olá xtibianos! Acredito que esse seja meu primeiro tutorial feito por mim mesmo aqui no fórum, espero que gostem e aprovem Rep + Introdução: Nesse tutorial, vou lhes ensinar como instalar e configurar o sistema de PagSeguro automático, para que quando o pagamento for Aprovado pelo PagSeguro, o sistema entregar os pontos automaticamente. Testado e funcionando em Gesior e Modern Acc. Funciona para qualquer versão de Tibia, desde que seja em MySQL. Quando você for testar, pode acontecer que os pontos sejam entregues com um atraso de no máximo 5~10 minutos depois de Aprovado o pagamento, porém, geralmente os pontos são entregues NA HORA do Aprovado pagamento. Instalação: Primeiramente vamos adicionar uma tabela na sua DataBase do MySQL, Executem esta query para criar a tabela: Feito isso, vamos editar ou adicionar se você já não tiver, essas linhas no seu htdocs/config/config.php : Depois, vamos adicionar essas linhas no seu htdocs/index.php : Agora, troque todo o seu htdocs/shopsystem.php (pode variar, mas no gesior geralmente é shopsystem.php)por este: Também troque todo o seu htdocs/donate.php (pode variar, mas no gesior geralmente é donate.php) por este: Agora, crie um novo arquivo .php com o nome pag_retorno.php com este conteúdo: Por último mas não menos importante, entre no site do PagSeguro e logue, após logar, vai aparecer várias opções na parte inferior do site do PagSeguro, clique em "Retorno Automático". Nesta página, é onde você gera o seu Token PagSeguro e configura sua URL de retorno. Você deve ativar a URL de retorno, e colocar este link na URL de Retorno: Pronto, já está tudo OK, agora vou ensinar como configurar algumas partes de alguns arquivos que citei acima. Configuração Adicional: Depois que você já alterou as informações no config.php no que é pedido, algumas alterações devem ser feitas também no arquivo htdocs/pag_retorno.php : (não esqueça de editar as partes que pedem informações sobre usuario, senha, nome db do MYSQL) 1 - Nas linhas: Você deve alterar o que está sendo pedido, e no "127.0.0.1", se você usa seu site no mesmo PC ou Dedicado/VPS que o seu Server, pode deixar "127.0.0.1" mesmo, se não (no caso de usar domínio), deve colocar ali o seu IP Externo Numérico do Server. 2 - Nas linhas: Esta parte é a que entrega os pontos automaticamente pra account, se você tem algum tipo de promoção no seu server, deve alterar aqui conforme sua promoção, exemplo: Se você tem a promoção de Double Points no seu Server, deve alterar: Por este: Para que os pontos sejam DOBRADOS na hora de entregar automaticamente, entendeu? Bom Galera, é isso aí, espero que gostem. Dúvidas, Sugestões ou Críticas, postem aqui para que eu possa atender a todos. Créditos: Tutorial feito 100% por mim (Lucas502 - xtibia.com) Te Ajudei? Então REP+ aew! EDIT: Adicionados Spoilers para melhor visualização do tópico.1 ponto
-
Nome: bool manager Tipo: C++ Autor: Oneshot Oioioi, como vai? Vi um pedido interessante no seção de suporte, que consistia em fazer um jeito de vocações que não são promotions de outras não aparecerem nas opções do Account Manager. Ou seja são vocações iniciais mas você pode ter a livre opção de bloquear a escolha da vocação no Account Manager pelo jogador. Em vocations.h, procure por: bool attackable, needPremium; Substitua: bool attackable, needPremium, manager; Procure por: bool isPremiumNeeded() const {return needPremium;} void setNeedPremium(bool v) {needPremium = v;} Adicione logo abaixo: bool isManagerOption() const {return manager;} void setAsManagerOption(bool v) {manager = v;} Agora em vocations.cpp, procure por: if(readXMLString(p, "needpremium", strValue)) voc->setNeedPremium(booleanString(strValue)); Logo abaixo adicione: if(readXMLString(p, "accountmanager", strValue) || readXMLString(p, "manager", strValue)) voc->setAsManagerOption(booleanString(strValue)); Procure por: needPremium = false; Adicione logo abaixo: manager = true; E finalmente em player.cpp, procure por: if(it->first == it->second->getFromVocation() && it->first != 0) Substitua por: if(it->first == it->second->getFromVocation() && it->first != 0 && it->second->isManagerOption() == true) Logo abaixo, procure por: if(checkText(text, tmp) && it != Vocations::getInstance()->getLastVocation() && it->first == it->second->getFromVocation() && it->first != 0) Substitua por: if(checkText(text, tmp) && it != Vocations::getInstance()->getLastVocation() && it->first == it->second->getFromVocation() && it->first != 0 && it->second->isManagerOption() == true) Compile e teste. O modo de uso é bem simples, no seu vocations.xml, escolha a vocação que você quer ou não quer que apareça no Account Manager: <vocation id="9" name="Fighter" description="a fighter" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="2" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="9"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> E adicione a opção manager com valor 0 ou 1, para não aparecer e aparecer, respectivamente: <vocation id="9" name="Fighter" description="a fighter" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="2" manamultiplier="3.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="9" manager="0"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/> </vocation> Assim a vocação não poderá ser selecionada pelo Account Manager. Um grande abraço.1 ponto
-
Bom... Esse e o Meu Primeiro mapa que eu Edito.. Entao Vamos Direto ao Que Enteressa. o Que Tem No Discovery BaiaK? FOTO DO TEMPLO FOTO DA SALA DE TELEPORTS FREE FOTO DA VIP 3 DOWNLOAD: SCAN: Obs: Caso voce acho mapa ruim.. me informe no que eu devo melhora obrigado..! Pedi Rep e ilegal entao doe " REP "1 ponto
-
KungLow:Olá Xtibianos, estou aqui para minha 1° entrevista!!! Desta vez, exclusiva, com o Colaborador Caotic. Caotic, antes de começarmos gostaria de dizer algo? Caotic:Bem primeiramente agradecer ao Thiago(Vodkart),LordFire,Beeki,Stevan(KungLow) e o Demobholder.Porque sem eles nunca estaria aqui eles foram peças muito importante para mim e para o Xtibia. KungLow:Nos fale seu nome, enderço, fax, cep, identidade... entre outros ;s Caotic:Sou Tiago Moro no Interior de Minas Gerais em uma pequena cidade KungLow:Tiago(Caotic), como foi que você conheceu o Xtibia? Foi por algum motivo especial? Caotic:Meu primeiro contanto com Tibia foi por pura pesquisa minha tive alguns amigos que ja jogavam tibia mais nunca sabia. Depois de um tempo me aventurei em PokeTibia(Pokemon) que realmente a porta para a entrada para o xtibia. Caotic:Bem depois que descobri a possibilidade de ter um servidor pokemon eu achei o xtibia para encontrar informaçoes então não demorou para eu descobrir coisas novos em otservs até decidi me aventurar a estudar Lua em diversos websites e principalmente no Xtibia.Faz mais ou menos 2 realizando scripts Lua e uns 3 anos no Xtibia KungLow:Qual foi assim o seu script assim possamos dizer o mais complicado de se fazer? E o mais fácil? Caotic:Bem sempre tem script que realmente tem uma coisinha que irrita bem o pior mesmo foi um que usava hora.E o mais facil não me recordo KungLow:Quais dicas você tem a dar para quem está querendo entrar no ramo da criação de scripts? Caotic:Nunca desistir,sempre buscar maneiras de inovaçoes,Desconsiderar sua Idade,Se esforçar muito e sempre pensar que e capaz. KungLow:Quais os maiores problemas que você encontrou na sua função, antes de chegar a ser colaborador? Caotic:Foi temer a minha capacidade pensar que nunca chegaria a ser um coloborador este foi o maior desafio meu tive que acabar com este pensamento tive que levantar a cabeça e esforçar muito. KungLow:Dentro da equipe do Xtibia, há alguém que você não se da bem? Sempre tem uma pessoa que não combinamos. Há essa pessoa dentro da equipe do Xtibia? Caotic:Realmente no forum xtibia teve membros que não gostaram da minha presença mais depois que foi me descobrindo hoje nos me damos bem em relação a equipe nunca tive um usuario que não gostava de min sempre me dei bem com eles. KungLow:Vamos falar sobre o tibia global agora? Caotic:Ok. KungLow:Você prefere qual estilo de mundos para se jogar? Non-PvP, Enforced ou PvP? Caotic:No-PvP KungLow:Você é mais da paz né.. rsrs... Na sua humilde opinião qual o melhor mundo hoje em dia para se jogar? Caotic:Realmente para mim isto não faz diferença se colocar esforco no personagem você vai consiguir KungLow:Vamos falar um pouco então sobre ots pokemons. Caotic:Ok. Vamos lá. KungLow:Quando foi o seu primeiro contato com estes digamos "inusitados servidores de tibia"? Caotic:Foi no Beta do Pokemon Adventure onde apenas existia ainda suas contas por account manager este foi uns dos melhores momentos tibianos que eu joguei. KungLow:Como foi seu primeiro contato com esses servidores? Digo, que havia novos comandos, novas sprites.. Caotic:Realmente otservs poketibianos eu realmente passei por varios muitas pessoas podem me conhecer com este nick "Hero Naruto" ou "Hero Caotic" por isso que lembrar os meus primeiros contato seria um pouco dificil de lembrar. KungLow:Qual foi seu primeiro pokemon? Como foi sua experiência com eles? Caotic:KK, este pergunta me faz rir naquela epoca tudo mundo sonhava ter o grouup id 6(God) então realmente eu fiz um servidor em busca disto e como era novato dava god até para deus kk. O primeiro Pokemon Me recordo nome do servidor acho que era (Nome do Servidor) depois foi o pokemon diamond e depois o pokemon battle.Teve outros mais que eu me recorde são estes KungLow:Já teve alguma decepção na vida tibiana/poketibiana? Digo achar que um char era mulher e dar um item tal e depois descobre e fica decepcionado? Caotic:Nunca tive isto mais tenho decpeçoes por perder amigos e até hoje ja tentei procurar alguns(Males ou Male(Este participo do comandopokemon) e GM Dix(Poke Online) KungLow:O que você faria se fosse promovido a moderador do Xtibia agora? Caotic:Daria o Maximo de Min porque espero todos os dias esta promoção para eu monstrar minha capacidade ainda mais. Pretendo dar tudo que tenho quando for promovido.E jamais abondanar o xtibia porque esta chance eu espero desde do primeiro dia que entrei no xtibia KungLow:Por suas "viajadas" no fórum, já tem alguém em vista para que possa ser um futuro membro do Xtibia? Caotic:Realmente confio muito que o Stevan(KunLow) vai brilhar no Xtibia. Quando o conheci sempre vi que ele era uma pessoa esforçada que buscava as coisas e espero que ele evolua e que fique sempre no xtibia KungLow:Obrigado Tiago(Caotic). Quando você me ajudou com meu 1° script, vi que você era uma pessoa não só para tirar dúvidas mas sim para ter uma amizade. Caotic:Obrigado KungLow:Estamos no fim de nossa entrevista, gostaria de dizer algo para fecharmos com chave de ouro? Caotic:Obrigado Aos Xtibianos e aos membros citados a cima.1 ponto
-
New Pvp-enforced 8.4
weslwy10 reagiu a weslwy2012 por um tópico no fórum
mano voce tem que colocar o scan sertinho por!!!1 ponto -
Muito obrigado! Não entendi o que quer dizer com esse comentário...1 ponto
-
Se você já se perguntou: Por que na coluna vip_time aparece um número absurdo, se eu adicionei apenas alguns dias vip? Aqui encontrará a resposta! Os players do seu server que tem conta VIP terão em sua vip_time um número parecido com este: 1344747131 Mas, o que este número quer dizer? Este número é o tempo em segundos medido desde a Era Unix, ou seja, desde 1 de Janeiro de 1970 às 00:00:00, que é dado pela função os.time(). Logo... Digamos que no dia 1 de janeiro de 2012 às 0h, eu tenha adicionado 1 dia vip em determinada conta do meu server. O número que aparecerá na vip_time será: 1324512000 Que é, aproximadamente, o resultado de: 42 anos * 365 dias * 24 horas * 60 minutos * 60 segundos. Ou seja, o tempo medido em segundos desde 1 de janeiro de 1970 até 1 de janeiro de 2012. Este foi apenas o meu primeiro tutorial. Se copiar estas informações em qualquer outro fórum, por favor, cite-me.1 ponto
-
@353009 Mals errei... Não sei muito bem. Quem sabe é o slicer. Ele quem fez essa função.1 ponto
-
Preciso Urgente De Um Script De Skill
TarikHenrique reagiu a KUNGLOW por uma questão
TarikHenrique, aqui segue o tutorial pedido por você no post acima. http://www.xtibia.com/forum/forum/592-otserv-iniciante/ Abraços. Qualquer dúvida envie PM. Stevan1 ponto -
O break é uma palavra-chave que para um loop, no caso, o loop causado pelo for ali no script. Eu usei o for junto com ipairs para percorrer a tabela deathlist retornada pelo creaturescript e quando ele achar um jogador na tabela, eu comando a interrupção da procura por jogadores através do break. Simples assim. Abraço.1 ponto
-
[Encerrado] Duvida Do Catch
NagatoRinnegan reagiu a fredpadua por um tópico no fórum
Muda a chance de catch no catch.lua .. Acho que fica nas actions, n tenho certeza agr..1 ponto -
Voce nao encontrara,para baixar. Pelo menos se alguem fiser nao postara para baixar de graça. So pago ou algo do tipo. Faça oque eu disse em outro topico,faça seu proprio otserv,seu estilo,sua fantasia,seu mundo. Vlw1 ponto
-
Spell Complicada Cima, Baixo, Direita, Esquerda
IsaqueTeixeira reagiu a LuckOake por uma questão
Edite em vermelho.1 ponto -
Sistema Pontos Por Tempo Online
blumaster reagiu a Newtonnotwen por uma questão
Sim, ali você põe o id do item que será pago ao npc. Se tu quiser que todo mundo ganhe o item por certo tempo online, é só fazer tipo o script da loteria.1 ponto -
Item Q Da Vocaçao
nbb147 reagiu a Newtonnotwen por uma questão
@Jhon992 É pra caso ele queira que um mesmo item faça diferentes funções tipo: -Player1 (voc1) usa item x e vira voc3 -Player2 (voc2) usa item x e vira voc4 Usando mesmo item. Mas obrigado pela dica.1 ponto -
Creditos Adicionados Gostaram Reputem.1 ponto
-
Mano isso é os Arquivos.dat .spr e .pic isso sao as spirites do Client1 ponto
-
1 ponto
-
[Spell] Teleport Dimension And Return! [Spell] Summon Diferente
Newtonnotwen reagiu a LuckOake por uma questão
Rapidim, vou só ajustar uma coisinha no script. Agora o teleport aparece exatamente na frente do player. Sobre seu problema, vá em lib/032-position.lua e substitua a função isInRange por essa: function isInRange(position, fromPosition, toPosition) return (position.x >= fromPosition.x and position.y >= fromPosition.y and position.z >= fromPosition.z and position.x <= toPosition.x and position.y <= toPosition.y and position.z <= toPosition.z) end1 ponto -
Valeu HarpiaLOOK,Rep Mais Pra Você1 ponto
-
Bless Com Aol
Piabeta Kun reagiu a Vodkart por uma questão
ai é só fazer o script... DropBless.lua function onDeath(cid, corpse, deathList) function HaveBless(cid) for i = 1,5 do if getPlayerBlessing(cid, i) then return true end end return false end if isPlayer(cid) and HaveBless(cid) and getPlayerSkullType(cid) < SKULL_RED then doCreatureSetDropLoot(cid, false) end return true end creaturescript.xml <event type="death" name="BlessDrop" event="script" value="DropBless.lua"/> creaturescript/script/login.lua registerCreatureEvent(cid, "BlessDrop")1 ponto -
.OLHA PESSOAL VIM TRAZER UM MAPA BAIAK Ysho PRA QUEM QUER OT DEDICADO MESMO COM MUITAS INOVAÇÃO [Ysho] ESPERO QUE GOSTEM .LINK DO DAWLOAD SO VALIDO AKI .MapaJA Vem Com Anti-Nuk .Baiak Yurots V2.2 Oque Mudou ? .Mudou a City ta 90% 8.5 .Foi Arrumada As Houses. .Adicioano Npc Papai Noel no Templo Vende Items 8.54! .Novos Items .Novos Outifits .Novas Hunts. .E Muito Mais... .Baiak Yurots V2.7 Oque Mudou ? .Foi Adicionada um Nova Cidade Chamada Baiak City .Foi Adidionada Um Teleport no Templo Que Vai para Alumas City's .Foi Adicionado Npc de Bless,Pagando Todas as Bless você nao prescisa usar aol... .Foi Adicionado Uma Ilha de GM's ... .Bug do Account Mananger Arrumado. .Novo Executer adicionado,se o ot cai ele salva sozinhoo. .E Muito Mas Estara por vim ... .Baiak Yurots v1.0.9 Oque Mudou ? .Foi Adicionado Sistema Vip.. .Foi Adicionado 5 Novos Portais Vip .Foi Adicionado Novos Bixos Vip,Warlock Vip,Medusa Vip,Bossing of Baiak.. .Foi Adicionado New Quest Baiak Super Foda !! ;D .Foi Modificado o Templo .Foi Adicionado Mais Treiners ! .Entre Alguns Bugs Retirados .Baiak Yurots v1.1.0 Oque Mudou ? .Mudou o Protocolo de 8.57 para 8.60 .Novos Item .Novo Outfit .Baiak Yurots V1.1.4 Oque Mudou ? .Tirei o Pz tool do Templo .Fiz um Novo System Vip por Comando .Fiz o Novo Addon do Outfit do Wayfarer .Baiak Yurots Edited By Bryaan Oque mudou ? .Modifiquei o templo, totalmente NORMAL .Fiz novos comandos, !aol, !bless, !jail playername <para gods>, !removeskull (retira sua black ou red skull por 1kk), entre outros .Criei novos itens vips II! (obtidos na vip quest) .Fiz quest para axe vip, star vip,club vip,sword vip,wand e rod vip .Fiz uma vip II .Fiz Um Castelo, onde ocorre batalhas do time Verde X Vermelho. .Fiz uma Area Pvp, onde quem morrer nao perde level .Fiz uma quest vip, onde se ganha a vip II E mais um amuleto vip(permite que red skull e black skull nao percam itens, funciona como aol tambem, possui 30 cargas) e tambem um item vip de sua escolha( axe,sword,club,star,rod ou wand vip.) .Novos Teleports Adcionados na Vip II .Monstros novos como Medusa vip II, Hydra Vip II, entre outros. .Fiz uma Super Poi para vips II .Vocaçoes Balanciadas .Teleports Especiais [ARENA, CASTELO DO REI E HOUSE ISLAND] para level 300+ .Bug Da baiak cape que nao dava ml+6, arrumado, entre outros varios bugs .System Vip Como Funciona ? .A Vip I é free, portanto o comando !buyvip, foi removido, pois implicava com a vip II. .A Vip II é somente para quem conseguiu completar a Vip Quest, onde la voce ganha a vip stone, e vira vip usando ela .Fica agora umas Ss ai pra vocês Templo Teleports Area Vip normal Nova Hunt Da Area Vip "Bossing Off Baiak" Nova cidade de "WAR" Muito boa pra quem gosta de X1 Area Vip 2 Teleporte VIP 2 Cidade "FREE" Baiak Ysho Download do mapa: http://www.4shared.com/rar/fu5DuYuv/860_Baiak_Edited_By_Ysho.html? Scan: Atenção! Ae galera quem deixa ot online com esse mapa, por favo me chame pra ser cm eu gostaria muito de ajudar me add no msn ai: dieguinho_lol@hotmail.com Acessem meu BLOG: http://mapas-tibia.blogspot.com/ ACC: god/god Não custa nadinha da um "REP" galera. imagem.bmp1 ponto
-
-1 pontos
-
-1 pontos