Cell18 1 Postado Maio 18, 2013 Share Postado Maio 18, 2013 Um script que dê 10000 de xp a cada hora online do char... (y) Link para o comentário https://xtibia.com/forum/topic/214569-script-ganhando-xp-por-tempo-online/ Compartilhar em outros sites More sharing options...
0 brun123 369 Postado Maio 18, 2013 Share Postado Maio 18, 2013 Abra o creaturescripts.xml e coloque essas tags: <event type="login" name="ExpPorHoraLogin" event="script" value="expporhora.lua"/> <event type="logout" name="ExpPorHoraLogout" event="script" value="expporhora.lua"/> agora crie um arquivo chamado expporhora.lua em data/creaturescripts/scripts e cole isso dentro: expTable = {} -- não modifique interval = 60 * 60 * 1000 expGain = 10000 function execLogin(cid, lastLogin) registerCreatureEvent(cid, "ExpPorHoraLogout") if not expTable[getPlayerGUID(cid)] then expTable[getPlayerGUID(cid)] = {timeOnline = 0} end expTable[getPlayerGUID(cid)].lastLogin = os.clock() expTable[getPlayerGUID(cid)].event = addEvent(addExp, interval - 1000 * expTable[getPlayerGUID(cid)].timeOnline, cid) end function addExp(cid) if not isCreature(cid) then return end expTable[getPlayerGUID(cid)].timeOnline = 0 doPlayerAddExperience(cid, expGain) doSendAnimatedText(getThingPos(cid), expGain, 215) doPlayerSendTextMessage(cid, 27, "Você recebeu "..expGain.." xp por ficar 1 hora online!") execLogin(cid, os.clock()) end function onLogout(cid) if not expTable[getPlayerGUID(cid)] then return true end expTable[getPlayerGUID(cid)].timeOnline = expTable[getPlayerGUID(cid)].timeOnline + os.clock() - expTable[getPlayerGUID(cid)].lastLogin stopEvent(expTable[getPlayerGUID(cid)].event) return true end function onLogin(cid) if getCreatureName(cid) == "Account Manager" then return true end execLogin(cid) return true end o tempo salva, significa que se o player fica 30 min online e fizer logout, quando ele entrar de novo só vai precisar esperar mais 30 min pra ganhar o xp. o tempo só é resetado se o servidor fechar Link para o comentário https://xtibia.com/forum/topic/214569-script-ganhando-xp-por-tempo-online/#findComment-1522000 Compartilhar em outros sites More sharing options...
0 Cell18 1 Postado Maio 19, 2013 Autor Share Postado Maio 19, 2013 (editado) Muito Obrigado Bru123 (y) rep+ OK... irei testar, mas antes gostaria de saber.... Tem como eu editar aí pra n salvar esse tempo? pq só quero recompenssar se ficar uma hora direto mesmo, e que seja a cada hora online, se ele ficar 2 hroas ganha novamente, o mesmo xp... e... if getCreatureName(cid) == "Account Manager" then return true end Eu não uso acc manager no meu server, teve até um cara que criou char com esse nome, no caso ele n receberá o xp, é isso? Editado Maio 19, 2013 por Cell18 Link para o comentário https://xtibia.com/forum/topic/214569-script-ganhando-xp-por-tempo-online/#findComment-1522455 Compartilhar em outros sites More sharing options...
0 brun123 369 Postado Maio 19, 2013 Share Postado Maio 19, 2013 sim, se o cara tiver o nome de Account Manager ele não iria ganhar, ta aqui sem salvar tempo: local interval = 60 * 60 * 1000 local expGain = 10000 local function addExp(cid) if not isCreature(cid) then return end doPlayerAddExperience(cid, expGain) doSendAnimatedText(getThingPos(cid), expGain, 215) doPlayerSendTextMessage(cid, 27, "Você recebeu "..expGain.." xp por ficar 1 hora online!") addEvent(addExp, interval, cid) end function onLogin(cid) addEvent(addExp, interval, cid) return true end Link para o comentário https://xtibia.com/forum/topic/214569-script-ganhando-xp-por-tempo-online/#findComment-1522467 Compartilhar em outros sites More sharing options...
0 Cell18 1 Postado Maio 20, 2013 Autor Share Postado Maio 20, 2013 Muito Obrigad Brun123! Me ajudou muito... Talvez eu até use o 1º mesmo com tempo, fiquei pensando que não seria justo tipo, o player morre mas ele n parou de jogar, ele continua... Só fico pensando se isso irá pesar por salvar tempo online, meu server já ta um pouco pesadinho... Valeu, abraço! (Y) Link para o comentário https://xtibia.com/forum/topic/214569-script-ganhando-xp-por-tempo-online/#findComment-1522751 Compartilhar em outros sites More sharing options...
0 brun123 369 Postado Maio 20, 2013 Share Postado Maio 20, 2013 bom amigo, em questão de processamento nem precisa se preocupar, esse scripts são executados quase que instantaneamente agora em relação a uso de memória, com uns 500 players online seu servidor deve ocupar mais ou menos uns 8 kb de memória a mais, que sinceramente, não é nada... Link para o comentário https://xtibia.com/forum/topic/214569-script-ganhando-xp-por-tempo-online/#findComment-1522784 Compartilhar em outros sites More sharing options...
0 Cell18 1 Postado Maio 21, 2013 Autor Share Postado Maio 21, 2013 Muitissimo Obrigado pelo script e pelas informações. Já estou usando no meu server. Como eu disse anteriormente me ajudou bastante. abraço! Pedido entregue. moderação pode fechar o tópico. Link para o comentário https://xtibia.com/forum/topic/214569-script-ganhando-xp-por-tempo-online/#findComment-1523358 Compartilhar em outros sites More sharing options...
0 Bhoris 23 Postado Maio 23, 2013 Share Postado Maio 23, 2013 Duvida senada. Topico Reportado. Link para o comentário https://xtibia.com/forum/topic/214569-script-ganhando-xp-por-tempo-online/#findComment-1523895 Compartilhar em outros sites More sharing options...
0 Roksas 846 Postado Maio 23, 2013 Share Postado Maio 23, 2013 Tópico movido para a seção de dúvidas e pedidos resolvidos. Link para o comentário https://xtibia.com/forum/topic/214569-script-ganhando-xp-por-tempo-online/#findComment-1523926 Compartilhar em outros sites More sharing options...
0 Roksas 846 Postado Maio 23, 2013 Share Postado Maio 23, 2013 Tópico movido para a seção de dúvidas e pedidos resolvidos. Link para o comentário https://xtibia.com/forum/topic/214569-script-ganhando-xp-por-tempo-online/#findComment-1523927 Compartilhar em outros sites More sharing options...
Pergunta
Cell18 1
Um script que dê 10000 de xp a cada hora online do char...
(y)
Link para o comentário
https://xtibia.com/forum/topic/214569-script-ganhando-xp-por-tempo-online/Compartilhar em outros sites
9 respostass a esta questão
Posts Recomendados