Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Subwat

    New Subwat 8.54-8.57 [V.10]8.60 Link.

    desculpem ae pessoal por não ter tido atualizado ainda o servidor mas na proxima semana ja estarei postando novidades.
    2 pontos
  2. DevilMoon

    [ Action ]Pokeball System

    PokeBall System! Ola Xtibianos, Vim hoje postar um Famoso Script de Pokeball System feito pelo Genioso Nahruto, claro pedi a autorização dele para postar. A Todos que forem pegar Scripts de outras Pessoas, lembre-se de sempre pedir autorização e claro colocar os creditos. Para Tfs: 0.34 , 0.35 e 0.36 Essas Forao Testadas E Funfo. Versoes: 8.42 - 8.50 - 8.52 - 8.54 - 8.6. Ots Testados: Snowz Yurots - Alissow Server - Styller Yurots Primeiramente Vamos Fuçar em Function.lua, se voce nao Sabe onde fica vá em: Data>Lib>Function.lua Abra e Coloque Isto: _warpzone = 2147483648 -- start storing strings here (THIS IS THE ABSOLUTE MAXIMUM VALUE FOR THIS) _maxlength = 1024 -- multiply by 3 to get the true length. setPlayerStorageInteger = setPlayerStorageValue getPlayerStorageInteger = getPlayerStorageValue function setPlayerStorageString(cid, key, value) if #value > (_maxlength-1) * 3 - 1 then -- Last word is reserved for 0 termination of the string. error("Storage string is too long") end if key > _warpzone / _maxlength then error("Storage string key is too large (" .. key .. ")") end key = _warpzone + key * _maxlength local word = 0 local wordwrap = 0 local wordcount = 0 local i = 1 while i <= #value do local byte = string.byte(string.sub(value, i, i)) word = bit.bor(word, bit.lshift(byte, wordwrap)) wordwrap = wordwrap + 8 if wordwrap == 24 then --[[ In the ideal world we would be able to store 4 characters per word, however, as the default return value for getPlayerStorageValue is -1, we cant use the last bit. ]]-- setPlayerStorageInteger(cid, key + wordcount, word) word = 0 wordwrap = 0 wordcount = wordcount + 1 end i = i + 1 end -- store the last word setPlayerStorageInteger(cid, key + wordcount, word) end function getPlayerStorageString(cid, key) if key > _warpzone / _maxlength then error("Storage string key is too large (" .. key .. ")") end key = _warpzone + key * _maxlength local wordcount = 0 local str = "" while true do if wordcount >= _maxlength then break end local word = getPlayerStorageInteger(cid, key + wordcount) if word == -1 then -- end of string break else -- Extract the 3 characters from the value byte = bit.band(word, 255) if byte == 0 then break else str = str .. string.char(byte) end byte = bit.rshift(bit.band(word, 65280), 8) if byte == 0 then break else str = str .. string.char(byte) end byte = bit.rshift(bit.band(word, 16711680), 16) if byte == 0 then break else str = str .. string.char(byte) end end wordcount = wordcount + 1 end return str end E Isso! function doConvinceSummon(cid, creature, amount, pos) summonplayerpos = {x=pos.x, y=pos.y, z=pos.z, stackpos=253} summonplayer = getThingfromPos(summonplayerpos) if(summonplayer ~= nil and summonplayer.itemid > 0) then doPlayerSendCancel(cid,"There is not enough room to summon here.") ret = 0 else convince = doSummonCreature(creature, pos) doConvinceCreature(cid, convince) ret = 1 end return ret end Agora Vamos Fazer o Script Vá em Pasta do Seu Ot > Data > Actions > Scripts Crie uma Pasta chamada pokeball.lua e bote isso dentro local notAllowed = {"Ferumbras", "Demon"} local storage = { status = 25650, pokeName = 25651 } local actionid_used = 7510 function onUse(cid, item, fromPos, item2, toPos) local pokeballStatus = getPlayerStorageValue(cid, storage.status) local pokeName = getPlayerStorageString(cid, storage.pokeName) pos = getPlayerPosition(cid) pos.stackpos = 0 if pokeballStatus == -1 then toPos.stackpos = 253 local pokeThing = getThingfromPos(toPos) if isCreature(pokeThing.uid) == TRUE then if isPlayer(pokeThing.uid) == FALSE then local pokename_ = getCreatureName(pokeThing.uid) if item.actionid ~= actionid_used then -- local maxHealth = 400 -- local creatureHealth = getCreatureHealth(pokeThing.uid) -- local divNum = (string.len(maxHealth)-1)^2 -- local result = math.floor((creatureHealth/divNum)/10) -- local chance = math.random(1, math.random(4, math.random(7, math.max(result, 7)))) -- if chance == result then if isInTable(notAllowed, pokename_) == TRUE then doPlayerSendCancel(cid, "You cannot catch this creature") else setPlayerStorageString(cid, storage.pokeName, pokename_) doRemoveCreature(pokeThing.uid) doSendDistanceShoot(fromPos, toPos, 37) setPlayerStorageValue(cid, storage.status, 1) doSetItemSpecialDescription(item.uid, "it contains a " .. pokename_ .. ".") doSetItemActionId(item.uid, actionid_used) end -- else -- doSendMagicEffect(fromPos, 2) -- doPlayerSendCancel(cid, "The Pokemom Escaped") -- end elseif item.actionid == actionid_used and pokename_ == pokeName then doPlayerSay(cid, pokeName .. " Back!!", TALKTYPE_SAY) doRemoveCreature(pokeThing.uid) doSetItemSpecialDescription(item.uid, "it contains a " .. pokename_ .. ".") setPlayerStorageValue(cid, storage.status, 1) doSendDistanceShoot(fromPos, toPos, 37) else doSendMagicEffect(fromPos, 2) doPlayerSendCancel(cid, "This pokeball is already used") end else doPlayerSendCancel(cid, "You cannot catch this creature") end else doPlayerSendCancel(cid, "Creature not found") end elseif pokeballStatus == 1 then summons = getCreatureSummons(cid) -- if #summons >= 2 then -- doPlayerSendCancel(cid, "You cannot call more pokemons") -- else doConvinceSummon(cid, pokeName, 0, toPos) doSendDistanceShoot(fromPos, toPos, 37) doPlayerSay(cid, pokeName .. " Go!!", TALKTYPE_SAY) setPlayerStorageValue(cid, storage.status, -1) doSetItemSpecialDescription(item.uid, "it is empty.") -- end end else return 1 end function isInTable(t, val) for _, v in pairs(t) do if v == val then return TRUE end end return LUA_ERROR end para TFS local notAllowed = {"Ferumbras", "Demon"} local storage = { status = 15244, pokeName = 15212 } local actionid_used = 7510 function onUse(cid, item, fromPos, item2, toPos) local pokeballStatus = getPlayerStorageValue(cid, storage.status) local pokeName = getPlayerStorageString(cid, storage.pokeName) pos = getPlayerPosition(cid) pos.stackpos = 0 if pokeballStatus <= 0 then toPos.stackpos = 253 local pokeThing = getThingfromPos(toPos) if isCreature(pokeThing.uid) == TRUE then if isPlayer(pokeThing.uid) == FALSE then local pokename_ = getCreatureName(pokeThing.uid) if item.actionid ~= actionid_used then -- local maxHealth = 400 -- local creatureHealth = getCreatureHealth(pokeThing.uid) -- local divNum = (string.len(maxHealth)-1)^2 -- local result = math.floor((creatureHealth/divNum)/10) -- local chance = math.random(1, math.random(4, math.random(7, math.max(result, 7)))) -- if chance == result then if isInTable(notAllowed, pokename_) == TRUE then doPlayerSendCancel(cid, "You cannot catch this creature") else setPlayerStorageString(cid, storage.pokeName, pokename_) doRemoveCreature(pokeThing.uid) doSendDistanceShoot(fromPos, toPos, 37) setPlayerStorageValue(cid, storage.status, 1) doSetItemSpecialDescription(item.uid, "it contains a " .. pokename_ .. ".") doSetItemActionId(item.uid, actionid_used) end -- else -- doSendMagicEffect(fromPos, 2) -- doPlayerSendCancel(cid, "The Pokemom Escaped") -- end elseif item.actionid == actionid_used and pokename_ == pokeName then doCreatureSay(cid, pokeName .. " Back!!", TALKTYPE_SAY) doRemoveCreature(pokeThing.uid) doSetItemSpecialDescription(item.uid, "it contains a " .. pokename_ .. ".") setPlayerStorageValue(cid, storage.status, 1) doSendDistanceShoot(fromPos, toPos, 37) else doSendMagicEffect(fromPos, 2) doPlayerSendCancel(cid, "This pokeball is already used") end else doPlayerSendCancel(cid, "You cannot catch this creature") end else doPlayerSendCancel(cid, "Creature not found") end elseif pokeballStatus == 1 then -- summons = doCreatureSummons(cid) -- if #summons >= 2 then -- doPlayerSendCancel(cid, "You cannot call more pokemons") -- else doConvinceSummon(cid, pokeName, 0, toPos) doSendDistanceShoot(fromPos, toPos, 37) doCreatureSay(cid, pokeName .. " Go!!", TALKTYPE_SAY) setPlayerStorageValue(cid, storage.status, 0) doSetItemSpecialDescription(item.uid, "it is empty.") -- end end return 1 end function isInTable(t, val) for _, v in pairs(t) do if v == val then return TRUE end end return LUA_ERROR end Agora Vamos Adicionar as Tags, vá em Data>Actions.xml e Adicione as Tags Corretas´ <action itemid="xxxx" script="pokeball.lua" allowfaruse="1" blockwalls="1" /> [font-"Georgia"]em <action itemid="xxxx" nos 4 X voce coloca o Number Id Do seu Item que Será como uma "Pokeball"[/font] Oque o Script Faz Realmente: - Guarda monstros dentro de objetos e salva seu status, você pode colocar pra salvar em qlqr objeto.. seria ótimo para projetos pokemons.. Creditos: Nahruto Print Screen's: Snorlax Saindo da Pokeball: Snorlax Voltando para a Pokeball Look da Pokeball ( o Player so Ve assim You See a Pokeball , Have Snorlax )] Lembrando que eu nao Adicionei o Efeito da Pokeball Abrindo e Jogando o Monstro. Para fazer este Tipo de efeito voce vai ter que saber direitinho o LookType da Pokeball Fechando e Saindo, e transformar para um efeito e depois modificar no Script, aqui no xtibia Existe varios Tutoriais explicando isto, é so procurar! Gostou? Clica no Ali em Baicho para me Ajudar! Abraços..
    1 ponto
  3. script é simples,jogadores vip poderão ser teleportado para os lugar por talkactions basta usar o comando teleportvip.lua --[[script By Vodkart]]-- function onSay(cid, words, param) local config = { pz = true, -- players precisam estar em protection zone para usar? (true or false) battle = true, -- players deve estar sem battle (true or false) custo = true, -- se os teleport irão custa (true or false) need_level = true, -- se os teleport irão precisar de level (true or false) premium = true -- se precisa ser premium account (true or false) } --[[ Config lugares]]-- local lugar = { ["depot"] = { -- nome do lugar pos = {x=129, y=54, z=6},level = 5,price = 1000}, ["templo"] = { -- nome do lugar pos = {x=160, y=54, z=7},level = 10, price = 2000}, ["arena"] = { -- nome do lugar pos = {x=125, y=351, z=9},level = 15,price = 3000}, ["area vip"] ={ -- nome do lugar pos = {x=280, y=87, z=4},level = 20,price = 4000} } --[[ Lista de Viagem (Não mexa) ]]-- if (param == "lista") then local str = "" str = str .. "lista de viagem :\n\n" for name, pos in pairs(lugar) do str = str..name.."\n" end str = str .. "" doShowTextDialog(cid, 6579, str) return TRUE end local a = lugar[param] if not(a) then doPlayerSendTextMessage(cid, 22, "desculpe,este lugar não existe") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder teleportar.") return TRUE elseif config.premium == true and not isPremium(cid) then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players com premium account podem teleportar.") return TRUE elseif config.battle == true and getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder teleportar.") return TRUE elseif config.need_level == true and getPlayerLevel(cid) < a.level then doPlayerSendTextMessage(cid, 22, "Desculpe,Voce não tem level. voce precisa "..a.level.." level ou mais para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE elseif config.custo == true and doPlayerRemoveMoney(cid, a.price) == FALSE then doPlayerSendTextMessage(cid, 22, "Desculpe,voce nao tem dinheiro suficiente. Voce precisa "..a.price.." gp para ser teleportado.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return TRUE end doTeleportThing(cid, a.pos) doSendMagicEffect(a.pos, CONST_ME_TELEPORT) doPlayerSendTextMessage(cid, 22, "" .. getPlayerName(cid) .. " foi teleportado para: \n " .. param .. ".") return TRUE end em talkactions.xml adicione <talkaction words="!tp" script="teleportvip.lua"/>
    1 ponto
  4. Eigenlieb

    Criando Seu Otserv [via Hamachi]

    Tutorial feito por Eigenlieb - Cópia Não autorizada! Olá Galera =* Muitas pessoas estão com dúvidas de como criar um servidor via Hamachi. Desenvolvi esse tutorial para ajuda-las. _____________________________________________________________________ Hamachi O Hamachi é um programa que cria uma rede peer-to-peer (P2P), é a mesma tecnologia do Kazaa, para simular uma rede local entre 2 ou mais computadores (Lan). Mais informações e discussões sobre o Hamachi: Hamachi E Otserv. Iniciando O primeiro passo é baixar o Hamachi. Após baixar o executável, execute-o e siga os passos. A instalação é simples e não precisa de maiores detalhes. No detalhe: Tela de instalação do hamachi Após instalar, execute o programa. Você pode pular as telas de apresentação, atenção especial a tela que pede a criação do seu 'NickName' (Apelido). Se o Hamachi iniciou corretamente, ele estará com um número de IP e com o botão 'Power' verde. Agora precisamos criar uma rede. O Hamachi usa as redes para Agrupar computadores com o mesmo interesse, no seu caso, jogar OTServ. Todos os jogadores deverão entrar em uma rede pertencente ao hoster para ingressarem no jogo. Para criar uma rede siga os passos: Clique no botão 'Create or Join Networks' (Botão em forma de triangulo, botão do meio). Clique em 'Create new Network'. Para criar uma rede você deve especificar um nome e uma senha (Obrigatoriamente). Lembre-se: O Hamachi é 'Case Sensitive', as letras maiusculas fazem diferença. Anote o nome e a senha, os jogadores precisarão disso para entrar no servidor. Dica: Crie nomes fáceis e que lembre seu OT. Procure também criar várias redes, pois cada rede tem um número máximo de participantes. No detalhe: Tela para criação de uma rede Configurando seu servidor Após todos os passos terem sido feitos é hora de configurar o seu servidor. O processo é simples, basta modificar o config.lua Você já deve ter percebido que na parte superior do Hamachi, existe um número de IP. Copie e cole esse número no seu config.lua Esse é o IP do seu OT. Ele não muda, então não há necessidade de criar um IP Fixo. É ele também que você irá usar no IP Changer. Tutorial feito por Eigenlieb - Cópia Não autorizada! Sites com Hamachi Para criar sites no Hamachi, utilize o mesmo sistema que faria com a criação normal, mas a Url do site será http://www.IPDOHAMACHI:8090 Lembre-se que para acessar o site é necessário estar logado na rede. Tutorial feito por Eigenlieb - Cópia Não autorizada! Acessando seu servidor Para que os outros acessem seu servidor é necessário que estejam com o Hamachi ligado e que façam parte de uma das suas redes. Para entrar em uma rede: Clique no botão 'Create or Join Networks' (Botão em forma de triangulo, botão do meio). Clique em 'Join Existing Network'. Basta preencher com o nome a senha da rede, como no detalhe: Considerações Finais Para mais informações de como criar seu servidor: Criando Seu Servidor [7.6] O Hamachi deve sempre ficar ligado, monitore os participantes da rede pelo próprio programa, você pode banir pessoas da sua rede e conversar com elas também. Explore o Hamachi e tire o melhor dele! Leia mais tutoriais aqui no XTibia para melhorar seu conhecimento! Qualquer duvida utilize a seção de suporte: ~Suporte/Dúvidas Ou use nosso e-mail de suporte: Suporte Tutorial feito por Eigenlieb - Cópia Não autorizada! Abraços!
    1 ponto
  5. caarolina12

    [Moveevent] Wandering Boots

    Nome: Wandering Boots Versão testada: 0.3.6pl1 Explicação: Bota que adiciona o addon da mochila do citizen. Créditos: jestemPolakiem data/movements/movements.xml <movevent itemid="7457" slot="feet" override="yes" type="Equip" event="buffer" value="return doPlayerAddOutfit(cid, 136, 1) and doPlayerAddOutfit(cid, 128, 1) and doPlayerSendOutfitWindow(cid)"/> <movevent itemid="7457" slot="feet" override="yes" type="DeEquip" event="buffer" value="return doPlayerRemOutfit(cid, 136, 1) and doPlayerRemOutfit(cid, 128, 1) and doPlayerSendOutfitWindow(cid)"/> data/items/items.xml <item id="7457" override="yes" article="a" name="wandering boots"> <attribute key="description" value="Wandering shoes you add a new addition to the outfit as well as the speed."/> <attribute key="speed" value="40"/> <attribute key="weight" value="800"/> <attribute key="armor" value="2"/> <attribute key="slotType" value="feet"/> </item> Preview Enjoy =)
    1 ponto
  6. Vodkart

    Ads #25

    1 ponto
  7. digo327

    [Spell] Exura Mana

    Nao essa magia nao deve gastar mana, pelo menos se for bem feito, porque ai se gastar mana e que nao faz mesmo sentido nenhum. Cumps ;D Assim, acho que tira um pouco o rpg do jogo :x E fica um pouco foleiro, pois cura como se fosse vida, logo cura montes.
    1 ponto
  8. Vodkart

    Exevo Gran Vis Lux

    tente assim: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 4, 7) local area = createCombatArea(AREA_BEAM7, AREADIAGONAL_BEAM7) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end
    1 ponto
  9. faz uma door que só passe se ele tiver esse item. itemdoor.lua vermelho: ID do item actions.xml
    1 ponto
  10. 1 ponto
  11. viteko

    New Slayer Yurots [8.54 Ao 8.57]

    MUITO BOM EU GOSTEI ++ APROVADO POR MIN
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...