adsvinicius 1 Postado Junho 8, 2011 Share Postado Junho 8, 2011 GALERA, COMPREI DEDICADO E TO HOSPEDANO UM OT MAPA GLOBAL, SÓ QUE NAO CONSIGO ARRUMA O SISTEMA VIP, NO BARCO DE THAIS, HORA KE O PLAYER VIP VAI TENTA PASSA NAO DA.. ME AJUDEM POR FAVOR! Link para o comentário Compartilhar em outros sites More sharing options...
582240 39 Postado Junho 8, 2011 Share Postado Junho 8, 2011 cara é melhor ao invez de um barco vc por no templo um tp para que so vip pode passar abaixo vai um tutorial retiradodo seguinte tópico: Perfect Vip System Já fiz este sistema faz bastante tempo, só que nunca postei. Você adciona X dias de vip a um player, e este player só terá acesso à área VIP enquanto estes dias não acabarem. Em talkactions/talkactions.xml adcione a seguinte linha: <talkaction words="/addvip" script="addvip.lua"/> Em data/talkactions faça um arquivo chamado addvip.lua contendo: function onSay(cid, words, param) -- configs access = 1 days = 30 -- end configs player = getPlayerByName(param) daysvalue = days*3600*24 storageplayer = getPlayerStorageValue(player,29000) timenow = os.time() if storageplayer == -1 or storageplayer == 0 then time = timenow+daysvalue else time = storageplayer+daysvalue end if param ~= "" then if getPlayerGroupId(cid) >= access then doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adcionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(player,29000,time) quantity = math.floor((getPlayerStorageValue(player,29000) - timenow)/(3600*24)) doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Somente jogadores com acesso maior que "..access.." podem adcionar vips.") end end end Edite o access para adcionar VIP e os dias que serão adcionados. Em movements/movements.xml adcione a seguinte linha: <movevent event="StepIn" actionid="29000" script="vipsystem.lua"/> Em data/movements faça um arquivo chamado vipsystem.lua contendo: function onStepIn(cid, item, position, fromPosition)timenow = os.time() quantity = math.floor((getPlayerStorageValue(cid,29000) - timenow)/(3600*24)) if isPlayer(cid) then if quantity > 0 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você ainda tem ".. quantity .." dia(s) restante(s) de VIP.") else dir = getPlayerLookDir(cid) pos = getCreaturePosition(cid) if dir == 0 then newpos = {x=pos.x, y=pos.y+1, z=pos.z} elseif dir == 2 then newpos = {x=pos.x, y=pos.y-1, z=pos.z} elseif dir == 1 then newpos = {x=pos.x-1, y=pos.y, z=pos.z} elseif dir == 3 then newpos = {x=pos.x+1, y=pos.y, z=pos.z} end doTeleportThing(cid, newpos, dir) doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Somente jogadores VIPs podem entrar nesta área.") end end end Pronto, seu sistema de VIP está implantado. Para adicionar VIP no player Yunie, por exemplo, é só dizer: /addvip "Yunie Nota-se que para quem adicionou não aparecerá nenhum aviso que foi adcionado, somente para o player. E as áreas do mapa VIPs, faça uma entrada com actionid 29000, ao pisar na entrada, o sistema checará se o player é VIP e se consequentemente ele poderá passar adiante. Para deixar mais perfeito o sistema, você mesmo pode criar um script onLogin para checar se ele está em uma área VIP com sua VIP esgotada e então teleportar ele para o templo. Novo! Script onLogin (não testado), caso tenha bugs, reporte! Em creaturescripts/scripts faça um arquivo chamado vip.lua contendo: -- configstemplepos = {x=200,y=200,z=7} cityid = 1 -- end configs function onLogin(cid) timenow = os.time() viptime = getPlayerStorageValue(cid,29000) quantity = math.floor((getPlayerStorageValue(cid,29000) - timenow)/(3600*24)) if quantity <= 0 and viptime > 0 then setPlayerStorageValue(cid,29000,0) doTeleportThing(cid,templepos) -- setPlayerTown (estou sem minha listinha de functions para ver qual function que é para colocar townid), você pode colocar aqui se quiser end return TRUE end Em creaturescripts/creaturescripts.xml coloque: <event type="login" name="VipLogin" script="vip.lua"/> PS.: Estou sem minha listinha de function, e este script acima não mudará o templo do player, se alguém puder me dizer a function que faz isso. É setPlayerTown, algo assim. Bom proveito, Yunie. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados