Delvire 0 #1 Postado 1 Agosto, 2008 Olá, bolei um sisteminha bem básico em que o jogador, ao chegar no level 5, é rookado. Esse script foi testado no Aries 0.4.5. Bom, é mais que óbvio que vc vai precisar de uma rookgaard no seu mapa. Vamos começar: Primeiramente, no map editor, vá até o templo de sua cidade de main, e vá nas propriedades do SQM em que o player nasce: Em seguida, em UniqueID, coloque 6675. Dê Ok e salve o mapa, mas ainda não o fexe, pq talvez vc vá precisar fazer um treco... Agora, vá em data/movements/scripts e crie um arquivo LUA com o nome rookado.lua. Dentro do arquivo, coloque: function onStepIn(cid, item, pos) rook = {x=264, y=604, z=7} level = getPlayerLevel(cid) mensagem = "You were rooked." if item.uid == 6675 then doSendMagicEffect(rook, 13) end if level <= 5 then doPlayerSetTown(cid,6) doPlayerSetVocation(cid,0) doTeleportThing(cid, rook) doPlayerSendTextMessage(cid, 21, mensagem) end return 1 end ° Coordenadas do templo de Rook.° Aqui é o ID de Rookgaard, jajá eu explico isso. ° Geralmente os jogadores sem vocation possuem a ID 0 Vá em data/movements/movements.xml, e coloque isso: <movevent event="StepIn" uniqueid="6675" script="rookado.lua" /><movevent event="StepOut" uniqueid="6675" /> Como vai funcionar? Quando o jogador for do nível 6 pro 5, ele irá nascer no templo, mas ele pisou num SQM que só podem pisar jogadores de lvl 6+ e com isso, ele é teleportado pra rook. Explicando o doPlayerSetTown(cid,6) Isso faz com o jogador se torne cidadão da cidade que tem o ID 6 que no caso do meu server, é Rookgaard. Se sua Rookgaard não tem uma ID, vamos colocar! Lá no map editor, vá até o templo de rook e escolha o SQM onde o player vai nascer, em seguida, vá em Tools>Edit Towns Pronto! Sua rook tem um ID! Agora a parte ruim... eu não consegui: -Deixar o player com level 1 -Deixar o player com ML 0 -Tirar os equips do player. -Deixar player com 150 de HP e 0 de mana -Deixar o player com certa quantidade de cap Espero que tenham gostado. Compartilhar este post Link para o post Compartilhar em outros sites
Nord 2 #2 Postado 6 Agosto, 2008 Ótimo tutorial, muito bem explicado, acho que os últimos OTs que restaram e não tinham o sistema de ser rookado agora terá. Tópico aprovado e movido. Compartilhar este post Link para o post Compartilhar em outros sites
ions_29a 0 #3 Postado 6 Agosto, 2008 baum pow... n fiz rook ainda no meu ot agr q to pensando nisso vo da uma olhada p ver se eu consigo remover items e ajudar aew Compartilhar este post Link para o post Compartilhar em outros sites
Lukgb xD 0 #4 Postado 15 Dezembro, 2008 Pra fika nv 1 é so mudar no acc manager, mais se vc não usa ele ai eu num sei =/ Compartilhar este post Link para o post Compartilhar em outros sites
PoSo 0 #5 Postado 15 Dezembro, 2008 Poxa, bela idéia essa de nascer e já pisar no sqm, nao tinha pensado nisso =D então pra dexar level 1, será que daria algo como: exp = getPlayerExperience(cid) doPlayerAddExp(cid, -exp) onde voce pega a experience dele e adiciona ela negativa, logo, vai subtrair dai ele terá experiencia 0. Não testei, nem sei se funciona, mas voce poderia testa e atualziar. mais uma coisa, voce poderia forçar o logout do player, e abrir conexão com o banco de dados, assim voce faz os updates necessarios pra dexa ele level 1. Quando ele voltar, já estará atualizado, e voilà ele estará realmente rooked. lembrando, não testei ! Abraços ;D Compartilhar este post Link para o post Compartilhar em outros sites
Delvire 0 #6 Postado 15 Dezembro, 2008 @PoSo Na época em que fiz esse tutorial, ele era designado aos servers XML, e também já tentei subtrair a exp do player, +, n importando qual fosse o valor da exp, o jogador ficava com um nº bem estranho de exp, do tipo 200,000,000 etc. Bom, mas agora servers XML já tão quase extintos, e n há com o que se preocupar, pois os mais comuns dos servers SQL já vêm com sistema de rooking Compartilhar este post Link para o post Compartilhar em outros sites
PoSo 0 #7 Postado 15 Dezembro, 2008 O erro foi meu ! Não vi que o topico era revivido pelo nosso amigo ali em cima, Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
DiegooooxD 0 #8 Postado 20 Dezembro, 2008 kkkkkkkk post do delvire kkkkkkkkkk como vai teu ot?? ah lembrei nuked by me~~ mas nao eh q o gordinho ta ligado nos negocio gostei ateh Compartilhar este post Link para o post Compartilhar em outros sites
kito171 0 #9 Postado 23 Dezembro, 2008 Bom Boa Idéia Compartilhar este post Link para o post Compartilhar em outros sites
MotoBoy 0 #10 Postado 24 Dezembro, 2008 bom. acho que nem adianta fala rmais. ja´que a maioria dos servers jáestão vindo com esse sistema mais de auquer jeito, é bom apreder XD pra remover todos os items do player é só colocar: for i = 1, 9 do items = getPlayerSlotItem(cid, i) break end doPlayerRemoveItem (cid, items, 1) bom.. num testei.. foi uma ideia de ultima hora mais acho que deve funcionar =P flws~~ Compartilhar este post Link para o post Compartilhar em outros sites