mendez 0 #1 Postado 28 Julho, 2008 ---------------------------------------------------------------------- Nome: Level up! . Versão: 8.1+ . Tipo do script: creaturescript . Servidor Testado: Devland 8.1 . Autor: War Wolf ---------------------------------------------------------------------- Descrição: É um código simples, você pode modificá-lo de forma que apresente mais funcionalidade: trocar wands a cada vez que o player pegar o level certo pra usar; enviar uma mensagem informativa em determinado level; enfim, há uma infinidade de funções que podem ser desenvolvidas a partir desse código. ---------------------------------------------------------------------- Funcionamento: O funcionamento é bem simples: usando o CreatureScripts e um storageValue do player você pode fazer que em cada level ocorra algum evento. ---------------------------------------------------------------------- Código: na pasta: \data\CreatureScripts\Scripts crie um arquivo com o nome "Kill.lua" e adicione o sequinte codigo: function verifyLevel(params) if (getPlayerStorageValue(params, 1448) ~= getPlayerLevel(params)) then doSendAnimatedText(getPlayerPosition(params), 'LeveL Up!', TEXTCOLOR_LIGHTGREY) setPlayerStorageValue(params, 1448, getPlayerLevel(params)) end end function onKill(cid, target) addEvent(verifyLevel, 500, cid) return 1 end ----------------------------------------------------------------------- Explicação: Essa parte serve para que toda vez que 1 player matar alguma criatura, executar, a função "verifyLevel" com delay de 500 ms. Esse delay deve existir porque a experiência adquirida só é contabilizada após os eventos do tipo kill ocorrerem. No caso a "verifyLevel" utiliza o "storageValue 1448" para indicar o level anterior do player e compará-lo com o level atual, caso seja diferente, ele envia o texto animado "Level Up!" na cor cinza e atualiza o level do player. ------------------------------------------------------------------------ na mesma pasta(\data\CreatureScripts\Scripts) crie tb "Die.lua" e adicione o sequinte codigo: function onDie(cid, corpse) setPlayerStorageValue(cid, 1448, getPlayerLevel(cid)) return 1 end --------------------------------------------------------------------- Explicação Aqui o código só deve atualizar o level do player quando ele morrer. --------------------------------------------------------------------- Crie um outro arquivo na mesma pasta com o sequinte nome "Login.lua e adicione o sequinte codigo: function onLogin(cid) registerCreatureEvent(cid, "onKillCreature") registerCreatureEvent(cid, "onPlayerDie") setPlayerStorageValue(cid, 1448, getPlayerLevel(cid)) end ---------------------------------------------------------------------- Explicação: Aqui ocorre o registro dos eventos para quando o player matar uma criatura e para quando ele morrer. Note que aqui também há uma atualização do level do player para cada vez que ele logar; isso deve ocorrer porque quando o player inicia o jogo zerado (acabou de criar no account manager por exemplo), o valor inicial do storageValue passa a ser -1, assim, nesse caso, na 1º criatura que o player matar apareceria Level Up! se não tivesse essa atualização no login. Isso também faz com que a atualização do level no script kill.lua se torne redundante, mas eu aconselho a deixar desta forma. ----------------------------------------------------------------------- Agora coloque esses eventos abaixo no CreatureScripts.xml e pronto: <event type="login" name="PlayerLogin" script="Login.lua"/> <event type="die" name="onPlayerDie" script="Die.lua"/> <event type="kill" name="onKillCreature" script="Kill.lua"/> Toda vez q o player upar, vai aparecer LeveL Up! Compartilhar este post Link para o post
Balder 23 #3 Postado 31 Julho, 2008 (editado) Hey irmão eu to usando TFS (não sei se é por isso), mas num deu certo aqui não deus uns erros sinistros aki: Not valid type for creature event.die Not valid type for creature event.kill Can not configure event e etc... Editado 31 Julho, 2008 por Ragnarot Compartilhar este post Link para o post
mendez 0 #4 Postado 2 Agosto, 2008 lol nem sei pq, no tfs q eu tinha 100% de ctz q funcionaria eu testei ele no Devland 8.1 Compartilhar este post Link para o post
Mock 32 #5 Postado 2 Agosto, 2008 -------------------------------------------------------------------------------- Hey irmão eu to usando TFS (não sei se é por isso), mas num deu certo aqui não deus uns erros sinistros aki: Not valid type for creature event.die Not valid type for creature event.kill Can not configure event e etc... ve se ja tem algum script usando esse event se tiver vc poe isso nele antes do ultimo end setPlayerStorageValue(cid, 1448, getPlayerLevel(cid)) return 1 Compartilhar este post Link para o post
de_bone 1 #6 Postado 2 Agosto, 2008 Interessante; Esse script ai facilita os mais leigos, em level doors personalizadas e quests de level também. Pois no Mock Library, tem um check level também; (Ganhei 10 OT$ pra fala isso aqui aiuehaiuhaiuehaiueh) Mais sem brincadeiras, ficou bem inteligente o script; Boa idéia Compartilhar este post Link para o post
Balder 23 #7 Postado 2 Agosto, 2008 ve se ja tem algum script usando esse event se tiver vc poe isso nele antes do ultimo end então cara , eu não sei direito aonde eu coloco , em quais scripts eu coloco, pq ta falando sobre o kill e o die. queria que vc postasse o script da maneira q eu tenho que bota aki , vo posta o erro aki ó: Error: [CreatureEvent:: configureEvent] No valid type for creature event.dieWarning: [baseEvents:: loadFromXml] Can not configure event Error: [CreatureEvent:: configureEvent] No valid type for creature event.kill Warning: [baseEvents:: loadFromXml] Can not configure event meu creature script xml tava assim antes de eu colocar esses scripts (se é que isso ajuda) : <?xml version="1.0" encoding="UTF-8"?><creaturescripts> <event type="death" name="PlayerDeath" script="playerdeath.lua"/> <event type="login" name="PlayerLogin" script="Login.lua"/> </creaturescripts> então, dai ja tinha um script login, dai como eu faço com o Login do script de level up ? Mudo de nome ? PLease me ajuda Mock ! Compartilhar este post Link para o post
Asould Acalaylaa 5 #8 Postado 2 Agosto, 2008 Gostei muito desse Script! Parabens, eu que manjo bastante de Scripts não sabia fazer alguma ação assim que o player passase de level. Obrigado. Compartilhar este post Link para o post
Ferumbras22 0 #9 Postado 2 Agosto, 2008 Aprovado !!! Depois vô testar !!!!!!!! Compartilhar este post Link para o post