Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 05/27/10 em todas áreas

  1. MatheusGlad

    Como Editar Magias [Novo Update]

    Versao 0.1b Tutorial Voce nao Sabe nada sobre scripts e nem mesmo como funcionao e quer criar uma magia Voce pode ir no classico copy/paste: Primeiro Passo: Copie uma tag no spells.xml Exemplo: E cole logo a baixo uma identica. Agora edite certos campos: Vermelho Palavras a serem ditas para a magia sair Verde Level para Usar a magia Amarelo Mana pra Usar a magia Negrito Voce deve mudar para o nome do seu script, no caso usaremos eternal extreme winter Procure na pasta scripts/attack o bloco de notas chamado eternal winter copieo e cole renomeie-o para eternal extreme winter, abaixo ensino como editar. Em seguida voce pode editar certas coisas Azul Minimo Dano -- Leve em base que dakele geito que esta 2.7 ira dar 500 de dano se voce multiplicar por 2 o 2.7 ira ficar 5.4 e ira dar 1000 de dano Rosa Maximo Dano -- mesmo conceito de cima Laranja se voce nao conhece o comando pode ser !z 1,2,3...66 ou /z 1,2,3...66 useo no seu ot e veja um bem legal e apague toda a parte laranja e bote o efeito que voce quer no meu caso irei botar 61 Conclusao a magia ira ficar com a forma do exevo gran mas frigo com otro dano e com otro efeito ___________ Update 0.2a Usando tambem o comando !x ou /x 1,2,3...41 Na linha da sua magia vai estar assim: Para usar os efeitos do /x ou !x voce deve botar antes do EFFECT a palavra DISTANCE e ficara assim: Negrito Como devera ficar para utilizar o comando !x ou /x Listinha de efeitos e seus devidos nomes: ___________________ Update 0.2b Mudando a area da sua spell: Repare a linha da nossa primeira spell la em cima Neste local voce edita a area da sua magia vamos começar: Apague toda akela linha acima em negrito e bote isto: Legenda dos numeros: 0 = nao vai acertar a magia 1 = aonde a magia vai acertar 2 = centro que eh o player (nao acertara tambem) Agora voce pode fazer uma area que voce queira de qualquer forma ___________________ Update 0.3a Como Trocar o Dano da sua Magia: Para trocar o tipo de dano repare a linha da magia: Vermelho Eh o tipo de dano que ira dar eh so mudalo para outro tipo Listinha de Danos: COMBAT_PHYSICALDAMAGE - 1COMBAT_ENERGYDAMAGE - 2COMBAT_EARTHDAMAGE - 4COMBAT_POISONDAMAGE - 4COMBAT_FIREDAMAGE - 8COMBAT_UNDEFINEDDAMAGE - 16COMBAT_LIFEDRAIN - 32COMBAT_MANADRAIN - 64COMBAT_HEALING - 128COMBAT_DROWNDAMAGE - 256COMBAT_ICEDAMAGE - 512COMBAT_HOLYDAMAGE - 1024COMBAT_DEATHDAMAGE - 2048PS:Voce pode usar os numeros no lugar das palavras ___________________ Update 0.3b Botando em pratica tudo que aprendemos! Neste update nos iremos usar todo o conteudo do tutorial para fazer uma magia com varios efeitos,danos e areas diferentes Aqui esta o script que criei para trabalharmos em cima dele: Legenda: Azul Dano de cada wave (onda) da sua magia Negrito Area das magias (arr) Vermelho Pausa de uma wave para outra, se quizer aumente bote 100,300,500... Pronto agora se voce viu os outros updates sabera mudar dano efeito e fazer uma otima magia bem louca Video de Demonstraçao: __________ Fim dos Updates (Se voce tiver alguma opniao de update MP para mim que eu faço mais updates)
    1 ponto
  2. VERSÃO 8.60 V.10! Novidades:!virardruid,!virarknight,!virarpaladin,!virarsorcrer !buyexp,!manarune, novo design do templo e novas Hunts. UPDATE 8.54/8.57! TEMPLO TOTALMENTE NOVO... NOVAS AREAS... ANIHI VIP DANDO ITENS FOX! Vários bugs corrigidos de tps e novo design do templo e algumas areas vips. NOVOS MONSTROS: Demona(free),Putinha Do Serv(vip). ADDON SISTEM:POR DEMONIC ESSENCES. ADICIONADO NPC:Demonic Man,Ceifeiro Addoner. aqui vai algumas infos do servidor: MONSTROS: EXP BOSS SUBWAT BOSS MASTER SUBWAT BOSS BOSS HYDRA MEGA VIP BEGIN MONSTER Sacred Assassin Verminor LORD VAMPIRE LORD DRACULa DEMON HUNTER FROST MORGAROTH GOLD DEMON GUARDIAN DEVIL BEAST spells: EXEVO MAS DEAD EXEVO GRAN MAS ICE EXEVO SONG PALLY EXEVO SONG SORC EXEVO SONG DRUID EXORI MAS GRAN UTANI SONIC HUR UTANI FRESNO HUR EXEVO GRAN MAS MORT EXURA KINA HEAL EDITEDS MANA EDITEDS SOBEMANA EXURA MANASPELLS: ENTRE OUTROS.... COMANDOS: !SUBWATAXE !SUBWATCLUB !SUBWATBOW !SUBWATBLADE !SUBWATWAND !SUBWATARROW !ULTRAWAND !RESET !RANK !TOP !BLACKTEAM !WHITETEAM UNICOS DO SUBWAT: !BUYVIDA !BUYMANA VERSÃO 8.54-8.57 SUBWAT V.9! ATUALIZADO DIA 30/06/2010 novidades:COMPRA DE DISTANCE E MELEE!!!! !distance,!melee Rebalanceamento De Vocações! Distro Atualizado agora com 4 Versões de Tibia! 8.54/8.55/8.56/8.57! DOWNLOAD:SUBWAT 8.54/.857 V.9.6 CREDITOS>:Gean Riot(mapa spells itens e tudo mais) Kydrai(pelo !buyvida,!buymana) TEMPLO: TELEPORT ROOM: MINIMAP: att Gean Riot
    1 ponto
  3. Vodkart

    Perfect Vip System 3.0

    Perfect Vip system 3.0 Última atualização: 14/08/12 Versão Testada:TFS 0.3.6 - 8.54 - 8.6 - 9.6 Créditos pelas modificações: Kydrai,Vodkart e Marcryzius Oque Contém no Sistema vip 3.0? Comandos: Query Primeiro passado execute essa query na sua DB: ALTER TABLE `players` ADD `vipacess` INT(15) NOT NULL DEFAULT 0; Agora vá em Data/lib/050-function e adicione essas funções: function getCharacterAcess(cid) local query = db.getResult("SELECT `vipacess` FROM `players` WHERE `id` = "..getPlayerGUID(cid)) if query:getID() ~= -1 then return query:getDataInt("vipacess") end end function getCharacterDays(cid) local acess = math.ceil((getCharacterAcess(cid) - os.time())/(86400)) return acess <= 0 and 0 or acess end function HaveCharaterAcess(cid) return getCharacterDays(cid) > 0 and true or false end function setAcessTime(cid, time) return db.executeQuery("UPDATE `players` SET `vipacess` = "..time.." WHERE `id` = "..getPlayerGUID(cid)) end function addCharacterAcess(cid, days) local add = (days <= 0 and 1 or days)*86400 local time = getCharacterDays(cid) == 0 and (os.time() + add) or (getCharacterAcess(cid) + add) return setAcessTime(cid, time) end function doRemoveCharacterAcess(cid, days) local remove = days*86400 local time = getCharacterAcess(cid) - remove return setAcessTime(cid, (time <= 0 and 1 or time)) end function getVipAcessDate(cid) if HaveCharaterAcess(cid) then return os.date("%d/%m/%y %X", getCharacterAcess(cid)) end return false end Talkactions agora em talkactions/scripts vipsystemplayer.lua function onSay(cid, words, param) if(words == "!buyvip") then local days = 10 local price = 50000 if not doPlayerRemoveMoney(cid, price) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.") return true end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.") addCharacterAcess(cid, days) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP, ela acaba em "..getVipAcessDate(cid)) elseif(words == "!vipdays") then return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP. "..(getCharacterDays(cid) > 0 and "ela acaba em "..getVipAcessDate(cid).."." or "")) end return true end vipsystemgod.lua function onSay(cid, words, param) if(words == "/checkvip") then if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end local player = getPlayerByName(param) if not isPlayer(player) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player "..player.." not found.") return true end return doPlayerPopupFYI(cid, "O jogador tem "..getCharacterDays(player).." dias de VIP no character.") elseif(words == "/addvip") then local t = string.explode(param, ",") if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByNameWildcard(t[1]) if(not player)then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") end addCharacterAcess(player, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você adicionou "..tonumber(t[2]).." dias de VIP no player "..getCreatureName(player)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..tonumber(t[2]).." dias de VIP no seu character.") elseif(words == "/delvip") then local t = string.explode(param, ",") if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end local player = getPlayerByNameWildcard(t[1]) if(not player)then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") end doRemoveCharacterAcess(player, tonumber(t[2])) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você removeu "..tonumber(t[2]).." dias de VIP do jogador "..getCreatureName(player)..".") end return true end em talkactions.xml adicione as tags: <talkaction words="!buyvip;!vipdays" event="script" value="vipsystemplayer.lua"/> <talkaction words="/addvip;/delvip;/checkvip" access="4" event="script" value="vipsystemgod.lua"/> Item Vip item que adiciona vip no character actions/script addvipdays.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local days = 15 addCharacterAcess(cid, (days <= 0 and 1 or days)) doRemoveItem(item.uid,1) return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem "..getCharacterDays(cid).." dias de VIP, ela acaba em "..getVipAcessDate(cid)) end Actions.xml <action itemid="ID DO SEU ITEM" script="addvipdays.lua"/> Vip Door actions/script perfectvipdoor.lua function onUse(cid, item, frompos, item2, topos) if not HaveCharaterAcess(cid) then return doPlayerSendTextMessage(cid,22,"Você precisa ser vip para passar aqui.") end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, topos, true) return true end actions.xml <action actionid="7779" script="perfectvipdoor.lua"/> Tile VIP em movements/scripts crie um arquivo.lua e renomeie para vipe.lua function onStepIn(cid, item, position, fromPosition) if item.actionid == 13700 and not HaveCharaterAcess(cid) then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"você não é vip.") doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"bem vindo.") return true end Em movements.xml adicione a tag: <movevent type="StepIn" actionid="13700" event="script" value="vipe.lua"/> no seu piso coloque ACTIONID 13700 Fim Vip em creaturescript/script endvip.lua function onLogin(cid) if getCharacterDays(cid) > 0 then setPlayerStorageValue(cid, 9898, 1) elseif getPlayerStorageValue(cid, 9898) == 1 and getCharacterDays(cid) <= 0 then doPlayerSetTown(cid, 1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doPlayerPopupFYI(cid, "Sua vip Account acabou.") setPlayerStorageValue(cid, 9898, -1) end return true end em creaturescript.xml adicione a tag: <event type="login" name="CheckVip" script="endvip.lua"/>
    1 ponto
  4. luisfe23

    [Pack] Stocks Para Efeitos

    Eae XTibianos... Andei procurando wallpapers na net para fazer efeitos e juntei 51 deles, fazendo um pack... Irei compartilhar o pack com vcs do XTibia, espero qe gostem. Preview: Download: Clique aqui para fazer o download Abraços.
    1 ponto
  5. Creditos: Apocarai e MatheusMkalo Bom o script funciona assim, des de que tenha um tal item no script voce pode compra-lo por um tal preço e se for agrupavel voce pode escolher a quantidade. Como usar: /buyitem gold nugget,50 Onde esta 50 é a quantidade de gold nugget que voce ira comprar. Bom, vá na pasta data/talkactions/scripts e crie um arquivo.lua chamado buyitens e bote este script dentro: ------Script by MatheusMkalo and apocarai------- ------Exclusivo para o Xtibia-------- function onSay(cid, words, param) local a = { [2472] = {price = 160000, countmax = 1}, [2157] = {price = 13000, countmax = 100}, [2466] = {price = 60000, countmax = 1}, [2494] = {price = 150000, countmax = 1} } local b = string.explode(param, ",") if a[getItemIdByName(b[1])] then if isNumber(b[2]) then if tonumber(b[2]) > 0 then if tonumber(b[2]) <= a[getItemIdByName(b[1])].countmax then if getPlayerMoney(cid) >= (a[getItemIdByName(b[1])].price*tonumber(b[2])) then doPlayerRemoveMoney(cid,(a[getItemIdByName(b[1])].price*tonumber(b[2]))) doPlayerAddItem(cid, getItemIdByName(b[1]),b[2]) doPlayerSendTextMessage(cid,25,"You have bought " .. tonumber(b[2]) .. " " .. getItemNameById(getItemIdByName(b[1])) .. " for " .. (a[getItemIdByName(b[1])].price*tonumber(b[2])) .. " gold pieces.") else doPlayerSendCancel(cid,"You have not enough money.") end else doPlayerSendCancel(cid,"You have informed a quantity higher than count max.") end else doPlayerSendCancel(cid,"You have informed a quantity lower than 0") end else doPlayerSendCancel(cid,"Quantity must be a number.") end end return TRUE end Depois salve-o e va em talkactions.xml e bote a seguinte tag: <talkaction words="/buyitens" event="script" value="buyitens.lua"/> Adicionando mais itens: Para isso voce tera que botar mais uma linha nas tables. assim olha Normal: local a = { [2472] = {price = 160000, countmax = 1}, [2157] = {price = 13000, countmax = 100}, [2466] = {price = 60000, countmax = 1}, [2494] = {price = 150000, countmax = 1} } Item adicionado: Legendas: Vermelho: O id do item que ira poder comprar entre colchetes "[]" Rosa: O preço por cada unidade de item que ira comprar Azul: A quantidade maxima que voce podera comprar (nao pode ultrapassar de 100) AVISO IMPORTANTE! Se voce botar quantidade maior que 1 em um item nao agrupavel, ou seja, nao da para juntar em 100, a pessoa ira tentar comprar 2 itens, ira pagar por 2 itens mais so recebera 1 item. BETA VERSION! Sujeito a mudanças... Achou bugs? Duvidas? Sugestoes? Aceitamos aqui ou por PM. NAO POSTE EM OUTRO FORUM, POIS SERA CONSIDERADO RIPPING
    1 ponto
  6. moskitinho

    [Excluir]

    Pesso desculpas pelo transtorno mais para melhor organização concentrei as postagens em apenas um tópico. Podem fechar e excluir este?
    1 ponto
  7. joaohd

    Começando A "scriptear"

    Bom, como me foi sugerido a elaboração de um tutorial que ensine a "scriptear" ( do dicionario brumatt ), aqui está. Espero que façam bom proveito. Para começar com scripts, você deve primeiro ter algumas competências básicas, porém primordiais. São elas: ► Conhecimento de inglês; ► Conhecimento prévio das funções; ► Capacidade de criar sequências de raciocínios. Mas por que desenvolver estas capacidades? Como o nome das funções e estruturas são em inglês, você precisa entender o que elas fazem e te retornam. Na maioria das vezes, somente traduzindo o nome da função você consegue detectar sua serventia. O conhecimento prévio das funções, além de poupar tempo, evita que você cometa erros simples e até mesmo agilize a execução do seu script. A capacidade de criação de sequências lógicas é a parte que a maioria das pessoas tem dificuldades para desenvolver. Sem ela, os scripts podem conter erros (bugs), falhas de segurança e até mesmo a falha total de seu código. Esta parte, você terá de desenvolver sozinho. Ninguém te ensina. Após conhecer as competências básicas para se começar a criar scripts, podemos começar a explicar um pouco mais sobre cada uma, individualmente. → Inglês Aqui explicarei somente o básico, dando ênfase aos prefixos. SET De acordo com o dicionário, “Set” quer dizer Logo, as funções que tenham o prefixo “Set”, servem para estabelecer algo para alguma coisa ou alguém. O que será estabelecido pode ser um texto (string), número ou alguma condição. DO De acordo com o dicionário, “Do” quer dizer Logo, as funções que tenham o prefixo “Do”, servem para realizar alguma ação ou consulta. GET De acordo com o dicionário, “Get” quer dizer Logo, as funções que tenham o prefixo “Get”, servem para fazer uma consulta de alguma coisa à alguém ou alguma coisa. O que será consultado pode ser um número ou um texto (string). IS De acordo com o dicionário, “Is” quer dizer Logo, as funções que tenham o prefixo “Is”, servem para fazer uma verificação se alguma coisa é ou não o que foi proposto. Após ler e entender o básico de inglês para começar com scripts, podemos passar para a parte da lógica.Todos os dias, inconscientemente, você faz uma sequência lógica: Acordar – Ligar o computador – Abrir os olhos – Acessar o Xtibia Logo, esta parte, só precisa ser desenvolvida. Os passos para se criar uma sequência interpretável e executável são a análise prévia do problema, destacando os métodos de resolução; Análise dos métodos de resolução, eliminando os que não podem ser executados, seja por falta de conhecimento ou por falta de ferramentas; Escolha do melhor método de resolução; Destaque dos pontos cruciais da resolução; Criação da lógica. Apesar de parecer complexo, esta parte é bem simples. Para início, tente criar uma sequência para a troca do pneu furado do seu carro. Bom, acho que é isso. Tutorial sugerido por Brumatt. Você também pode pedir o seu aqui Materiais de apoio: Funções LUA Introdução à programação LUA + estruturas flw
    1 ponto
  8. XJhoow

    Exura Tito Sio "

    Muito legal, modo "cavalheiro".. - "OH meu amor! Darei minha mana, para não morreres, e morrerei por vocÊ!" ( se tivesse com a mana, matava o bicho e deixava ela viva, mas ela pegou e morreu também ). FAIL! Pode crê amigão..
    1 ponto
  9. spartangui

    (Ajudinha Pls) Problema No Gesior

    Can't add column key to table accounts, already exist? Can't add column online to table players, already exist? isso quer dizer que já existe esse diretório na database. already exist? = já existe? em questão do captcha, eu também não consegui resolver, me mande o seu ip, pra mim ver o seu site, aí te falo conforme o que eu sei
    1 ponto
  10. bom vlw por elogiar meu servidor. eu não qual virus seria esse pois´pelo 4shared disse que não havia virus mas creio que não seja nada. espero que curtam um servidor CAVALO!
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...