Ir para conteúdo

Wiltry

Visconde
  • Total de itens

    306
  • Registro em

  • Última visita

  • Dias Ganhos

    1

Tudo que Wiltry postou

  1. Bom galera, fiz esse tópico para saber se querem que o Mapper XTibia voltei, mas se voltar, vai ser com votação pública, pois agora meu tempo está mais curto que antes devido ao meu cursinho pre-técnico. Um abraço :X PS: Quem falar sim, favor postar o tipo de tema que gostaria que fosse na abertua
  2. Gosto não se descute. Ele gosta de metal e pronto. Filipe gosta de outro estilo e pronto. Eu gosto de sertanejo e pronto. Temos nossos estilos. Post fail.
  3. Wiltry

    Script De Level

    Coloca no creaturescripts. E sim, isso vai dar muito lag. ariairairai
  4. Bom galera, como tem sempre gente pedindo esse tipo de script, resolvi fazer um desses e postar, lembrando, a estrutura do meu script teve como base o script do Macrazyius (ou algo do tipo) Primeiro, crie um arquivo .lua na pasta actions/others (ou qualquer outro lugar das actions) e coloque no script: function onUse(cid, item, frompos, item2, topos) --configs local preco = doPlayerRemoveMoney(cid, 1000) -- mude apenas o numero local numero = 0 -- NÃO MUDAR local backpack = doPlayerAddItem(cid, 1988, 1) --end configs if item.actionid == 20800 then if preco == TRUE then repeat doAddContainerItem(backpack, 7618, 1) numero = numero +1 until numero == 20 -- 20 = NUMERO DE POTIONS QUE O PLAYER VAI GANHAR else doPlayerSendCancel(cid, "Você não tem dinheiro suficiente.") end end return TRUE end XML: Então, se você quizer mudar o item (que no caso está 7618 {health potion}) é só mudar la. Abraços, Wiltry
  5. Humildade faz bem pra pessoa. E sinceramente, com um mapa desses nem passa perto Abraços, Wiltry.
  6. riairairiairairaraiiairariaira sem ofensas
  7. Seção errada. Anyway, da uma olhada na seção de scripting, tem vários tutoriais por lá Abraços, Wiltry.
  8. Tira todos as linhas que contém: setPlayerStorageValue(cid,11554,1) E pra melhor funcionamento, caso o server já esteja online, troque o storage value: queststatus = getPlayerStorageValue(cid,11554) para queststatus = getPlayerStorageValue(cid,11555) ou algo do tipo Abraços, Wiltry
  9. Acho que esse foi o melhor tópico que o Luan Henrique fez. Anyway, não vi se está fixo, mas merece Abraços, Wiltry.
  10. Você podia postar o script do baú né Em todo caso, só tirar o setPlayerStorageValue(cid) do script. Flwz
  11. Desta vez, eu estou aqui para ensina-los a como fazer uma Arena PVP! P.: O que é uma Arena PVP? R.: Arena PVP, é uma pequena sala onde os players poderão duelar! Assim que um deles for derrotado, o player sera teletransportado para um local, pré-escolhido, mas sem perder nenhuma experienci, skill ou mesmo sua backpack e equipamentos! P.: Mas meu servidor é Non-PVP mesmo! R.: É possivel fazer e usar uma Arena PVP, mesmo em um servidor Non-PVP! P.: Mas o que isso traz de bom? R.: Você podera "matar os outros" sem vira PK! Mãos a obra! Abra o seu MapEditor e faça um lugar parecido com esse: Entenda: Numero 1 - O lugar onde a pessoa que perdeu ou pegou o teleporte ira aparecer! Numero 2 - Local onde o Player 2 tera que ficar para entrar na Arena PVP (Ele tera que ficar nesse title para o Player 1 ativar a alavanca)! Numero 3 - Local onde o Player 1 tera que ficar para entrar na Arena PVP (Ele tera que ficar nesse title ativar a alavanca)! Numero 4 - A alavanca que colocara os 2 players dentro da Arena PVP (Os 2 players terão quere ficar em seus devidos title, senão, nenhum dos 2 irá entrar)! Numero 5 - Teletransporte para o player que ganhou voltar (Ele voltara para o title número 1)! Fazendo o Script: 1- Abra a pasta data! 2- Abra a pasta actions! 3- Abra a pasta scripts! 4- Copie um arquivo qualquer e mude seu nome para pvparena! 5- Abra o aquivo como Bloco de notas! 6- Depois, apague tudo o que está dentro, deixando o arquivo todo em branco, e então, cole isto: -- pvp arena lever function onUse(cid, item, frompos, item2, topos) if item.uid == 7001 and item.itemid == 1945 then player1pos = {x=653, y=290, z=8, stackpos=253} player1 = getThingfromPos(player1pos) player2pos = {x=667, y=290, z=8, stackpos=253} player2 = getThingfromPos(player2pos) if player1.itemid > 0 and player2.itemid > 0 then arenalevel = 25 player1level = getPlayerLevel(player1.uid) player2level = getPlayerLevel(player2.uid) if player1level >= arenalevel and player2level >= arenalevel then for arenax = 655,665 do for arenay = 287,292 do arenapos = {x=arenax, y=arenay, z=8, stackpos=253} arenacreature = getThingfromPos(arenapos) if arenacreature.itemid > 0 then doPlayerSendCancel(cid,"Espere o duelo acabar.") return 1 end end end nplayer1pos = {x=655, y=290, z=8} nplayer2pos = {x=665, y=290, z=8} doSendMagicEffect(player1pos,2) doSendMagicEffect(player2pos,2) doTeleportThing(player1.uid,nplayer1pos) doTeleportThing(player2.uid,nplayer2pos) doSendMagicEffect(nplayer1pos,10) doSendMagicEffect(nplayer2pos,10) doPlayerSendTextMessage(player1.uid,18,"LUTEM!") doPlayerSendTextMessage(player2.uid,18,"LUTEM!") else doPlayerSendCancel(cid,"Os dois jogadores presisam ter level 25 ou mais para poder duelar.") end else doPlayerSendCancel(cid,"Voce presisa de 2 players para ter um duelo.") end else return 0 end return 1 end Tradução: if item.uid == 7001 - É o número da Action que você ira colocar no MapEditor. (clique com o botão direito sobre a alavanca e coloque 7001 nas 2 opções)! item.itemid == 1945 - É o ID do item que ativará a Arena PVP. No caso é uma alavanca! player1pos = {x=653, y=290, z=8, stackpos=253} - É o title onde o Player 1 terá que fica para poder ativar / entrar na Arena PVP! player2pos = {x=667, y=290, z=8, stackpos=253} - É o title onde o Player 2 terá que fica para poder entrar na Arena PVP! arenalevel = 25 - É o level minimo requirido para entrar na Arena PVP, no caso esta 25, mas você pode alterar! for arenax = 655,665 - É o tile inicial (655) até o title final (665) de "X" da Arena PVP. (Mude isso, e coloque os seus, por que senão, não ira funcionar)! for arenay = 287,292 - É o tile inicial (287) até o title final (292) de "Y" da Arena PVP. (Mude isso, e coloque os seus, por que senão, não ira funcionar)! arenapos = {x=arenax, y=arenay, z=8, stackpos=253} - É o andar da PVP Arena. No caso é 8, mas, mude conforme seja o seu "Z"! (cid,"Espere o duelo acabar.") - Ira mostrar essa mensagem caso ja tenha 1 ou 2 players na Arena PVP! nplayer1pos = {x=655, y=290, z=8} - É para onde o Player 1 sera transportado, assim que a alavanca for ativada! (Mude isso tambem, conforme o seu mapa)! nplayer2pos = {x=665, y=290, z=8} - É para onde o Player 2 sera transportado, assim que a alavanca for ativada! (Mude isso tambem, conforme o seu mapa)! doPlayerSendTextMessage(player1.uid,18,"LUTEM!") doPlayerSendTextMessage(player2.uid,18,"LUTEM!") - É a mensagem que sera mandada, assim que os 2 players forem mandados para dentro da Arena PVP! doPlayerSendCancel(cid,"Os dois jogadores presisam ter level 25 ou mais para poder duelar.") - Essa mensagem ira aparecer, caso 1 ou os 2 players não tiverem level suficiente para entrar (Pré-definido por você)! doPlayerSendCancel(cid,"Voce presisa de 2 players para ter um duelo.") - Caso alguem tente entrar na Arena PVP sozinho! Respira fundo, porque ainda não acabo! ... Modificando o arquivo pvparena.xml (em alguns servidores é "pvparenas.xml"! Caso seu servidor seja 7.8 ou mais recente, seu arquivo pvparena.xml começara mais ou menos assim: <?xml version="1.0" encoding="UTF-8"?> <pvparenas> <pvparena exitx="1039" exity="988" exitz="8" allowsummons="yes" multi-combat="no" addskilltries="no" allowfields="no"> <tiles fromx="1041" fromy="985" fromz="9" tox="1052" toy="991" toz="9"/> </pvparena> </pvparenas> Traduzindo: <pvparena exitx="1039" exity="988" exitz="8" - É aonde você irá sair da Arena PVP, assim que morrer ou pegar o teletransporte! allowsummons="yes" - Permite summons. (Yes, No)! multi-combat="no" - Se eu não me engano, é pra mais de um player entrar (Yes, No)! addskilltries="no" - Se o player ira conseguir ganhar Skills na Arena PVP (Yes, No)! allowfields="no" - Se podera ter fields na Arena PVP (EX: adevo mas flam, adevo mas vis...) (Yes, No)! Caso seu servidor seja 7.6 ou mais antigo, seu arquivo pvparena.xml começara mais ou menos assim: <?xml version="1.0"?> <pvparenas> <pvparena exitx="660" exity="285" exitz="8"> </pvparena> </pvparenas> Traduzindo: <pvparena exitx="660" exity="285" exitz="8"> - É aonde você irá sair da PVP Arena, assim que morre ou pegar o teletransporte! ... Se prepare para a parte mais chata! ... Agora, voce terá que fazer title por title da sua Arena PVP! Exemplo: <tile x="655" y="287" z="8"/> Tera que botar o X, Y e o Z da sua Arena PVP! Ira ficar mais ou menos assim (No caso da imagem): <?xml version="1.0"?> <pvparenas> <pvparena exitx="660" exity="285" exitz="8"> <tile x="655" y="287" z="8"/> <tile x="656" y="287" z="8"/> <tile x="657" y="287" z="8"/> <tile x="658" y="287" z="8"/> <tile x="659" y="287" z="8"/> <tile x="660" y="287" z="8"/> <tile x="661" y="287" z="8"/> <tile x="662" y="287" z="8"/> <tile x="663" y="287" z="8"/> <tile x="664" y="287" z="8"/> <tile x="665" y="287" z="8"/> <tile x="655" y="288" z="8"/> <tile x="656" y="288" z="8"/> <tile x="657" y="288" z="8"/> <tile x="658" y="288" z="8"/> <tile x="659" y="288" z="8"/> <tile x="660" y="288" z="8"/> <tile x="661" y="288" z="8"/> <tile x="662" y="288" z="8"/> <tile x="663" y="288" z="8"/> <tile x="664" y="288" z="8"/> <tile x="665" y="288" z="8"/> <tile x="655" y="289" z="8"/> <tile x="656" y="289" z="8"/> <tile x="657" y="289" z="8"/> <tile x="658" y="289" z="8"/> <tile x="659" y="289" z="8"/> <tile x="660" y="289" z="8"/> <tile x="661" y="289" z="8"/> <tile x="662" y="289" z="8"/> <tile x="663" y="289" z="8"/> <tile x="664" y="289" z="8"/> <tile x="665" y="289" z="8"/> <tile x="655" y="290" z="8"/> <tile x="656" y="290" z="8"/> <tile x="657" y="290" z="8"/> <tile x="658" y="290" z="8"/> <tile x="659" y="290" z="8"/> <tile x="660" y="290" z="8"/> <tile x="661" y="290" z="8"/> <tile x="662" y="290" z="8"/> <tile x="663" y="290" z="8"/> <tile x="664" y="290" z="8"/> <tile x="665" y="290" z="8"/> <tile x="655" y="291" z="8"/> <tile x="656" y="291" z="8"/> <tile x="657" y="291" z="8"/> <tile x="658" y="291" z="8"/> <tile x="659" y="291" z="8"/> <tile x="660" y="291" z="8"/> <tile x="661" y="291" z="8"/> <tile x="662" y="291" z="8"/> <tile x="663" y="291" z="8"/> <tile x="664" y="291" z="8"/> <tile x="665" y="291" z="8"/> <tile x="655" y="292" z="8"/> <tile x="656" y="292" z="8"/> <tile x="657" y="292" z="8"/> <tile x="658" y="292" z="8"/> <tile x="659" y="292" z="8"/> <tile x="660" y="292" z="8"/> <tile x="661" y="292" z="8"/> <tile x="662" y="292" z="8"/> <tile x="663" y="292" z="8"/> <tile x="664" y="292" z="8"/> <tile x="665" y="292" z="8"/> </pvparena> </pvparenas> Finalmente acabou! Créditos: Dexpant ------------------------------------------------------ Não sei se funciona em ServFull. Tenta ai :smile_positivo: PS: SCRIPT ANTIGO Abraços, Wiltry.
  12. Olá galera, esse tutorial é para ajudar os iniciantes a saber quantos "end" o script terá, e para qual if será usado o else. Bom, vamos começar com um exemplo de inicio script simples (que não foi testado): Regra: o else sempre irá se referir a ultima condição dita, então, o else que eu colocar agora irá se referir a vocação e o segundo irá se refereir ao storage value. O end foi usado para fechar a função if getPlayerVocation. Você pode por todos os ends no final do script, mas aconselho (só por organização) ir fechando a cada função usada. Continuando o script: Certo: se olharem bem, percebam que temos 4 ends, 1 para cada if e 1 para fechar a função function onUse() E sobre o else, seria em "portugues" como um: Seria basicamente isso, claro que essa não é a tradução ;~ Espero que tenham entendido, estou com um pouco de dor de cabeça, caso tenham alguma duvida, postem ou mandem PM. Abraços, Wiltry
  13. Olá, vejo algumas pessoas perguntando como fazer para o script ficar: "/blabla "Nick do player" Então, resolvi criar um tutorial simples ensinando como fazer a talkaction direcionar-se ao nick do player dito no comando. Certo, vamos começar uma talkactions, crie um documento em .lua e escreva o seguinte: function onSay(cid, words, param) A linha acima é como se inicia uma talkactions, lembrando que você pode declarar valores antes dela, como: player = getPlayerByName(param) playername = getPlayerName(player) name = getPlayerName(cid) acess = 0 function onSay(cid, words, param) Entendem? Certo, agora vamos a parte principal do tutorial: if param ~= "" then Essa condição acima ira checar se o parametro é "vazio" ou não, ou seja: /blabla = vazio, /blabla "Player não é vazio. Com isso, iremos montar o que irá acontecer, vamos por uma função simples: player = getPlayerByName(param) playername = getPlayerName(player) name = getPlayerName(cid) acess = 0 function onSay(cid, words, param) if param ~= "" then if getPlayerGroupId(cid) >= acess then doPlayerSendTextMessage(cid, 25, "Você mandou uma mensagem para "..playername.."") doPlayerSendTextMessage(player, 25, "Olá, o "..name.." te mandou esta mensagem.") else doPlayerSendTextMessage(cid, 25, "Você não tem acess para mandar mensagens a outros players.") end else doPlayerSendTextMessage(cid, 25, "A player with this name doesn't exist.") end return TRUE end Explicando o script: Ao player (no caso o GM) falar /sendmsg "Nome do player, ele irá receber uma mensagem confirmando que a mensagem foi enviada, e o player que foi mencionado no param ("nome do player) receberá uma mensagem também. Espero que tenham entendido Qualquer erro, só falarem aqui no tópico, duvidas também terei prazer em responder. Abraços, Wiltry
  14. Abra o arquivo data/creaturescripts/scripts/firstitems.lua, apague o que tem lá e adicione: O que vem configurado é um Plate Set, caso queria mudar altere na primeira variável. Esse é o script quando o jogador loga pela primeira vez e recebe seus primeiros itens. Créditos 100% Magus Abraços
  15. Essa sessão é para suporte de Tibia e não de OTServ... Reportado. #Topic São dois arquivos que são encontrados na pasta do Tibia referente a versão do mapa. Abraços
  16. VirusTotal é a forma mais prática e segura de verificar se o arquivo está com vírus ou não ;~ Também acho que a sessao de downloads deveria sofrer esta mudança... Abraços
  17. #Ultimo post sobre a discussão: Não coloquei tudo em um porque eu não tinha lembrado desse detalhe. Mas apenas por 1 detalhe, não significa que o meu é RUIM e o seu é BOM. Sobre o seu script ser compacto, tudo bem, é mais facil. Eu concordo em tudo que você disse, menos pela comparação que você fez aos 2 scripts. Abraços
  18. Apenas por isso o meu é ruim e o seu é bom? É tão dificil e extraordinario fazer isso q tu fez em Não muda nada, só mudar o numero do SetTown Se for esse o grande problema, só colocar um " -- o numero = townid que o player irá ter, ou seja, seu novo templo" Abraços
  19. Mas o doPlayerSetTown(cid, 1) já não faz isso?
  20. Sim, é só trocar Demon Hunt por Demon e etc. Abraços
  21. Unica coisa diferente nos nossos scripts basicamente são isso: Claro, o seu é mais compacto. Mas de boa, os 2 estão praticamente iguais, não entendi porque o meu está um pouco ruim e o seu está bom ' Abraços
  22. De boa, não vi muita diferença ;/ Abraços
  23. Ue, só botar uma function pra dar set town id ;~ abraços --EDIT Pra quem quizer, é só adicionar no segundo script, embaixo de doTeleportThing, isso: doPlayerSetTown(cid, 1)
  24. Esse script irá fazer com que, quando a premmy do player acaba, ele seja teleportado para X lugar ;~ Primeiro, faça um arquivo.lua Depois, crie outro arquivo.lua E no XML apenas coloque Exclusivo XTibia Desenvolvido 100% por Wiltry Abraçis
  25. #RedZL Muito show o mapa riairaira Depois que terminar/parar de mapear ela, me dá? Irei usar no Dominus World ;p #DragonBoster A cave ta muitoo over detailed, mas ta bonita. Abraços
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...