Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 06/04/12 em %
-
events = {} config = { sit = {hp = 5, mana = 5}, outfit = {lookType = 3}, storage = 21211 } function onSay(cid, words, param, channel) setPlayerStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage) == -1 and 1 or -1) doCreatureSetNoMove(cid, getPlayerStorageValue(cid, config.storage) == 1 and true or false) if getPlayerStorageValue(cid, config.storage) == 1 then doPlayerSay(cid, "Ufa, Relaxando") doSetCreatureOutfit(cid, config.outfit, -1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA) doSitRelax(cid, config.sit) else doPlayerSay(cid, "você ficou em pé") doRemoveCondition(cid, CONDITION_OUTFIT) stopEvent(events[getPlayerGUID(cid)]) end return true end function doSitRelax(cid, formula) if not isCreature(cid) then return LUA_ERROR end doCreatureAddHealth(cid, formula.hp) doCreatureAddMana(cid, formula.mana) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA) events[getPlayerGUID(cid)] = addEvent(doSitRelax, 5000, cid, formula) end3 pontos
-
[Patrimônio XTibia] Sua última Foto - Mapping
Gabriel Couto e um outro reagiu a vital900 por um tópico no fórum
Bom, a area nao esta pronta, falta detalhar (antes de falarem cade os detalhes e talz).. ta tpo semi-pronto.. e q queria ter uma ideia se vale apena continuar na ideia.. (de misturar montanha com muralha.. q nunca tinha visto isto..) bom estarei esperando criticas/elogios antes de continuar a area.. e ali embaxo da estatua nao e falha minha e para dar rpg, o player podendo usar hur 'up // hur 'down...2 pontos -
[8.54] Naruto Atarashi Online V.1 Beta
irandasilvaalve reagiu a Avuenja por um tópico no fórum
Naruto Atarashi Online Menu: ├ Informações; ├ Ajustes; ├ Erros; ├ Senha; ├ Prints; ├ Download; ├ Scan; └ Créditos. Informações Nome Do Servidor: Naruto Atarashi Online Max Usuários Online: 100 Online Ele Contém:"Mapa Próprio" ; "Jutsus Próprio" / ( Diga "!jutsus" para saber Seu Jutsu) "Quest Própria". Ajustes 0.1 - Modificado Dat e Spr (Modificado Por Avuenja) (21/Março) 0.2 - Arrumado Outifts Dos Personagens E Monstros / (Arrumado Por Avuenja) (20/Abril) 0.3 - Arrumado Corpos Dos Montros / Dando Debug quando Players Matavam Os Mesmos / (Arrumado Por Avuenja) (26/Abril) 0.4 - Novos Montros / (Adicionado Por Avuenja) (28/Abril) 0.5 - Erro Trainer / Pouca Vida / ( Arrumado Novamente Por Avuenja) (08/Maio) 0.6 - Novas Houses / (Adicionado Por Avuenja) (26/Maio) 0.7 - Criada Uma Arena PvP / (Adicionado Por Avuenja) (26/Maio) 0.8 - Criado Sistema Ver Jutsus / (Adicionado Por Avuenja) (26/Maio) 0.9 - Arrumado Jutsus Que Não Funcionavam / (Arrumado Por Avuenja) (26/Maio) Erros 0.1 - Anbu Em Casa Separada Na Cidade Principal / (Ainda Não Arrumado) 0.2 - Pode Se Levar Debug Em Alguns Montros / (Ainda Um Pouco) Obs - Se Achar Mais, Basta Entrar Em Contato Com: avu.carvalho@gmail.com Senha Senha Para Entrar No Server / (Do GOD): god / god Prints Download's NrtAo V.1 Scan NrtAo V.1 Créditos 50% Eu (Avuenja) - Motivo: "Edição Final / Ajustes Finais / Implementação De Sistemas / E Outros". 45% (Stigal) - Motivo: "Edição Mediana / Alguns Ajustes". 5% (Seven) - Motivo: "Edição Inicial".1 ponto -
[C++] Compilando Um Otserv
JowL reagiu a Natanael Beckman por um tópico no fórum
Boa galera andei olhando e vi alguns tópicos até meio parecidos com o que estou fazendo agora, mais, eu não acho eles completos por tanto aqui vamos nois. 1° Vamos fazer todos os downloads necessários. Vamos usar um source TFS pra versão de Tibia 8.60 - Source - Stians Dev-Cpp <> 32bits - Stians Dev-Cpp <> 64bits 2° Abra o Dev-cpp: 3° Clique em Tools > Check For Updates/Packages: 4° Clique em Check For Updates and Upstairs select devpacks.org: 5° Seleciona OpenSSL 0.9.8a e clique em Dowload: 6° Em seguida irá aparecer automaticamente um processo de instalação: Agora seu Dev-cpp está no ponto pra compilar. 7° Use ctrl + o pra abri o .dev: 8° Ele vai estar dentro da pasta da sua source: 9° Então depois que abrir todos os arquivos: 10° Use alt + p logo após aparecerá uma janela ae clique em parameters e adicione, {-D__CONSOLE__} e depois OK: 11° Agora é so compilar ctrl + f9: 12º O seu executavél vai está na pasta da sua source: Pronto galera compilação concluida. Creditos: nwtr Nando Web Natan Beckman1 ponto -
VENHO TRAZER O MEU SERVER ARRUMADO E SEM BUGS NAO QUIS MAIS ABRIR MEU SV ENTAO VO POSTA OQ TEM NELE: Kame Vocation Raditz Vocation C16 Vocation & Muito Mais... Shenron Novas Transforms Novas Spells Fusoes melhoradas (Todos, Escrever: fusion) Escreva "Transform" Ou Escrever: transformar. Taxa de equilibrio (Aproximadamente 90% dos Skill) Monstros Dividido com "nivel" Armas Melhoradas e Com porcentagem de leveL ARRUMEI TODOS OS BUGS MENOS DO BOL (AOL) QUE EU N CONSEGUI E TAMBEM TODOS OS BUGS DO SITE. SS DO SITE : DEPOIS EU COLOCO SS's DO SERVER ! DOWNLOAD's : Cliente: https://www.mediafire.com/?gob4q7ksfj0w39h Server : http://www.mediafire...klkkxzgbwl9am0n Site : http://www.mediafire...b6f4eks2qlf8bsi Creditos : CRAZZY (PELO MAPA) EU (POR ARRUMAR OS BUGS MAPA E SITE) MEU IRMAO (POR ME AJUDAR NO SERVIDOR) MATHEUSVIDALOKA (PELO CLINTE) TE AJUDEI ME DA 1 REP++ AEW CUSTA NADA! * 11/02/2014 - CLIENTE RE-UPADO. NEM SABIA QUE TINHA QUEBRADO O LINK MALS.1 ponto
-
SCRIPT EVENTS ZUMBIE VERSAO: 8.60 MAP: BAIAK YUROTS SCRIPT: ATUALIZADO Acesso Rapido: Quer conhecer Outros Conteudos da HARD? 1- Praia? [Tibia] Scripts De Verao No Xtibia - Hard Corporation Tags: Praia, Deusa do Mar,Pacote Summer, Marinheiro, Montaria Maritima,Bar do Eks, Barril de Rum. 116 visualizações. 2 - [Tibia] Scripts De Natal No Xtibia - Hard Corporation Tags: Presentes de Natal, Enfeites, Carta, Duende Askasleikir,Montaria Natalina, Tarefas de Natal, Toca Natalina (Gorro), Esquilo da Neve, Fireworksrocket. 446 visualizações. 3 - [Tibia] System Zumbi - Hard Corporation Tag: Funcionamento 100% | 2405 visualizações. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- TOPICO VISUALIZADO PELO ADMINISTRADOR DA HARD: Dia 30/01/2012. LEIA O TOPICO COMPLETO, CASO NAO QUEIRA FECHE O NAVEGADOR E DESISTA, POIS NAO IRA CONSEGUIR. Algumas informações sobre o Script Abaixo primeiramente, Quando o evento está começando você terá certos minutos para Entrar no teleport antes que desapareça. Quando o teleport desaparece, acontece o zombie spawn após 20 segundos. Os Zombies irão aparecer 1 de cada vez, a cada 20 segundos. Os players que morrerem no evento, serão teleportados para o templo. O vencedor do evento, recebe algumas recompensas e um cale-se dourado com seu nome. Lembrando a area do evento DEVE SER NO-PVP PARA os PLAYERS NAO SE MATAREM. Usaremos como Referencia as Seguintes TAGS: Tags Disponiveis: # Como Colocar o Horario para Iniciar o Evento? # Configurando o Horario? # Adicionando corretamente no Arquivo Login? # Criando o Monster Zombie. # Download do Mapa? Como Usar: Basta COPIAR A TAG Desejada Apertar Crtl+F e Procura-la que encontra-la no Topico. GLOSARIO: *Evento = Sera o Nome do Script *Plataforma = Espaço do Quadrado de Nascimento dos ZOMBIE # Como Colocar o Horario para Iniciar o Evento? VERIFIQUE se seu otServer Possui a Maioria dos Scripts contendo esta particula: [ interval="1635" OU time="16:35" ] Isso Vai Determinar Qual Dos Scripts USAR: ABRA OTserv\data\globalevents\globalevents.XML Adicione Isto: Adicione [1] Apenas o Compativel com seu OTSERVER! Salve e Feche *Este Vai Ser o HORARIO que o Evento ira se Iniciar Sozinho TODO DIA 15:00 (Voce pode trocar). # Configurando o Horario? 1000 Segundos = 16 minutos e 39,6 segundos 1 hora = 3600 segundos Um dia tem 86.400 Segundos, que são equivalentes à 1440 Minutos ou 24 Horas. Uma semana tem 604.800 segundos, que são equivalentes à 10.080 Minutos ou 168 Horas. Um Mês tem 2 milhões e 592 mil segundos, que são equivalentes à 43.200 Minutos ou 720 Horas. Um ano tem 31 Milhões e 536 segundos, que são equivalentes à 525.600 Minutos ou 8.760 Horas. Fonte: froog.com.br - Tudo sobre o Tempo. Agora Vamos ao Arquivo: OTserv\data\Globalevents\scripts\ Crie o Arquivo zombie.lua Usar para as 2 Formas DE OTSERVER Usado Linguagem Portuguesa Para LOCAIS Que Queira EDITAR o Valor. Salve e Feche Configurando A Base do Script: O Arquivo SALVO ACIMA é Necessario para: 1- o Evento Acontecer 2- Os Zumbie Nascerem 3- O Teleporte Ser Aberto e Fechado 4- Contagem de Players. 5- o Nome do Zombie, caso altere. MUDE AQUI TAMBEM 6- QUANTIDADE DE PLAYERS NECESSARIO, Maior que 2. 7- ID Do teleporte, ESPAçO DA PLATAFORMA. Caso ACONTECA ERROS NESTAS FUNCOES PEçA AJUDA E SAIBA ONDE CORRIGI-LAS. fromPosition = {x = 1186, y = 1072, z = 7}, -- possicao esquerda onde ira nascer os zumbi toPosition = {x = 1195, y = 1081, z = 7}, -- posicao direita onde ira nascer os zumbi O Local onde os Zombie irao Nascer deve Ser na area de Attack, ou seja, Se colocar no mar o Inicio da PLATAFORMA Os Zombie poderam nascer no MAR. Significa Como Apresentado na Imagem: VAMOS DIZER UM QUADRADO e os zumbie irao nascer SOMENTE dentro daquele LOCAL. 01:DIREITA - PARTE DE CIMA 02: ESQUERDA - PARTE DE BAIXO DESCONSIDERAR O TELEPORTE DA IMAGEM NUNCA COLOQUE TELEPORTE POIS IRA BUGAR O SCRIPT, NAO CONTANDO O PLAYER. A HARD NAO disponibiliza o MAP ou parte Deste conteudo para outro LOCAL. a Copia Parcial é CRIME e sera incarada como tal. Use o Createscripts para as 2 Formas de OTSERVER OTserv\data\creaturescripts\Creaturescripts.XML Adicione Isto: Salve e Feche Este arquivo ABAIXO é ESSENCIAL PARA O FUNCIONAMENTO DESTE: OTserv\data\creaturescripts\scripts\ Abra o Arquivo login.lua , Dentro Adicione: *Lembre-se de Adiciona-lo Na Linha ABAIXO dos outros, Sempre Com Paragrafos novos. Salve e Feche # Adicionando corretamente no Arquivo Login? Sempre por Paragrafos, LEMBRANDO que seu otserver Pode ser Por exemplo por Espaço, assim Tente configura-lo conforme ele se apresenta. registerCreatureEvent(cid, "XXXX") registerCreatureEvent(cid, "XXXXX") registerCreatureEvent(cid, "XXXX") registerCreatureEvent(cid, "zombieevent") registerCreatureEvent(cid, "XXXX") AINDA TAMBEM Alguns OTSERVERS Podem Possuir os Arquivos: Login.lua Login1.lua Login2.lua ..... Saiba onde configurar. CORRETAMENTE. Vamos Agora Para o Arquivo: OTserv\data\creaturescripts\scripts\ Crie um Aquivo .LUA Chamado zombie.lua , Dentro Adicione: Salve e FECHE. * CONFIGURANDO CREATESCRIPTS: RECORDANDO: Caso Aconteca PROBLEMAS ou ERROS Neste Arquivo TEMOS: 1- storage dos Players Registrados 2- PLATAFORMA Do Local dos Zombie Irao Nascer, deve ser Igual ao do GlobalEvents. 3- PREMIOS do Player Vencedor(a). Vamos Agora Para o Arquivo: OTserv\data\movements\movements.XML Adicione Isto: Salve e FECHE. ACTION 2000 Se Refere a Action do TELEPORTE, ou seja AQUELA QUE IRA CONTAR OS PLAYERS. ABAIXO voce Vai Enterder Um Problema que pode Acontecer com o SCRIPT, dependendo do Seu OTserver. PRESTE MUITA ATENçAO: PROCURE NA PASTA OTserv\data\actions\ actions.XML Tente Localizar algum Arquivo que possua a ACTION 2000 >>>Ctrl+F<< >>CASO NAO EXISTA PODE CONTINUAR O SCRIPT.. (Pule Esta Parte) >>CASO EXISTA TERA QUE MODIFICAR 2 COISAS NESTE SCRIPT: DELETE O ARQUIVO ACTIONS 2000 QUE VOCE ACHOU, na Maioria dos OTSERVER ele se chama Quest.lua ou Quests.lua Pois Este FARA INTERFERENCIA com o Script DO ZOMBIE. Quando e Como? Caso ele Esteja configurado como Disse no action 2000, é o ID de Quests, ou seja, ao passar por cima de um BAU Vai aparecer a MSG que o player entrou no Evento, sem ele Estar COMECANDO OU ACONTECENDO. ENTAO DELETE, e Adote outro MODELO ou Action para QUESTS. Salve e FECHE CASO TENHA MUDADO NO ACTIONS. PULE PARA Cá, CASO NAO EXISTA O PROBLEMA ACIMA. Vamos Agora Para o Arquivo: OTserv\data\movements\scripts\ Crie um Aquivo .LUA Chamado zombie.lua , Dentro Adicione: Salve e FECHE. CASO ACONTEçA PROBLEMAS OU ERROS, saiba o que este script CONTEM: 1- conta o Numero de Player no evento 2- conta o maximo de Players que poderam entrar no Evento. # Criando o Monster Zombie. Lembrando: Vamos Agora Para os ULTIMOS Arquivos: OTserv\data\monster\monsters.XML Adicione Isto: Salve e FECHE. Vamos Agora Para Arquivo do Monster: OTserv\data\monster\ Crie um Aquivo .XML Chamado event zombie , Dentro Adicione: Salve e FECHE. CONFIGURANDO MONSTER ZOMBIE: NAO MUDE O NOME . <flag attackable="0"> = NAO PODE ATACAR O MONSTER <immunity invisible="1"> = IMUNE A INVISIBLE E OUTROS PARA NAO ACONTECER DESVANTAGENS. # Download do Mapa? * O Mapa pode ser construido por Cada Usuario, Mas configurando as Plataformas, NAO ADIANTA FAZER O DOWNLOAD DO MAPA Pensando que a Plataforma é igual. NAO! é Necessario MUDA-LA pois OS IDs do chao de seu MAPA pode ser diferente. o Mapa nao é de Propriedade da Hard e Nao Foi Postado Por Esta para Download, pois Infringe Nossas Leis de Conduta. DOWNLOAD DO MAPA *a HARD apenas Disponibiliza o Conteudo para Acrescentar em seu OTserv, Retirar os Creditos do Desenvolvidor deste sera Encarado como Plagio a esta Obra. ENTENDENDO: *Esta Imagem Mostra que o Player Entrou Dentro do Evento. EU como (GOD) entrei 6 Vezes para Mostrar. MAS os Players Irao Entrar 1 VEZ SOMENTE e vai aparecer: PLAYER Entered the Zombie Event! Currently X Players have Joined! X: numero de players que estao no Evento PLAYER: Seu nome NAO DEIXE PORTAIS PARA VOLTA, POIS se o Player entrar novamente no Portal Sera Registrado como +1 e os Zumbie Irao nascer Para procurar este Player que (Nao existe , pois ele voltou e entrou novamente). Foi Adicionado ao Monster o Poder de Atacar Players INVISIBLE, Pois quando um Player ficava Invisivel Nao era Atacado. Este é o Exe do seu Otserver e as Msgs que aparecerao para Todos Players. EXEMPLO: * Este foi Retirado do script. DEVE SER ENCARADO COMO UM EXEMPLO APENAS POIS existem 2 maneiras diferentes. <globalevent name="zombieevent" interval="15000" event="script" value="zombie.lua"> o Erro de Execuçao foi Arrumado. 16:35: o Evento Foi aberto, o teleporte ira sumir em 5 minutos 16:40:Aqui o Teleporte ja Fechou.. 16:40:E os Zumbie irao começar a nascer em 20 segundos. Mostra o Nome do Player que Foi Infectado e Foi para o Templo.. LEMBRANDO O CORPO NAO SIGNIFICA QUE O PLAYER MORREU, POIS O LOCAL é NO-PVP 16:44 Numero de Zumbies SUMONADOS ate o momento.. Muito Obrigado por Adicionar este Evento em Seu OTserv e Torna-lo Famoso. DUVIDAS, PROBLEMAS, ERROS, ELOGIOS, RECLAMACOES E OUTROS COMENTE! e Obrigado1 ponto
-
1 ponto
-
Nome: Perfect Upgrade System Tipo: Biblioteca, Action, Sistema Autor: Oneshot Essa é a versão final do Perfect Refine System ou Perfect Upgrade System criado por mim. É um sistema construído em cima de funções em POO (orientação a objetos), o que o torna muito versátil, possibilitando a outros programadores/scripters criarem seus próprios sistemas com base na biblioteca. A função do sistema é simples. Não passa de um sistema de refino, presente em todos os servidores, onde você usa um item em um equipamento e este fica mais forte e ganha um nome caracterizando o nível de força - bem clichê - mas muito interessante. Meu sistema é um pouco diferente dos outros, pois possui algumas características exclusivas, listadas abaixo: O nível máximo configurável é praticamente ilimitado O sistema funciona com armas de combate corpo-a-corpo, bows e crossbows. O refino pode falhar, não acontecendo nada, regredindo o nível ou resetando ele. Há um sistema nativo de broadcasts, que são enviados quando um jogador consegue refinar um equipamento até um certo nível ou maior. As chances são configuradas manualmente e sua randomização é muito precisa. Há dois modos de instalar o sistema em seu servidor, o primeiro é baixar a pasta com os scripts necessários e apenas copiar as chaves nos arquivos XMLs ou então seguir o curto tutorial de instalação. Crie um arquivo chamado upgradesystem.lua na pasta data/lib e copie o conteúdo abaixo: --[[ PERFECT UPGRADE SYSTEM 2.0 Criado por Oneshot É proibido a venda ou a cópia sem os devidos créditos desse script. ]]-- UpgradeHandler = { levels = { [1] = {100, false, false}, [2] = {90, false, false}, [3] = {75, false, false}, [4] = {60, true, false}, [5] = {45, true, false}, [6] = {30, true, false}, [7] = {25, true, false}, [8] = {20, true, true}, [9] = {15, true, true}, [10] = {10, true, true}, [11] = {10, true, true}, [12] = {5, true, true} }, broadcast = 7, attributes = { ["attack"] = 2, ["defense"] = 1, ["armor"] = 1 }, message = { console = "Trying to refine %s to level +%s with %s%% success rate.", success = "You have upgraded %s to level +%s", fail = "You have failed in upgrade of %s to level +%s", downgrade = "The upgrade level of %s has downgraded to +%s", erase = "The upgrade level of %s has been erased.", maxlevel = "The targeted %s is already on max upgrade level.", notupgradeable = "This item is not upgradeable.", broadcast = "The player %s was successful in upgrading %s to level +%s.\nCongratulations!!", invalidtool = "This is not a valid upgrade tool.", toolrange = "This upgrade tool can only be used in items with level between +%s and +%s" }, tools = { [8306] = {range = {0, 10}, info = {chance = 0, removeable = true}}, }, isEquipment = function(self) local weaponType = self:getItemWeaponType() return ((weaponType > 0 and weaponType < 7) or self.item.armor ~= 0) end, setItemName = function(self, name) return doItemSetAttribute(self.item.uid, "name", name) end, chance = function(self) local chances = {} chances.upgrade = (self.levels[self.item.level + 1][1] or 100) chances.downgrade = (self.item.level * 5) chances.erase = (self.item.level * 3) return chances end } function UpgradeHandler:new(item) local obj, ret = {} obj.item = {} obj.item.level = 0 obj.item.uid = item.uid for key, value in pairs(getItemInfo(item.itemid)) do obj.item[key] = value end ret = setmetatable(obj, {__index = function(self, index) if _G[index] then return (setmetatable({callback = _G[index]}, {__call = function(self, ...) return self.callback(item.uid, ...) end})) else return UpgradeHandler[index] end end}) if ret:isEquipment() then ret:update() return ret end return false end function UpgradeHandler:update() self.item.level = (tonumber(self:getItemName():match("%+(%d+)")) or 0) end function UpgradeHandler:refine(uid, item) if not self.item then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, self.message.notupgradeable) return "miss" end local tool = self.tools[item.itemid] if(tool == nil) then doPlayerSendTextMessage(uid, MESSAGE_EVENT_DEFAULT, self.message.invalidtool) return "miss" end if(self.item.level > #self.levels) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.maxlevel:format(self.item.name)) return "miss" end if(self.item.level < tool.range[1] or self.item.level >= tool.range[2]) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.toolrange:format(unpack(tool.range))) return "miss" end local chance = (self:chance().upgrade + tool.info.chance) doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_BLUE, self.message.console:format(self.item.name, (self.item.level + 1), math.min(100, chance))) if(tool.info.removeable == true) then doRemoveItem(item.uid, 1) end if chance * 100 > math.random(1, 10000) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_ORANGE, self.message.success:format(self.item.name, (self.item.level + 1))) if (self.item.level + 1) >= self.broadcast then doBroadcastMessage(self.message.broadcast:format(getCreatureName(uid), self.item.name, (self.item.level + 1))) end self:setItemName((self.item.level > 0 and self:getItemName():gsub("%+(%d+)", "+".. (self.item.level + 1)) or (self:getItemName() .." +1"))) for key, value in pairs(self.attributes) do if getItemAttribute(self.item.uid, key) ~= nil or self.item[key] ~= 0 then doItemSetAttribute(self.item.uid, key, (self.item.level > 0 and getItemAttribute(self.item.uid, key) or self.item[key]) + value) end end return "success" else if(self.levels[self.item.level][3] == true and (self:chance().erase * 100) > math.random(1, 10000)) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.erase:format(self.item.name)) self:setItemName(self.item.name) for key, value in pairs(self.attributes) do if self.item[key] > 0 then doItemSetAttribute(self.item.uid, key, self.item[key]) end end elseif(self.levels[self.item.level][2] == true and (self:chance().downgrade * 100) > math.random(1, 10000)) then doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.downgrade:format(self.item.name, (self.item.level - 1))) self:setItemName((self.item.level == 1 and self.item.name or self:getItemName():gsub("%+(%d+)", "+".. (self.item.level - 1)))) for key, value in pairs(self.attributes) do if getItemAttribute(self.item.uid, key) ~= nil or self.item[key] ~= 0 then doItemSetAttribute(self.item.uid, key, (self.item[key] + value * (self.item.level - 1))) end end else doPlayerSendTextMessage(uid, MESSAGE_STATUS_CONSOLE_RED, self.message.fail:format(self.item.name, (self.item.level + 1))) end return "fail" end end Crie um arquivo chamado upgrade.lua em data/actions/scripts e cole o conteúdo abaixo: function onUse(cid, item, fromPosition, itemEx, toPosition) if isCreature(itemEx.uid) then return doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) end local obj = UpgradeHandler:new(itemEx) if(obj == false) then return doPlayerSendCancel(cid, UpgradeHandler.message.notupgradeable) end local status = obj:refine(cid, item) if status == "success" then --doSendAnimatedText(toPosition, "Success!", COLOR_GREEN) doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN) elseif status == "fail" then --doSendAnimatedText(toPosition, "Fail!", COLOR_RED) doSendMagicEffect(toPosition, CONST_ME_POFF) else doSendMagicEffect(toPosition, CONST_ME_POFF) end return true end No arquivo actions.xml, cole a seguinte linha: <action itemid="8306" event="script" value="upgrade.lua"/> Para adicionar mais níveis de refino no sistema, edite a seguinte tabela: levels = { [1] = {100, false, false}, [2] = {90, false, false}, [3] = {75, false, false}, [4] = {60, true, false}, [5] = {45, true, false}, [6] = {30, true, false}, [7] = {25, true, false}, [8] = {20, true, true}, [9] = {15, true, true}, [10] = {10, true, true} }, Por padrão, ela já está configurado como na maioria dos MMORPGs, 10 níveis de refino, com chances de sucesso, regressão e "quebra". Mas se você quiser, por exemplo, adicionar mais dois níveis, siga o modelo, sempre colocando uma vírgula no final com exceção da última linha da tabela: levels = { [1] = {100, false, false}, [2] = {90, false, false}, [3] = {75, false, false}, [4] = {60, true, false}, [5] = {45, true, false}, [6] = {30, true, false}, [7] = {25, true, false}, [8] = {20, true, true}, [9] = {15, true, true}, [10] = {10, true, true}, [11] = {10, true, true}, [12] = {5, true, true} }, O primeiro valor é chance de sucesso, o segundo se o item pode regredir na tentativa e o terceiro é se o item para "quebrar" (perder todo o nível de refino). Para criar novas ferramentas (itens) de refinar, configure a tabela abaixo: tools = { [8306] = {range = {0, 10}, info = {chance = 0, removeable = true}}, }, Seguindo o mesmo esquema da tabela anterior, vírgulas em todas as linhas com exceção da última, seguindo o modelo abaixo. Por exemplo, uma ferramenta de ID 8303 que refine do level +6 ao +10, que dê 10% de chance bônus e que seja finita, eu faço assim: tools = { [8306] = {range = {0, 10}, info = {chance = 0, removeable = true}}, [8310] = {range = {6, 10}, info = {chance = 10, removeable = true}} }, Em breve vídeo de demonstração com sistema em funcionamento. Perfect Upgrade System.rar1 ponto
-
Versão: 8.6 Itens: 8.6 Sem vírus Mapa Atualizado Subwat Kamikaze V13 Atualizações -Retirado o bug das Houses -Adicionado vila de houses na city principal -Adicionado super mana,super uh e super bow.Comandos:!superuh,!supermana e !superbow -Adicionado 12 Hunt's novas na área Free -Adicionado 5 Hunt's novas na área Super Vip -Novas houses colocadas na city principal -Dois monsters novos:Bruxa do 71 e Satanas -Retirado bugs de varias hunts -Arrumado o bug da war -Retirado o Sex System -Nova quest adicionada de life scrolls e mana scrolls -Adicionado área para as hunts free Subwat Kamikaze V21 Atualizações -Adicionado o comando /newtypeex.Somente para God's. -Mais houses adicionadas na city principal. -Adicionado o set Really.Somente para Vip's. -Retirado o bug da quest itens absolute. -Adicionado o npc {BRUTAL} Seller.Vende: brutal uh,brutal mana,brutal sword e brutal axe -Adicionado os itens: brutal uh,brutal mana,brutal sword e brutal axe -Set God agora no segundo andar do templo. -Novo npc {REALLY} Seller.Vende: really helmet,really armor,really legs e really boots. -Retirado o bug da área de eventos. -Adicionado 20 new hunts na area free. -Adicionado 8 new hunts na area Vip. -10 Novos monsters chamados: Cientista Maluco,Blu Ray,Supremos Boss,Super Nova,Sindarion,Rad Boss,The Tiger,Nightmare Tiger,Undead Jester e Lord Jetta. -1 New monster na area vip chamado: Super Coin. -Nova quest dando 200 vip coins. IMAGENS: TEMPLO TELEPORTS SUPER VIP NEW MONSTERS DOWNLOAD: http://speedy.sh/3tn...amikaze-V21.rar DOWNLOAD 4SHARED: http://www.4shared.c...mikaze_V21.html SCAN:https://www.virustot...sis/1337546983/ Créditos:Subwat,Adm Kamikaze,PTBREC,Nadotti e Ropp Xeys. Comentem.Da um rep+ ae. Obrigado.1 ponto
-
Bug Na Ativação De Contas Corrigido!
Gabriel Couto reagiu a dwhfms por um tópico no fórum
Salve Galera! Estou passando aqui apenas para anunciar que o Bug da ativação de contas foi corrigido. O problema era com o nosso servidor de SMTP (Simple Mail Transfer Protocol). Basicamente é um protocolo baseado em texto simples, onde um ou vários destinatários de uma mensagem são especificados (e, na maioria dos casos, validados) sendo, depois, a mensagem transferida. by Wikipédia Após entrar em contato com o nosso servidor, eles enviaram uma equipe técnica que identificou e corrigiu o problema. Pedimos desculpas pela demora na resolução. Atenciosamente, Coordenação XTibia1 ponto -
Como Deixar Seu Servidor 100%
Leoprotons reagiu a Eder009 por um tópico no fórum
Como deixar seu servidor 100% E ai galera estou ai para postar para voces um modo de deixar seu servidor 100% 1 - programas utilizados 2 - criando um ip fixo 3 - liberando portas 4 - instalando wampserver 2 5 - tirando erros de php do wampserver 6 - criando seu gesior 7 - paginas uteis para gesior 8 - tirando bugs do gesior 9 - instalandi gesior 10 - adicionando sistemas novos em seu servidor _________________________________1_____________________________ Wampserver 2 clique aqui Um mapa de sua escolha Gesior:clique aki feito pelo doidin No-ip :clique aqui Remeres:clique aqui Clientes do remeres:clique aqui _______________________________________________________________ _________________________________2_____________________________ Acesse o site do no ip clique aqui e crie sua conta, apos isso va em seu email e confirme, volte no site e baixe o no-ip instale normalmente, apos isso logue na sua conta no site e va em ADD A HOST, apos isso tera os seguintes itens O serviço no-ip faz com que seu ip vire um endereço Web paracido com este: kbaustutoriais.no-ip.com ou kbaustutoriais.servegame.com dentre outras opções. Assim, mesmo que seu ip mude de uma hora para outra, o seu endereço seria o mesmo e assim seus amigos sempre poderão entrar sem qualquer problema. Chega de papo e vamos ao Tutorial: 1º - Vá até o site do no-ip e faça seu cadastro: http://www.no-ip.com/newUser.php 2º - Quando fizer seu cadastro, a equipe do no-ip irá lhe enviar um e-mail para ser confirmado, (Oque é e como confirmar o endereço de e-mail e qual a importância !) 3º- Após ter confirmado seu e-mail, faça login no site www.no-ip.com (basta colocar seu e-mail e senha) 4º - Quando fizer login, clique na opção 1 (Your no-ip) e depois na opção 2 (Add a Host) ( como mostra a imagem abaixo ) 5º - Agora basta você escolher um nome para seu servidor e um sub-dominio. No nosso host de teste, eu criei assim Nome: kbaus Sub-dominio: serveblog.net Oque vai ficar assim: kbaus.serveblog.com depois basta clicar em "Criate host" Veja a imagem abaixo. 6º - Quando clicar em "Criate Host", você já estará com seu servidor pronto, veja abaixo. Agora é só baixar o programa de atualização do no-ip ( NO-IP DUC ). Clique aqui (para windows) pra que serve este programa ? muito simples. este programa irá dizer ao no-ip quando seu ip irá mudar e assim ele irá atualizar seu servidor para manter o acesso dos seus amigos e clientes. O programa é bem levinho ( 1 mega ), e pode deixar ele rodando junto com o windows. quando você intalar, ele vai pedir seu e-mail e senha. quando logar, basta você "Marcar a caixinha" que seu servidor se encontra, clicar em save e pronto. 7º- Pronto veja como irá ficar o programa, agora basta fechar ( SEU ENDEREÇO ESTÁ NO AR ) _______________________________________________________________________3________________________________________________________________________ para liberar as portas do windosw 7 basta ir em iniciar/painel de controle/sistema de segurança/firewall do windows/configuraçoes avançadas/liberar as portas de entrada e saida do seu servidor portas 7171 e 7272 e aplicar, e proto suas portas estao liberadas Video http://www.youtube.com/watch?v=mgmeeciBBRo _______________________________________________________________ _________________________________4_____________________________ baixe o wamp server acima apos isso voce vera um icone do wampserver no canto abaixo de sua tela bota estar all service, apos isso va em php.ini e tire os erros de php do site que se necontra nesta parte, de ctrol+f e encontre esta parte Common Values: ; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) ; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) ; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) ; Default Value: E_ALL & ~E_NOTICE ; Development Value: E_ALL | E_STRICT ; Production Value: E_ALL & ~E_DEPRECATED ; http://php.net/error-reporting error_reporting = E_ALL <<<< ; Common Values: ; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) ; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) ; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) ; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) ; Default Value: E_ALL & ~E_NOTICE ; Development Value: E_ALL | E_STRICT ; Production Value: E_ALL & ~E_DEPRECATED ; http://php.net/error-reporting error_reporting = E_ALL & ~E_NOTICE e de save e bote em restart all service e pronto apos isso vamos para o apache/httpd.conf abaixo de #Listen 12.34.56.78:80 Listen 80 bote assim #Listen 12.34.56.78:80 Listen 8090 bote aki tbm Listen seuipfixo.servegame.com:8090 <<<< e pronto seu wamserver esta funcionando com php e com seu ip para funcionar seu gesior _________________________________6_____________________________ apos baixar o gesior va para seu servidor e va no config.lua tire todos os espaçoes e toda as linhas sem ecessao que tem -- apos isso de save baixe o gesior na area de download acima e extraia e bote tudo na pasta www do wampserver e va em phpmyadmin e crie uma detabase com o nome de tibia e extraia seu mysql que se enconta na pasta schemas apos criar sua db extraia sua db pra ela apos isso volte para o config.lua e va em worldId = 0 ip = "127.0.0.1" <<< bote o ip fixo que voce criou no no ip bindOnlyConfiguredIpAddress = false loginPort = 7171 gamePort = 7172 adminPort = 7171 statusPort = 7171 loginTries = 10 retryTimeout = 5 * 1000 loginTimeout = 60 * 1000 maxPlayers = 212 motd = "Welcome to the Styller 8.60!Veja em !notice todas as novidades." displayOnOrOffAtCharlist = false onePlayerOnlinePerAccount = true allowClones = false serverName = "Styller" loginMessage = "Welcome to the Styller World!Veja em !notice todas as novidades." statusTimeout = 5 * 60 * 1000 replaceKickOnLogin = true forceSlowConnectionsToDisconnect = false loginOnlyWithLoginServer = false premiumPlayerSkipWaitList = false sqlType = "sqlite" < sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "" << a senha se tiver senha no sem phpmyadmin sqlDatabase = "" nomeda sua detabase sqlFile = "Styller.s3db" << bote ex:forgetserver.s3db sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 encryptionType = "plain" <<< se seu servidor for com tfs4 bote sha1 e pronto salve e feche va no seu wampserver e va em localhost siga o video e tirando bug do gesior apos instalar seu servidor basta ligar seu servidor e com a conta admin do site crie seu char apos isso va para o wampserver e em phpmyadmin e va na sua detabase e mude seu nome no caso [GOD] seu nome apos isso bote seu god que seria accoun ip numero 1 players 2 tutor 3 senior tutor 4 game master 5 cominic manager 6 god bote 6 que no caso seria de god apos isso volte para seu servidor e logue e voce estara como god ______________________________________________________________ pulamos diretamente pro 10 pois as outras ja forao diretamente sitadas acima existem varios sistemas sugiro uzar esses war system clique aqui woe clique aqui zombi event clique aqui todos eles uzao o tfs4 menos do zombi event tutorial feito por min God Elder downloads do gesior feito por Doidin zumbi event postado originalmente por Isbigo war system com escudos feitos por Leoprotons1 ponto -
Daniel Oliveira
DaNDaNrOxX reagiu a Lordfire por um tópico no fórum
Problema resolvido, um tumor a menos no fórum.1 ponto -
Num seria mas fácil botar na area de anuncio de otserv ? reportado para moverem1 ponto
-
Ao Matar Monstro Ganhar Cap
tonynamoral reagiu a caotic por uma questão
Ja existe este scripts no xtibia so editei para colocar o cap so isso: Crie um arquivo chamado itemcap.lua e coloque isto local monsters = { ["Demon"] = {itemid = 2160, count = 100, chance = 20}, ["Dragon"] = {itemid = 2525, count = 1, chance = 20} } function onKill(cid, target, lastHit) local cap = 300 --- mude aki quanto cap vai receber local tab = monsters[getCreatureName(target)] if tab then if math.random(100) < tab.chance then doPlayerAddItem(cid, tab.itemid, tab.count) doPlayerSetMaxCapacity(cid, (getPlayerFreeCap(cid) + cap) end end return true end Coloque esta tag: <event type="kill" name="Itemcap" event="script" value="itemcap.lua"/> Registra o evento em login.lua coloque isto antes do ultimo return true registerCreatureEvent(cid, "Itemcap")1 ponto -
1 ponto
-
[Encerrado] Ganhar Dinheiro Com Otserv É Crime ?
SirPotter reagiu a guilhermes26 por um tópico no fórum
É um sacrífico a fazer E sim, o código fonte é a source, tudo que tu fizer têm que ser disponibilizado de graça, não dentro do jogo, mas para alguém baixar. Portanto você pode sim vender itens, e premmiuns e sejá lá o que for.1 ponto -
Opa, ThallesNovais. Foi um erro meu na query do banco de dados. Veja se agora funciona local config = { lenght = 30, itemid = 2160, strings = {"ADM"} } function onSay(cid, words, param, channel) if param ~= "" then if getPlayerStorageValue(cid, 13540) == -1 then return doPlayerSendCancel(cid, "Você não é VIP.") end for i = 1, #config.strings do if param:find(config.strings[i]) then doPlayerSendCancel(cid, "Você não pode usar ".. config.strings[i] .." em seu novo nome.") break end end if param:find("%c") or param:find("%p") then return doPlayerSendCancel(cid, "Você não pode usar caracteres especiais em seu novo nome.") end if string.len(param) > config.lenght then return doPlayerSendCancel(cid, "Você pode usar, no máximo, ".. config.lenght .." letras.") end if not getTilePzInfo(getThingPosition(cid)) then return doPlayerSendCancel(cid, "Só pode ser usado em Protection Zone.") end local result = db.getResult("SELECT `id` FROM `players` WHERE `name` = ".. param ..";") if result:getID() ~= -1 then return doPlayerSendCancel(cid, "Já existe alguém com esse nome no servidor.") end if getPlayerByNameWildcard(param) then return doPlayerSendCancel(cid, "Há alguém online com esse nome.") end if doPlayerRemoveItem(cid, config.itemid, 1) then local pid = getPlayerGUID(cid) doRemoveCreature(cid) db.executeQuery("UPDATE `players` SET `name` = '".. param .."' WHERE `id` = ".. pid ..";") else doPlayerSendCancel(cid, "Você não possui ".. getItemNameById(config.itemid) ..".") end else doPlayerSendCancel(cid, "Insira um novo nome.") end return true end1 ponto
-
Venha Falar Conosco, Team Speak Xtibia!
Henrique Moura reagiu a u n d e r por um tópico no fórum
@Critical, Porque o assunto que vocês querem que todos tratem lá é a comunidade, agora se é realmente isso que vai ser tratado é outra história. @Gustavo, Como gestor do fórum, a caráter de comunicação em resolução e entendimento de problemas, é uma baita de uma ferramenta. A nível de usuário/usuário é um barzinho do eks em tempo real, tratando-se do Xtibia atualmente. Qual a capacidade de monitorar o Teamspeak? O que garante que ninguém está fazendo publicidade ou degradando o canal? Quantas pessoas em média permanecem online? Que tipo de usuário frequenta lá? Como o teamspeak é utilizado por outros fóruns? E por aí vai! Dependendo das respostas vocês terão o nível do quanto será bom ou ruim para o fórum, descobrirão se terão usuários programadores, usuários jogadores ou usuários que não agregam nenhum valor. Se tiverem a resposta para estes tipos de perguntas, esclareçam melhor a posição do teamspeak. Do contrário, fica uma coisa vaga anunciar o ts e dizer que esta aberto para todo mundo conversar.1 ponto -
Reportado Por Double Topic Os 2 tópicos com a mesma duvida http://www.xtibia.com/forum/topic/186889-alana-som-leavehouse/page__fromsearch__11 ponto
-
É claro que sua vaga tá guardada amigo. Quando quiser voltar é só me avisar. Aviso: Já temos data aproximada para disponibilizar a versão beta, onde alguns jogadores poderão testar o game para calibrá-lo perfeitamente para o lançamento final.1 ponto
-
Venha Falar Conosco, Team Speak Xtibia!
Henrique Moura reagiu a u n d e r por um tópico no fórum
Sem perceber, damos ferramentas aos usuários para que eles se tornem contra a comunidade. Vejam só, qual real objetivo com o teamspeak no eks? Promover um espaço de lazer/bar? Estamos ensinando subliminarmente como queremos os membros do nosso fórum! ;-) Compreendem?1 ponto -
Assim remove-ra seu erro. Ele estava ocorrendo pois nas funções de adicionar a transformação ele não encontrava o creatureid valido, isso ocorre quando você se transforma e desloga ou morre. Agora esta arrumado. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_GREEN) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_OUTFIT) setConditionParam(condition, CONDITION_PARAM_TICKS, 86400000) addOutfitCondition(condition, 0, 71, 0, 0, 0, 0) setCombatCondition(combat, condition) -- // Goku TRANGokuSSJ = {lookType = 438} TRANGokuHSSJ = {lookType = 438} TRANGokuSSJ2 = {lookType = 439} TRANGokuSSJ3 = {lookType = 440} TRANBGoku = {lookType = 354} TRANBGokuSSJ = {lookType = 259} TRANRBGokuSSJ = {lookType = 138} TRANRBGokuSSJ2 = {lookType = 139} TRANRBGokuSSJ3 = {lookType = 140} TRANRBGokuSSJ4 = {lookType = 66} OXT = 500 EXT = 1000 -- // GOKU / ---- function EFGokuHSSJ(cid) if isPlayer(cid) then if getPlayerVocation(cid) == 403 then if getPlayerMana(cid) >= 0 then doSendMagicEffect(getPlayerPosition(cid), 234) addEvent(EFGokuHSSJ,EXT,cid) end end end end function EFGokuSSJ2(cid) if isPlayer(cid) then if getPlayerVocation(cid) == 404 then if getPlayerMana(cid) >= 0 then doSendMagicEffect(getPlayerPosition(cid), 13) addEvent(EFGokuSSJ2,EXT,cid) end end end end function EFGokuSSJ3(cid) if isPlayer(cid) then if getPlayerVocation(cid) == 405 then if getPlayerMana(cid) >= 0 then doSendMagicEffect(getPlayerPosition(cid), 13) addEvent(EFGokuSSJ3,EXT,cid) end end end end function EFBGokuSSJ(cid) if isPlayer(cid) then if getPlayerVocation(cid) == 407 then if getPlayerMana(cid) >= 0 then doSendMagicEffect(getPlayerPosition(cid), 234) addEvent(EFBGokuSSJ,EXT,cid) end end end end function EFRBGokuSSJ2(cid) if isPlayer(cid) then if getPlayerVocation(cid) == 410 then if getPlayerMana(cid) >= 0 then doSendMagicEffect(getPlayerPosition(cid), 234) addEvent(EFRBGokuSSJ2,EXT,cid) end end end end function EFRBGokuSSJ3(cid) if isPlayer(cid) then if getPlayerVocation(cid) == 411 then if getPlayerMana(cid) >= 0 then doSendMagicEffect(getPlayerPosition(cid), 234) addEvent(EFRBGokuSSJ3,EXT,cid) end end end end -- // END function onCastSpell(cid, var) -- GOKU/ GOKU SSJ -- if getPlayerVocation(cid) == 400 then if getPlayerLevel(cid) >= 50 then doPlayerSetVocation(cid,402) doSetCreatureOutfit(cid, TRANGokuSSJ, -1) doSendMagicEffect(getPlayerPosition(cid), 56) else doPlayerSendCancel(cid, "You Need 50 Level To First Transform.") doSendMagicEffect(getPlayerPosition(cid), 2) end -- GOKU SSJ/ GOKU HYPER SSJ -- elseif getPlayerVocation(cid) == 402 then if getPlayerLevel(cid) >= 75 then doPlayerSetVocation(cid,403) doSetCreatureOutfit(cid, TRANGokuHSSJ, -1) addEvent(EFGokuHSSJ,EXT,cid) doSendMagicEffect(getPlayerPosition(cid), 57) else doPlayerSendCancel(cid, "You Need 75 Level To First Transform.") doSendMagicEffect(getPlayerPosition(cid), 2) end -- GOKU HYPER SSJ/ GOKU SSJ2 -- elseif getPlayerVocation(cid) == 403 then if getPlayerLevel(cid) >= 100 then doPlayerSetVocation(cid,404) doSetCreatureOutfit(cid, TRANGokuSSJ2, -1) addEvent(EFGokuSSJ2,EXT,cid) doSendMagicEffect(getPlayerPosition(cid), 58) else doPlayerSendCancel(cid, "You Need 100 Level To First Transform.") doSendMagicEffect(getPlayerPosition(cid), 2) end -- GOKU SSJ2/ GOKU SSJ3 -- elseif getPlayerVocation(cid) == 404 then if getPlayerLevel(cid) >= 150 then doPlayerSetVocation(cid,405) doSetCreatureOutfit(cid, TRANGokuSSJ3, -1) addEvent(EFGokuSSJ3,EXT,cid) doSendMagicEffect(getPlayerPosition(cid), 59) else doPlayerSendCancel(cid, "You Need 150 Level To First Transform.") doSendMagicEffect(getPlayerPosition(cid), 2) end -- GOKU SSJ3/ BIG GOKU -- elseif getPlayerVocation(cid) == 405 then if getPlayerLevel(cid) >= 180 then doPlayerSetVocation(cid,406) doSetCreatureOutfit(cid, TRANBGoku, -1) doSendMagicEffect(getPlayerPosition(cid), 8) else doPlayerSendCancel(cid, "You Need 180 Level To First Transform.") doSendMagicEffect(getPlayerPosition(cid), 2) end -- BIG GOKU/ BIG GOKU SSJ -- elseif getPlayerVocation(cid) == 406 then if getPlayerLevel(cid) >= 200 then doPlayerSetVocation(cid,407) doSetCreatureOutfit(cid, TRANBGokuSSJ, -1) addEvent(EFBGokuSSJ,EXT,cid) doSendMagicEffect(getPlayerPosition(cid), 150) else doPlayerSendCancel(cid, "You Need 200 Level To First Transform.") doSendMagicEffect(getPlayerPosition(cid), 2) end -- RB -- -- GOKU/ GOKU SSJ -- elseif getPlayerVocation(cid) == 408 then if getPlayerLevel(cid) >= 200 then doPlayerSetVocation(cid,413) doSetCreatureOutfit(cid, TRANRBGokuSSJ4, -1) doSendMagicEffect(getPlayerPosition(cid), 60) else if getPlayerLevel(cid) >= 50 then doPlayerSetVocation(cid,409) doSetCreatureOutfit(cid, TRANRBGokuSSJ, -1) doSendMagicEffect(getPlayerPosition(cid), 249) else doPlayerSendCancel(cid, "You Need 50 Level To First Transform.") doSendMagicEffect(getPlayerPosition(cid), 2) end end -- GOKU/ GOKU SSJ -- elseif getPlayerVocation(cid) == 409 then if getPlayerLevel(cid) >= 100 then doPlayerSetVocation(cid,410) doSetCreatureOutfit(cid, TRANRBGokuSSJ2, -1) addEvent(EFRBGokuSSJ2,EXT,cid) doSendMagicEffect(getPlayerPosition(cid), 250) else doPlayerSendCancel(cid, "You Need 100 Level To First Transform.") doSendMagicEffect(getPlayerPosition(cid), 2) end -- GOKU/ GOKU SSJ -- elseif getPlayerVocation(cid) == 410 then if getPlayerLevel(cid) >= 150 then doPlayerSetVocation(cid,411) doSetCreatureOutfit(cid, TRANRBGokuSSJ3, -1) addEvent(EFRBGokuSSJ3,EXT,cid) doSendMagicEffect(getPlayerPosition(cid), 251) else doPlayerSendCancel(cid, "You Need 150 Level To First Transform.") doSendMagicEffect(getPlayerPosition(cid), 2) end -- GGOKU/ GOKU SSJ4 -- elseif getPlayerVocation(cid) == 412 then if getPlayerLevel(cid) >= 200 then doPlayerSetVocation(cid,413) doSetCreatureOutfit(cid, TRANRBGokuSSJ4, -1) doSendMagicEffect(getPlayerPosition(cid), 60) else doPlayerSendCancel(cid, "You Need 200 Level To First Transform.") doSendMagicEffect(getPlayerPosition(cid), 2) end -- // END else doPlayerSendCancel(cid, "You Cannot Be Stronger.") doSendMagicEffect(getPlayerPosition(cid), 2) end end1 ponto
-
[8.54] Naruto Atarashi Online V.1 Beta
viniciusBIG reagiu a Avuenja por um tópico no fórum
#Brunnoo Obrigado. #banana666 Sim Na Versão V.2 Terão Transforms. Diga Oque Vcê Nao Curtiu Q tentarei Arrumar.1 ponto -
Premium Points In Game
dragonfight reagiu a Vodkart por um tópico no fórum
2 npc de presente: por trade por trade say abraços1 ponto -
[action] Comando !rank Perfeito
TendoTensei reagiu a hique86 por um tópico no fórum
Olá a todos... eu estava procurando por issu encontrei em outro forum e resolvi trazer pra cá, pois muitos procuram por issu, e nenhum funciona, ou quando funciona buga o server e para de salvar... mais esse esta perfeitinho... Vamos lah: Vá ate a pasta data\talkactions\scripts abra qualquer arquivo apague tudo e copie issu: local ranks = { ['fist'] = {0}, ['club'] = {1}, ['sword'] = {2}, ['axe'] = {3}, ['distance'] = {4}, ['shield'] = {5}, ['fish'] = {6}, ['magic'] = {7}, ['level'] = {8}, } function onSay(cid, words, param) local msg = string.lower(param) if ranks[msg] ~= nil then str = getHighscoreString((ranks[msg][1])) else str = getHighscoreString((8)) end doShowTextDialog(cid,6500, str) return TRUE end Va em salvar como e salve com o nome ranking.lua Feche e agora va em data\talkactions e abra o talkactions.xml Na parte <!-- Players --> cole issu: <talkaction words="!rank" script="ranking.lua" /> Salve, e seu comando esta pronto... Funciona todas as skills e o ml... Créditos: Mock Abraços!!1 ponto -
-1 pontos
-
Sim havia um erro nele ja arrumei espero ter ajudado agora ate Testado em : 860-1 pontos