Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Óla gente, bom to aqui de novo e eu dei uma olhada no xtibia e não tem um tópico explicando sobre raios nas vocations (na verdade tem mais com um script incompleto) Bom, abaixo vai ter um pequeno tutorial e o script. Espero que ajude REP XD Script: Tutorial: Vermelho: O nome da outfit que o personagem vai se transformar Azul: O id da outfit que o personagem vai se transformar Verde: A função que colocara raio na vocation assim que ela se transformar Roxo: A vocation que firaca com raios Laranja: O id do efeito que a vocation ficara assim que transformar Tag Da fuction: addEvent(trans,ext,cid) Onde está de verde é o fuction como estava la em cima. function trans(cid) if getPlayerVocation(cid) == 304 then if getPlayerMana(cid) >= 0 then doSendMagicEffect(getPlayerPosition(cid), 14) addEvent(trans,ext,cid) end end end Onde está 14 é o id do efeito, o id que fica no dateditor. No meu 14 é o id do raio azul. De roxo que é o número da vocation 304 é a vocation que ficara com raios. if getPlayerVocation(cid) == 303 then if getPlayerLevel(cid) >= 50 then doPlayerSetVocation(cid,304) doSetCreatureOutfit(cid, outfit, -1) addEvent(trans,ext,cid) doSendMagicEffect(getPlayerPosition(cid), 233) else doPlayerSendCancel(cid, "You need 50 level to first transform") doSendMagicEffect(getPlayerPosition(cid), 2) end Ali do roxo 304 a vocation acima 303 transformara no 304 quando executar a spell e ja começara a sair os raios. Quando for criar novas vocations basta apenas copiar a fuction ja feita e editar para a vocation que você vai criar.
    2 pontos
  2. beddy

    Tibia Harry Potter - By Beddy

    HARRY POTTER ONLINE - by BEDDY Servidor TIBIA HARRY POTTER Alguma vez voce pensou que poderia ser um aluno de HOGWARTS? Agora é sua chance! Venha para o Harry Potter Online e fassa amigos, pegue varinhas, voe de vassoura e muito mais! Estou disponibilizando o servidor pois meu projeto do Harry Potter Online foi por agua abaixo, por causa de um cara que conseguiu rippar as sprites do quilante... Meu projeto já estava 90% andado, mas agora ferrou-se tudo. Então estou mandando a parte do meu projeto que está pronta, porem com sprites do quilante (Já ESTA TUDO ADAPTADO) - O QUE VOCE VAI TER QUE FAZER: Ajustar o servidor... Já estou te dando quase tudo de mao beijada, agora é só fazer alguns ajustes. Como: adicionar NPC, fazer action de compra de TOGA, e coisas simples! Bem.. é isso aproveitem! Distro Totalmente Estavel Sem bugs Sem virus Sem motherfuckingthings! Apenas alegria! -O QUE TEM NO SERVIDOR: •1 Classes: Aluno •O player ao upar um level, ganha "POINTS" para trocar por LIFE OU MANA assim torna o jogo mais sensivel •Mapa Proprio •JA EXISTE VIP E DONATES - AJUSTE PARA O NESCESSARIO -O QUE FALTA NO SERVIDOR: •AJUSTAR LIFE/HIT/LOOT DE MONSTROS - AJUSTAR OS SPRITES DAS HORCRUX (MAS O SISTEMA JA ESTA FUNCIONANDO CORRETAMENTE) -SISTEMAS: • Vassoura • Preparar poçoes (voce pega o axe [iD:2386], usa-o naqueles crystais que estaão espalhados pelo servidor, e com o crystal na backpack, use a magia "preparar", isso vai fazer com que seu caldeirão tenha carga,dai voce poderá dar USE no vial em cima do caldeirão para terminar sua poção!) -SITE HTML INCLUSO! DOWNLOAD: http://depositfiles....files/csh0uuxil http://depositfiles....files/csh0uuxil (INCLUSO: SERVIDOR, CLIENTE, SITE) SCREENS: REP+ PRA MIM POW! SCAN: Por Kaspersky PRO https://www.virustotal.com/file/c5b9fb7a023599d3be295eff034717e55d6e428753164d8377bc79777e34f722/analysis/1342184200/ Por Virus Total CREDITOS: Beddy Erickrusha - fez a parte do mapa do entorno de HOGWARTS,obrigado man!
    1 ponto
  3. Tony

    Criando Um Cliente 100% Proprio

    Olá pessoal do Xtibia! Hoje vou ensinar a vocês como criar um cliente 100% próprio para seu servidor de tibia. :forward: Créditos :back: :star2: Jakiin :star2: Trazer ao x-tibia :star2: TiraDuvidas :star2: Fazer o Tutorial Este tópico recebeu destaque em nosso portal!
    1 ponto
  4. Estou aqui hoje para trazer um sistema simples que eu criei, porém pode ser até muito útil, o Sistema de Reputação ! Esse sistema vai funcionar da seguinte forma, você adiciona os monstros que darão Rep+ ao morrer, e a cada monstro desse, o player que o matou conquista +1 ponto de Reputação. Exemplo de monstro que seria legal adicionar: Bosses. Outro meio de ganhar Reputação com esse sistema será matando outros players que estejam pk. E o único meio de perder Pontos de Reputação é matando players que não estejam pk. O Sistema também vem com um rank de Reputação que sera adicionado nas talkactions e listara os tops Reputação e um comando para verificar seus pontos de reputação. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Para que Esse Sistema pode ser Útil: Vamos pensar da seguinte maneira, pontos ao matar. Diminuirá o número de pk's in-game pois mais players vão querer mata-los. (REP +) Pontos negativos ao matar players comuns, também contribuirá para diminuição de pk's. (REP -) Pontos por matar bosses e outros monstros fortes, vai estimular os player's a matarem monstros mais perigosos. (REP +) Esse Sistema pode ser útil também para que só players com certa quantidade de Rep+ possam: -Entrar em lugares; -Fazer quests; -Usar magias; -Usar outras talkactions; -E várias outras coisas. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Agora vamos ao que interessa os scripts: Primeiro vai em "data/creaturescripts/scripts/" duplica um arquivo dessa pasta e renomeia para "repsystem" sem as aspas, nele cole: --<Script by jhon992>-- function onKill(cid, target, lastHit) vetMonster = { "Demon", "Morgaroth", "Hydra", "Dragon" } -- adicionar monstros que darão rep+ -- Ao matar monstros do vetMonster, ganhara rep+. for i=0, #vetMonster do if (getCreatureName(target) == vetMonster[i]) then setPlayerStorageValue(cid, 102086, getPlayerStorageValue(cid, 102086)+1) doSendAnimatedText(getThingPos(cid), 'Rep+', 30) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você ganhou 1 ponto de reputação por matar um "..vetMonster[i]..".") return TRUE end end -- Ao matar um pk, ganhara rep+. if (isPlayer(target) == true) then if (getCreatureSkullType(target) > 2) then setPlayerStorageValue(cid, 102086, getPlayerStorageValue(cid, 102086)+1) doSendAnimatedText(getThingPos(cid), 'Rep+', 30) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você ganhou 1 ponto de reputação por matar "..getCreatureName(target)..".") return TRUE end -- Ao matar um player normal, ganhara rep-. setPlayerStorageValue(cid, 102086, getPlayerStorageValue(cid, 102086)-1) doSendAnimatedText(getThingPos(cid), 'Rep-', 144) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você perdeu 1 ponto de reputação por matar "..getCreatureName(target)..".") return TRUE end return TRUE end Agora em "data/creaturescripts/creaturescripts.xml" cole a tag: <event type="kill" name="RepSystem" event="script" value="repsystem.lua"/> Entre na pasta "data/creaturescripts/scripts" novamente, e abra o arquivo "login.lua" sem as aspas. Nele cole a tag: -- Verificar se é primeira vez que loga, pois ao usar storage ele ja começa com -1, -- Então vamos zera-lo para que sua Reputação comece do 0. if (getPlayerStorageValue(cid, 102087) ~= 1) then setPlayerStorageValue(cid, 102087, 1) setPlayerStorageValue(cid, 102086, 0) end registerCreatureEvent(cid, "RepSystem") Terminamos a parte do Sistema e agora vamos para o talkaction de rank. Vai na pasta "data/talkaction/scripts", duplique um arquivo e remomeie para "rankrep" sem as aspas. Abra-o e cole: function getPlayerNameByGUID2(n) local c = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..n..";") if c:getID() == -1 then return "SQL_ERROR["..n.."]" end return c:getDataString("name") end function onSay(cid, words, param) if (param == "") then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você possui "..getPlayerStorageValue(cid, 102086).." pontos de Reputação.") return TRUE end if (param == "rank") then local max = 50 local letters_to_next = 50 local name_now local name = "Highscore for Reputação\n" local rkn = 0 local no_break = 0 name = name.."\n" name = name.."Rank. Pontos | Nome do Jogador\n" local v = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 102086 ORDER BY cast(value as INTEGER) DESC;") local kk = 0 repeat if kk == max or v:getID() == -1 then break end kk = kk+1 name_now, l = getPlayerNameByGUID2(v:getDataInt("player_id")), string.len(getPlayerNameByGUID2(v:getDataInt("player_id"))) space = "" for i=1, letters_to_next-l do space = space.." " end if name_now == nil then name_now = 'sql error['..v:getDataInt("player_id")..']' end name = name..kk..". "..v:getDataInt("value").." | "..name_now..space.." \n" until v:next() == false if name ~= "Highscore\n" then doPlayerPopupFYI(cid, name) end return TRUE else doPlayerSendCancel(cid, "Command valid: !rep, !rep rank.") return TRUE end end E por último mais não menos importante, abra "data/talkactions/talkacitons.xml" e cole a tag: <talkaction words="!rep" event="script" value="rankrep.lua"/> Pronto, terminamos o nosso Simple Reputation System! -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----- Reputation Door----- Vai em data/actions/script, duplica um arquivo e nomeia para "repDoor" sem as aspas e nele cole: function onUse(cid, item, frompos, item2, topos) local quantRep = 30 -- quantidade de reset para entrar na porta newnPosition = {x=784, y=805, z=7} -- onde será teleportado ao clicar na porta if item.actionid == 2085 and getPlayerStorageValue(cid, 102086) >= quantRep then doTeleportThing(cid, newnPosition) doSendMagicEffect(newnPosition, 10) else doCreatureSay(cid, "Voce nao tem reputação suficiente para entrar!", TALKTYPE_ORANGE_1) end return TRUE end Agora em data/actions/actions.xml cole a tag: <action actionid="2085" script="repDoor.lua"/> E por último com seu mapa editor, vai na porta desejada do seu server e coloque o actionid 2085. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Agora para fazer alavancas, baús e etc, basta seguir o exemplo do script acima da repDoor. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----- Quantidade de Reputação para usar determinado item ----- Vai em data/movements/script e duplica um arquivo dessa pasta e nomeie para "itemRep" sem aspas, abra-o e cole: local quantRep = 30 -- quantidade de reset para usar determinado item function onEquip(cid, item, slot) if getPlayerStorageValue(cid, 102086) < quantRep then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Apenas players com "..quantRep.." pontos de reputação ou mais, podem usar essa arma!") return FALSE end return TRUE end Agora vai em data/movements/movements.xml abre e adicione a tag: <movevent type="Equip" itemid="id do seu item" slot="hand" event="script" value="itemRep.lua"/> Troque os slots na tag acima como desejar, tipos de slots: head armor legs hand shield ring necklace feet pickupable Para itens que você for usar com a mesma quantidade de reps que o item anterior, apenas crie uma nova tag no movementes.xml com o itemid diferente. Senão você devera criar um novo script com o nome diferente e mudar a quantRep. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----- Comprar determinado item com Pontos de Reputação ----- Vai em data/talkactions/scripts, duplique um arquivo e nomeiei para "buyrep" sem as aspas e nele cole: local itemNames = { {name = "Dragon Shield", pontos = 2}, -- nome do item e pontos que gastara. {name = "Crown Armor", pontos = 8}, {name = "Arbalest", pontos = 25}, {name = "Heroic Axe", pontos = 20}, {name = "Magic Sword", pontos = 30}, {name = "Demon Armor", pontos = 50} } function onSay(cid, words, param, channel) if param == "" then for i=1, #itemNames do if i == 1 then text = "-- Lista de Items --\n" else text = text .. (itemNames[i].name) .." = ".. itemNames[i].pontos .." pontos\n" end end doShowTextDialog(cid,8977,text) return true end param = string.upper(param) for j=1, #itemNames do if (param == string.upper(itemNames[j].name)) then if getPlayerStorageValue(cid, 102086) < tonumber(itemNames[j].pontos) then doPlayerSendCancel(cid,"Você não possui pontos suficientes.") return true else doPlayerAddItem(cid, getItemIdByName(param)) doPlayerSendTextMessage(cid, 22, "Você comprou 1 ".. itemNames[j].name ..".") setPlayerStorageValue(cid, 102086, getPlayerStorageValue(cid, 102086) - itemNames[j].pontos) return true end end end doPlayerSendCancel(cid,"Este item não existe.") return true end Agora em data/talkactions/talkactions.xml cole a tag: <talkaction words="!buy" event="script" value="buyrep.lua"/> Em jogo, ao falar "!buy" aparecera a lista de itens que pode ser comprado e seus determinados custos, conforme foram configurados no arquivo "buyrep.lua". Para comprar um item basta ter a quantidade de reputação necessaria e usar o comando "!buy NomeDoItem". -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----- Mostrar Reputação no Look (by Vodkart)----- Vai em data/creaturescripts/scripts, duplique um arquivo e nomeiei para "showrep" sem as aspas e nele cole: function getReps(cid) return getPlayerStorageValue(cid,102086) < 0 and 0 or getPlayerStorageValue(cid,102086) end function onLook(cid, thing, position, lookDistance) if isPlayer(thing.uid) then doPlayerSetSpecialDescription(thing.uid, "\n[Reps: " .. getReps(thing.uid) .."]") end return true end No creaturescripts.xml cole a tag: <event type="look" name="showRep" event="script" value="showrep.lua"/> E no arquivo login.lua, antes do último return true: registerCreatureEvent(cid, "showRep") -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----- Versão 2.0 repsystem.lua ----- Caso você queira que cada monstro que você matar de pontos diferentes de reputação, voce deve substituir oque tem dentro do seu arquivo inicialmente criado e nomeado como repsystem.lua por isso: É isso aew galera, qualquer coisa que precise ser modificado ou dica para melhorar os scripts e o sistema serão bem vindas!
    1 ponto
  5. bianco001

    [Removido]

    [Removido]
    1 ponto
  6. Delaks

    Subwat Kamikaze V21 Atualizado

    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
  7. @Zerefshirou Precisa não ja dei meu jeito naquele erro, to com outros erros aqui que não consigo arrumar. @ALL Gostaria de pedir ajuda nos erros que está aparecendo em meu console, por favor. 1º Erro: 2º Erro: Esses erros aparecem quando um atack vai parar na água ou algo do tipo. Também não consegui entender este aqui: 3º Erro: 4º Erro: Sei que a maioria desses problemas ja foram resolvidos mais gostaria que me ajudassem aqui, estou tentando arrumar um servidor aqui de PDA e deixalo muito bom para poder posta-lo pra geral aqui, quero retirar logo todos os bugs. Em momento são muitos mais estou retirando a maior parte de pouco a pouco. Se ajudarem, Meu REP+
    1 ponto
  8. Dúvido muito que esse StyloMaldoso saiba algo de script, ele não sabe nem escrever... e esse "SYSTEMA" não adiciona nenhuma vantagem ao player, dai fica pra vocês descobrirem como faz ;P e esse sistema nem é de vocês, creio que seja do CleberAdm, cade os créditos?
    1 ponto
  9. getCreatureTarget(cid) vai retornar um número gigante e grotesco que o sistema entende por ser o alvo do jogador. Mas se você fizer isso: getThingPosition(getCreatureTarget(cid)) Seus problemas estão resolvidos. Abraços.
    1 ponto
  10. Básico dá pra fazer assim local itemid = 2175 local text = [[Cooker PODE COLHER bla bla bla bla bla bla PODE FAZER bla bla - bla bla bla - bla bla bla bla bla bla - bla bla ]] function onSay(cid) doShowTextDialog(cid, itemid, text) return true end ou vc qr q o player só veja o q ele pode fazer(q ele tem lv pra fazer)?
    1 ponto
  11. é pelo oque então?
    1 ponto
  12. Conde Sapo

    Fruta Na Árvore

    Exclusivo para XTibia favor não postar em outro forum (consultar alterações no final do tópico) Vou mostrar como se tira frutas das árvores; Banana Laranja Manga Coco 3 etapas simples Etapa 1 - data\itens\itens.xml procurar 4008 substituir por <item id="4008" name="orange tree"> <attribute key="decayTo" value="4006"/> <attribute key="duration" value="30"/> </item> procurar 5092 substituir por <item id="5092" name="banana tree"> <attribute key="decayTo" value="5094"/> <attribute key="duration" value="30"/> </item> procurar 5156 substituir por <item id="5156" name="mango tree"> <attribute key="decayTo" value="5157"/> <attribute key="duration" value="30"/> </item> procurar 2726 subistiruir por <item id="2726" name="coconut tree"> <attribute key="decayTo" value="5096"/> <attribute key="duration" value="30"/> </item> Explicando: esses 4 itens originalmente são só arvores simples (enfeite, paisagem) deste modo nós transformamos essas árvores em objetos que podem ter uma AÇÂO nesses 4 casos eu puz a opção <attribute key="duration" value="30"/> esse número 30 é o tempo em segundos para "nascer" as frutas na árvore (value="120" levaria 2 minutos) Etapa 2 - data\actions\actions.xml acrescentar estas 4 linhas em qualquer lugar do arquivo é aqui que dizemos pro OT oque fazer quando "click" na árvore Etapa 3 - data\actions\scripts precisamos agora criar os 4 scripts (NOVOS) tem gente que gosta de copiar/colar algum arquivo e apagar o conteudo eu prefiro clicar botão direito do mouse e Novo -> Documento de texto novo arquivo 1 banana_tree.lua novo arquivo 2 mango_tree.lua novo arquivo 3 orange_tree.lua novo arquivo 4 coconut_tree.lua pronto Importante. 5 é o número de frutas que vai aparecer na BP Colocar as árvores que tem as frutas elas vão se tranformar em árvores sem frutas e as frutas vão aparecer na BP Se você colocar a árvore sem fruta, ela vai ser só paisagem (não vai se tranformar em árvore de fruta NUNCA) Créditos 100% By Conde Sapo =================================================================== Acrescentei mais uma ÁRVORE COCONUT TREE a pedido de summers rox =================================================================== Um outro tópico sobre FRUTAS foi criado. Mensionei lá este meu tópico e com isso muitos novatos viram e solicitaram alteração OK... Mão na massa. novo arquivo 1 (Alteração 1) banana_tree.lua Aqui ele tem chance 1 pra 3 de pegar TODAS as 5 bananas novo arquivo 1 (Alteração 2) banana_tree.lua Aqui ele tem chance de não pegar NADA ou pegar de 1 a 5 bananas Fazer essa pequena alteração nas outras árvores. ===================================================================
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...