Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 06/25/12 em %
-
[Spells] Extreme Speed
jhonysavio reagiu a meubk por um tópico no fórum
Extreme Speeed Spell muito interessante aonde o alvo recebe varios danos por todos os lados, bem legalzinha arquivo em lua: local config = { efeitoTele = 10, -- efeito q ira aparacer a cada teleport. efeitoDamage = 1, -- efeito q ira aparecer ao hitar no alvo hits = 5, -- quantos hits vai dar delay = 200, -- intervalo de tempo a cada hit min = 100, -- dano minimo max = 150, -- dano maximo damage = COMBAT_PHYSICALDAMAGE -- tipo do dano } function isWalkable(pos, creature, pz, proj) -- nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end function getPosDirs(p, dir) -- mkalo return dir == 1 and {x=p.x-1, y=p.y, z=p.z} or dir == 2 and {x=p.x-1, y=p.y+1, z=p.z} or dir == 3 and {x=p.x, y=p.y+1, z=p.z} or dir == 4 and {x=p.x+1, y=p.y+1, z=p.z} or dir == 5 and {x=p.x+1, y=p.y, z=p.z} or dir == 6 and {x=p.x+1, y=p.y-1, z=p.z} or dir == 7 and {x=p.x, y=p.y-1, z=p.z} or dir == 8 and {x=p.x-1, y=p.y-1, z=p.z} end function validPos(pos) tb = {} for i = 1, 8 do newpos = getPosDirs(pos, i) if isWalkable(newpos) then table.insert(tb, newpos) end end table.insert(tb, pos) return tb end spell = { start = function (cid, target, markpos, hits) if not isCreature(cid) then return true end if not isCreature(target) or hits < 1 then doTeleportThing(cid, markpos) doSendMagicEffect(getThingPos(cid), config.efeitoTele) return true end posAv = validPos(getThingPos(target)) rand = #posAv == 1 and 1 or #posAv - 1 doSendMagicEffect(getThingPos(cid), config.efeitoTele) doTeleportThing(cid, posAv[math.random(1, rand)]) doAreaCombatHealth(cid, config.damage, getThingPos(target), 0, -config.min, -config.max, config.efeitoDamage) addEvent(spell.start, config.delay, cid, target, markpos, hits - 1) end } function onCastSpell(cid) target = getCreatureTarget(cid) if target then spell.start(cid, target, getThingPos(cid), config.hits) end return true end tag: <instant name="Extreme speed" words="extreme speed" lvl="65" mana="580" prem="0" exhaustion="2000" needtarget="1" range = "4" needlearn="0" script="arquivo.lua"> Não vou postar ss ou video pq estou sem tempo, se querer ver como esta vai ter q testar.1 ponto -
Elfen War
JulioSchuambach reagiu a Deehzinhoxx por um tópico no fórum
Mapa ELFEN WAR Templo imagem.bmp Donate Area imagem.bmp Novos Monsters s.bmp Entre Novos Monstros - Undead Morgaroth - Elfen Archer - [bOSS] Lucifer - Morgaroth Girl - [bOSS] Ninja - Swamp Morgaroth ~~ Entre Outros Novas Spells - Bushido (Para Donaters) - Exevo Extreme Death (Para Master Sorcerers) - Exevo Elemental (Para Elder Druids) - Exori Gran Supreme (Para Elite Knights) ~~ Entre Outras ATENÇAO OTSERVER APROPRIADO PARA EXP ALTA -- Download >> http://www.4shared.com/file/gtJqBRJZ/Snowz_Ots_V11.html -- Scan >> Em Andamento OBS : Ñ vou postar Download Ate eu arrumar scan Para nao diserem que esta com virus GOSTOU ??? REP++++ Ñ Custa nada1 ponto -
Explicação: É o sistema de casamento conhecido, porém foi reformulado para funcionar em versões mais recentes. Descrição: O sistema conta com: Item: Os jogadores que se casar receberão um Wedding ring com seus nomes e data do casamento. Outfit: jogadores que se casam recebem outfit, caso se divorciem, perder as outfits. Look: o look mostra com quem é casado Combate: Os jogador não pode atacar seu patner Comandos: /marriage info -- mostra em uma janela o preço do casamento/divórcio e o level minimo para casar. /marriage status -- mostra com quem é casado e a data do casamento Outra coisa bem importante é que os dois jogadores NÃO precisam estar online para se divorciarem, exemplo: JOÃO e casado com MARIA, JOÃO vai até o npc e paga um preço para de divorciar, só quem pede o divorcio que paga a taxa, logo MARIA não precisa pagar nada pois seu Ex-Patner JOÃO já pagou. O que ela precisa fazer é "assinar" com o npc o seu divorcio também. Como casar? Player1: Player2: Na sua db execute: CREATE TABLE marriage_system ( id INTEGER NOT NULL, player_id INTEGER NOT NULL, partner VARCHAR( 255 ) NOT NULL, marriage_date INTEGER NOT NULL, PRIMARY KEY ( id ) ); Caso você ter a outfit Husband e Wife(de casamento) no seu servidor abra o spoiler: Mods: Npc: Configuração:1 ponto
-
Otimizando Server Save - Limites Do Otserv (100% Linux)
Rajas reagiu a Administrador por um tópico no fórum
Otimizando Server Save - Limites do OTserv Fiz esse tutorial a pedido da galera que esta procurando otimizar o server save do seu OT. Nesse tutorial nós usamos o mysql tuner que é mais fácil, mas se você quiser estudar mysql e aprender como ele trabalha, como funciona cada variável, engine de tabela, storage e etc.. seria muito melhor pro seu servidor. Note que estamos usando Linux aqui, pois eu não rodo otserver em windows (não gosto, da problema, é ruim ...). Não sei se o mysql tuner roda em windows, se alguém ai souber posta nesse tópico ou cria um outro tutorial usando windows Por que o server save laga? A Cipsoft faz um grande save 1x por dia, mas como nossos sistemas, gestão é mais amadora que eles é um risco muito grande para um otserver trabalhar com save diário, por isso, a maioria das pessoas escolhe usar server save a cada 15, 30 ou 60 minutos. Quando o sistema faz um server save ele despeja todos os dados que estão em memória no banco de dados e aqui temos uma grande carga de IO (disco). Para melhorar isso vamos aprender abaixo como otimizar um pouco o mysql para ele fazer mais cache e assim usar mais a memória RAM que é milhares de vezes mais rápida que o acesso a disco e também, já que não temos saída, como melhorar nosso IO (é caro isso). 1- Otimizando Mysql Linux apenas, se alguém souber como usá-lo em windows poste aqui que atualizo O que é Mysql Tuner? Um programa desenvolvido em perl que vai ler seu mysql e propor melhorias na configuração dele para otimizar o uso do cache e entender onde estão seus problemas. Download & Install mysql tuner wget http://mysqltuner.com/mysqltuner.pl chmod +x mysqltuner.pl ./mysqltuner.pl Nota: Recomendo que deixe o mysql por 24 horas+ ligado para que ele consiga ser mais preciso na análise. Entendendo o Software e fazendo modificações Após você rodar o mysql tuner pelo comando (./mysqltuner.pl) você vai ver uma tela parecida com isso Note que na parte "recommendations" (recomendações) ele já propor a alteração de algumas variáveis do mysql, certo? Faça-as e vá testando e experimentando! Alterando configurações mysql Dependendo da sua distro o arquivo fica em locais diferentes, eu uso debian 6.0 e o meu local é /etc/my.cnf. pico /etc/my.cnf 2- VPS ou Dedicado? Sim, isso influencia no server save! As empresas confiáveis hoje usam sistemas de virtualização chamados VMware, OpenVZ, HyperV etc... Todos esses softwares são muito bons, mas quando estamos falando de muitos players on-line e um sistema (otserver) que só consegue trabalhar com 1 CPU (núcleo) por limitações de desenvolvimento, temos um grande problema. Começar um otserver com VPS é tranquilo, mais barato, mas quando você crescer... POR FAVOR! Use o dinheiro de VIP, que seus players doam com tanto suor, para melhorar seu produto para eles. Isso é o MÍNIMO que vocês podem fazer para garantir uma qualidade descente. Todos esses sistemas de VPS limitam o IO (taxa de trocas de dado entre a memória e o disco), pois rodam 2~8 otservers em uma máquina física. Então acho que já entenderam né? VPS apenas para servidores que estão começando (até 100 online), se você quiser otimizar seu server save, mude para um servidor dedicado! 3- Segurança para contratar seu dedicado? Tenho que falar sobre isso. Tomem muito cuidado ao contratar a empresa do seu servidor, o xtibia.com ficou 1 semana offline pois uma empresa usava os dedicados dos clientes para nos atacar e isso é CRIME, tivemos que mover pedidos de desligamento para datacenters e provavelmente os clientes foram prejudicados por isso. Ter uma empresa de hosting hoje é muito fácil, qualquer um pode ter, mas estar no mercado há anos que é o difícil. Por isso recomendo só 1 empresa aqui no brasil para vocês terem seu VPS e depois seu dedicado, serversoft.com.br! Sendo muito sincero com vocês, o globalwar hoje hospeda direto com datacenters americanos, pois temos esse conhecimento na equipe, se você não é nenhum especialista em servidores e não tem ninguém para isso, hospede com uma revenda aqui no brasil (serversoft.com.br), não vai pagar mais caro por isso e ainda terá suporte em português e toda a ajuda deles. Agora vocês entendem, por que proibimos anúncios de outras empresas aqui né? Cada dia uma empresa diferente vem pedir para anunciar aqui conosco, mas como é um mercado muito complicado, eu prefiro proteger vocês usuários ganhando menos com publicidade mas mantendo uma empresa que eu confio como patrocinadora. 3- HD Sata -> SSD? A grande sacada... Se você chegou até aqui e seguiu meus passos, meus parabéns! Espero que aqui você já esteja com um dedicado ou pelo menos pensando (rsrs, prefiro a palavra convencido) em alugar um o mais rápido possível! Os servidores dedicados normais vêem hoje com hds SATA que possuem uma velocidade mecânica de 7200RPM, nós precisamos de mais performance, por isso, você deve solicitar que inclua um HD SSD 32GB para o seu dedicado, nesse HD só vai rodar o mysql, pois ele precisa de performance e fica tranquilo que seu OTserver não vai ter 32GB de banco de dados, pois ele pararia de funcionar primeiro se você não der clean de vez em quando na database... Veja a tabela de comparação: - HD SATA: 150mb/s (mecânico) - HD SATAII: 300mb/s (mecânico) - HD SSD: 3gb/s (memória volátil - eletrônico) O preço de um HD SSD custará um adicional entre $40~$70 por mês para seu dedicado! 4- Onde chegamos com isso? - O server save de 10s com 300 online, caiu para 1.5s 5- Demais Dicas? Enviadas por usuários em comentários ou e-mails. Christian Letti Say's: Desfragmentar Tabelas do Mysql mysqlcheck -p --auto-repair --check --optimize --all-databases Créditos da Solução: - tunning mysql & hd ssd (dark bart) - mysql tuner: Kydrai & christian (pstorm.net) Espero ter ajudado, perguntas???1 ponto -
Olá. Este é o meu primeiro ot serv que venho disponibilizar aqui no Xtibia. Usei como base o Carlin War do Soldoran Acc God God/God Screenshoots Mapa inteiro Templo Alavancas VIPS NPC Vip Armas VIP Trainer Soft Boots quest Recarregar soft NPC Algumas QUESTS Novas magias! Magias para Druid Magias para Sorcerer Magias para Druid e Sorcerer Obs: Apenas a magia Hyakka não é de minha autoria. Magias para Knight Magias para Paladin Exevo San Exori Holy Exevo Bat Download: http://www.multiupload.com/LWCIHFOBVX Obs: Estao sem as DLL. Scan: https://www.virustot...sis/1326580108/ ATENÇAO!!! ESTA OCORRENDO UM DEBUG QUANDO ENTRA NO CHAR DEPOIS DE CRIA-LO!!! PARA TIRA-LO BASTA IR EM DATA/CREATURESCRIPTS/CREATURESCRIPTS.XML E RETIRAR ESSA LINHA: <event type="advance" name="playeradvance" script="advance.lua"/> O Account manager esta em posiçao errada, basta abrir o Sqlite Studio dentro da pasta do ot, e configura-lo para o lugar correto !! Coordenadas: x 1048 y 941 z 6 Espero que gostem!! Não esqueçam do REP+ Créditos: -Créditos aos devidos donos pelas dlls e exe (Não sei de quem é) -Créditos aos devidos donos dos Scripts ( Existem varios) -Soldora - E para min1 ponto
-
[Linux] Instalando Webmin (Mysql, Apache, Logs, Backups Etc...)
Nolis reagiu a Administrador por um tópico no fórum
Prazer, Webmin Para quem não conhece o webmin é uma suite free & open-source que é um canivete suiço para quem quer rapidez e facilidade para a administração de serviços em linux. Se você quer instalar apache, mysql, logs, backups, monitoramento ou até mesmo alterar algumas propriedades do servidor como horário, diretórios, hds etc... você deve ler esse tutorial Isso aqui não é um tutorial de webmin para isso recomendo a leitura e visualização do DEMO abaixo: http://www.webmin.com/demo.html Instalação: apt-get install nano pico /etc/apt/sources.list deb http://download.webm...load/repository sarge contrib apt-get update apt-get install webmin Depois acesse http://seuip:10000 e seja feliz Nota: Em algumas vms ele pode demorar um pouquinho para instalar, então espere1 ponto -
rapaz eu até daria, mas já atingi meu limite de hoje... amanha eu reputo, quero ver mais trabalhos seus por aqui futuramente! abraços1 ponto
-
Duvida Sobre Outfit
gustavoMtek reagiu a Vodkart por uma questão
remove essa parte for i = 1, #config[a].outfit do doPlayerAddOutfit(cid, config[a].outfit[i], 3) end1 ponto -
(Talktion) !info (Playername)
Bennyhappy reagiu a Leoxtibia por uma questão
Talvez esse tópico possa te ajudar: http://www.xtibia.com/forum/topic/171675-ver-equipes-and-skills/1 ponto -
Tem Como Fazer Scripts De Entregar Pontos Ao Player
pesadeloxx reagiu a Vodkart por uma questão
ae galera, tinha um bug mais ja removi, editei o tópico, usem o novo! é um MODS cara, são todos os scripts em um arquivo só. da uma olhada nesse tópico: http://www.xtibia.com/forum/topic/183310-premium-points-in-game/1 ponto -
adc em Data/lib/function.lua function getAccountPoints(cid) local res = db.getResult('select `premium_points` from accounts where name = \''..getPlayerAccount(cid)..'\'') if(res:getID() == -1) then return false end local ret = res:getDataInt("premium_points") res:free() return tonumber(ret) end function doAccountAddPoints(cid, count) return db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) + count .."' WHERE `name` ='"..getPlayerAccount(cid).."'") end actions/script nome do seu script.lua function onUse(cid, item, frompos, item2, topos) local points = 1 doAccountAddPoints(cid, points) doRemoveItem(item.uid, 1) return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"você recebeu "..points.." premium points.") end actions.xml <action itemid="2157" event="script" value="nome do seu script.lua"/>1 ponto
-
eu sei eu sei, faz o seguinte, adiciona essas funções na sua lib: function getAccountPoints(cid) local res = db.getResult('select `premium_points` from accounts where name = \''..getPlayerAccount(cid)..'\'') if(res:getID() == -1) then return false end local ret = res:getDataInt("premium_points") res:free() return tonumber(ret) end function doAccountAddPoints(cid, count) return db.executeQuery("UPDATE `accounts` SET `premium_points` = '".. getAccountPoints(cid) + count .."' WHERE `name` ='"..getPlayerAccount(cid).."'") end Mods? Premium_Time.xml <?xml version="1.0" encoding="UTF-8"?> <mod name="Premium Time" version="1.0" author="Vodkart" contact="xtibia.com" enabled="yes"> <config name="ptime_func"><![CDATA[ info = { storage = 520853, hours = 10, points = 1, IpLimit = 2 } function CheckPremiumTime(cid) local count,on,ip,check = 0,getPlayersOnline(),{},true if #on > 0 then for i = 1, #on do if getPlayerIp(on[i]) == getPlayerIp(cid) then count = count + 1 if on[i] ~= cid then table.insert(ip, on[i]) end end end if count > info.IpLimit then for x = 1, #ip do if getPlayerStorageValue(ip[x], info.storage) ~= -1 then check = false end end end end return setPlayerStorageValue(cid, info.storage, check == true and os.time()+info.hours*3600 or -1) end ]]></config> <event type="login" name="PointRegister" event="script"><![CDATA[ domodlib('ptime_func') function onLogin(cid) CheckPremiumTime(cid) return true end]]></event> <globalevent name="RewardPoint" interval="60" event="script"><![CDATA[ domodlib('ptime_func') function onThink(interval, lastExecution) local on = getPlayersOnline() if #on > 0 then for i = 1, #on do if getPlayerStorageValue(on[i], info.storage) ~= -1 and getPlayerStorageValue(on[i], info.storage) <= os.time() then doAccountAddPoints(on[i], info.points) doPlayerSendTextMessage(on[i], 19, "Congratulations, you reward "..info.points.." premium points. Your timer was reseted.") setPlayerStorageValue(on[i], info.storage, os.time()+info.hours*3600) end end end return true end]]></globalevent> </mod>1 ponto
-
Npc Que Vende Bless Por Diamonds
darkalvaro reagiu a jhon992 por uma questão
local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid 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 greetCallback(cid) talkState[talkUser] = 0 return true end local diamondsIds = 4351 -- põe o id do diamond local diamondsQuant = 3 -- quantidade que ira remover de diamonds function creatureSayCallback(cid, type, msg) local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if(not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, 'bless') then if getPlayerItemCount(cid, diamondsIds) >= diamondsQuant then doPlayerRemoveItem(cid, diamondsIds, diamondsQuant) for i=1, 5 do doPlayerAddBlessing(cid, i) end selfSay("Você recebeu sua bless!", cid) else selfSay("Você precisa de "..diamondsQuant.." diamonds para comprar bless.", cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())1 ponto -
local distanceCombat = createCombatObject() setCombatParam(distanceCombat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(distanceCombat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SPEAR) function getSpellDamage(cid, lv) damage_min = lv * 2 damage_max = lv * 1 if(damage_max < damage_min) then local tmp = damage_max damage_max = damage_min damage_min = tmp end return -damage_min, -damage_max end setCombatCallback(distanceCombat, CALLBACK_PARAM_SKILLVALUE, "getSpellDamage") function onCastSpell(cid, var) local target = getCreatureTarget(cid) local enemypos = getCreaturePosition(target) if isMonster(target) or isCreature(target) then if verificaPos(cid, enemypos, var) == false then doPlayerSendCancel(cid, "Position not valid.") return false else return true end else doPlayerSendCancel(cid, "You need a taget.") return false end end function verificaPos(cid, enemypos, var) local positions = {} local player = getCreaturePosition(cid) for i=-1, 1 do for j=-1, 1 do local position = {x=enemypos.x+i,y=enemypos.y+j,z=enemypos.z} if isWalkable(position) then positions[#positions+1] = position end end end if #positions > 0 then doTeleportThing(cid, positions[math.random(1,#positions)]) doSendMagicEffect(player, 61) return doCombat(cid, distanceCombat, var) else return false end end function isWalkable(pos, creature, pz, proj) -- nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end local creature = getTopCreature(pos) if creature.type > 0 then return false end if getTilePzInfo(pos) and not pz then return false end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true end1 ponto
-
Quando fiz essa spell eu tava iniciando em Lua ainda, então resolvi reformular e dar uma adaptada rapidinho pra ti agora. Vai ficar assim: local tempo = 60 -- tempo em segundos. local effect = {27,28,29} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 5 -- quantos ira aumentar o skill de ML local skillfist = 5 -- quantos ira aumentar o skill de Fist local skillsword = 5 -- quantos ira aumentar o skill de Sword local skillaxe = 5 -- quantos ira aumentar o skill de Axe local skillclub = 5 -- quantos ira aumentar o skill de Club local skilldistance = 5 -- quantos ira aumentar o skill de Distance local skillshield = 5 -- quantos ira aumentar o skill de Shield local health = 30 -- A cada 1 segundo quantos aumentar de vida local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml) setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_HASTE) setConditionParam(condition, CONDITION_PARAM_SPEED, 250) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setCombatCondition(combat, condition) local condition = createConditionObject(CONDITION_REGENERATION) setConditionParam(condition, CONDITION_PARAM_SUBID, 1) setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health) setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000) setCombatCondition(combat, condition) function magicEffect3(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do doSendMagicEffect(getPlayerPosition(cid), effect[i]) end end end end function onCastSpell(cid, var) if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then doCombat(cid, combat, var) tempo2 = 0 while (tempo2 ~= (tempo*1000)) do addEvent(magicEffect3, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 1000 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end1 ponto
-
Ainda nesta semana que vem divulgaremos informações sobre inscrições para o BETA. Aguardem.1 ponto
-
Como Por Acc Manager
Lucaswc15 reagiu a Sociopataa por um tópico no fórum
Após instalar seu site Gesior e ele estar funcionando 100% , sem nenhum bug e o server estar online, suponho que você enfrente o seguinte problema: A preguiça dos players em acessarem seu site para criar um char. Principalmente os players que descobrem seu server através do otserverlist.org! Então vou explicar como utilizar o site e o account manager do server ao mesmo tempo! 1º - Vá até a pasta do seu server e abra o arquivo config.lua com o bloco de notas. Na linha do accountManager deixe como está abaixo: (caso esteja como ="no" ou ="false") accountManager = "true" Salve as alterações e feche seu config.lua 2º - Agora que seu account manager esta ativado...vamos configura - lo para ser utilizado em conjunto com o site. Ao instalar o site gesior, você obteve sua conta de administrador. Se observar a conta de administrador é justamente a account 1, portanto você terá que altera - la. Abra o phpmyadmin (localhost) http://localhost/phpmyadmin/ caso você utilize a porta :8090 utilize o seguinte... http://localhost:8090/ Digite o usuario: root e a senha que escolheu na hora de instalar o Xampp, clique no botão executar. Agora clique na database do seu servidor para ter acesso a ela. Clique em accounts Você vera uma tabela com id,name,password,etc... clique no lápis [Editar] do lado do X [Remover] em vermelho, para editar a conta que desejar, no caso é a account name = 1 de id = 1(normalmente a primeira linha da tabela Accounts). Edite esta tabela da seguinte maneira: id = 1 name = 1 password = 1 blocked = 0 group_id = 1[/b] [b]page acess = 0 Clique em Executar após terminar de fazer as alterações. Agora clique na Tabela Players de sua database. Edite o Account Manager (Normalmente o Player com id=1) - Só clicar no lápis [Editar] no campo do lado esquerdo do Account Manager. Edite ele da seguinte maneira: Group_id = 1 Account_id = 1 Lookyype = pode por oque quiser, por exemplo o de um monstro ou god. "este numero é oque mudara a aparência de seu account manager". exemplos: Yeti = 110 GOD = 302 town_id; posx ; posy e posz são as coordenadas x,y,z que tem no config.lua na pasta do seu servidor. As do meu config.lua são: newPlayerSpawnPosX = 160 newPlayerSpawnPosY = 54 newPlayerSpawnPosZ = 7 newPlayerTownId = 1 então meu account manager do site fica assim: town_id = 1 posx= 160 posy= 54 posz = 7 obs: O account manager esta configurado para aparecer no templo, porém você pode escolher qualquer coordenada do mapa para ele aparecer. agora que você já configurou seu account manager, clique em executar. Para salvar as alterações. Você vera outros chars com os seguintes nomes: Rook Sample, Sorcerer Sample, Druid Sample, Paladin Sample, e Knight Sample. Edite cada um deles modificando a seguinte linha: deleted = 1 motivo? para que estes chars não apareçam na lista de chars quando os novos players entrarem na account 1/1 (account manager) para criar suas contas. Agora entre no seu site e crie uma conta para você administar seu site. Vá no phpmyadmin denovo, na database do seu servidor e entre em accounts. Clique no botão Procurar na parte superior e em Name, digite o nome de usuario escolhido ao criar a conta. Depois clique no botão Executar. Se você digitou o nome certo ira aparecer sua conta...é clicar em Editar [No lápis] e altere o seguinte campo: page_access =0 para page_access = 5 E clique no botão Executar, para salvar as alterações. OBS: Se quiser pode fecha a pagina de seu phpmyadmin. Pronto, sua conta de administrador está prontinha! Seu account manager está pronto para ser usado, e também é possivel criar chars e contas pelo site. Porém não acabou ainda! 3º - Bloquiar o acesso do Account Manager pelo site, para evitar que alterem a senha ou excluam - lo. Abra a pasta: \xampp\htdocs E substitua o código de seu accountmanagement.php por este aqui que irei postar: Salve e Feche. Caso os novos players nasçam na posição errada ou não consigam entrar no char após cria - lo, abra seu accountmanagement.php aperte ctrl+f e procure por posx ira aparecer: $player->setPosX(160); $player->setPosY(54); $player->setPosZ(7) Coloque as coordenadas do templo de sua cidade principal.1 ponto -
Aew PoW perguntei de se tem respawn de shiny ou johto ou os dois ! alguem pode me responder?1 ponto
-
Baiak Inova Por [Adm]Gouvea
yuurizabot reagiu a Nadotti por um tópico no fórum
Scan It . https://www.virustotal.com/url/0393a9c8df8a7b5f89085b41f90bf5ae487d0f25fa0e9dd73585021bdc5b56d3/analysis/1335897798/1 ponto -
[Ajuda] Avisar Quando Cooldown Da Magia Estiver Pronto.
digomaciel reagiu a jhon992 por uma questão
A sua tava quase cof corretamente, só mudei umas coisinhas: local outfit = {lookType = 330} local tempo = 15 * 1000 local cooldown = 30 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, 40) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 150) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit) setCombatCondition(combat, condition) function cooldownready(cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Cooldown of Magic Disturb is ready.") end local sys = createConditionObject(CONDITION_OUTFIT) setConditionParam(sys, CONDITION_PARAM_TICKS, tempo) addOutfitCondition(sys, outfit) setCombatCondition(combat, sys) function onCastSpell(cid, var) if exhaustion.check(cid, 50001) == false then exhaustion.set(cid, 50001, cooldown) addEvent(cooldownready, cooldown*1000, cid) return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 50001).."]") end end obs: nem testei, qualquer erro me fala aqui.1 ponto -
[Encerrado] [Pokemon] Dúvidas? - Pda
felliz reagiu a matheuusmv por um tópico no fórum
O que acham do meu mapa?1 ponto -
Como Criar Um Otserver 8.60 Tibia
jonhvictor reagiu a HeelNox por um tópico no fórum
Boa lek ... Eu tava proucurando 8.54 mais assim mesmo REP+ :button_ok:1 ponto -
ta funfando perfeitamente legal kara-1 pontos
-
Subwat Kamikaze v30
Killingtabom reagiu a rogeriocene por um tópico no fórum
Novo Lançamento!!!! < King Subwat Kamikaze> OMG Oque Ha de Novo no Server? -Sistem Pet /Pet noob,Pet normal,Pet Descente e Pet Foda -Shadow vip -Shadow vocaçao -Shadow coins e Demonic coins -Novos Sets: Brutal set,Demonic Set,Shadow set e o Melhor De todos King Set E Strike Set E Adicionado Apocalypse Set (19/07/2013) -Hard Quest - Dando Brutal Set -Novo Design Do Templo E Das Hunts Sistema De Refinamento de Set Removido o bug Do GOD -Demonic Quest - Dando demonic Set -Shop De Alavanca -Vocaçoes balanceadas -Novas Runas e armas -Comando !maxlvl -Novo Design -Trainer em cima do templo -Novos Monstros Adicionado Sistema De Cassino Nova Moeda De Jogo..Apocalypse Coin (Bugs De loot em monster Removidos) Imagens: Download : http://www.4shared.com/rar/JbURldl7/novo.html? GOSTOU ??/ + REP AE PLIZ !!!!!BUGS RETIRADOS!!!!!!-1 pontos