BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Ayuda con scroll vip

Ayuda con scroll vip

#1 Ayuda con scroll vip el Dom Jul 27, 2014 2:51 am

hoster


Novato
Hola amigos he pasado horas y horas buscando una solucion para el vip system tengo la version del server 10.10 y he leido muchos temas pero ninguno me soluciona porfavor si alguien es tan amable de decirme como hacer un vip scroll se lo agradesco el ot tiene un comando que usa el player que es !buyvip y este si funciona pero no kiero ke se use ese comando sino que con un item le de la vip [size=18]

#2 Re: Ayuda con scroll vip el Dom Jul 27, 2014 3:48 am

Belerofonte


Administrador
¿Podrías pegar ese script del talkactions "!buyvip"? para ver qué sistema utiliza y poder ver mejor como hacer el actions...



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#3 Re: Ayuda con scroll vip el Dom Jul 27, 2014 12:30 pm

hoster


Novato
este es el escrip que vienen en el talkactions

function onSay(cid, words, param)
if(words == "!buyvip") then
local price = 2000000
if doPlayerRemoveMoney(cid, 2000000) == TRUE then
local days = 30
local daysvalue = days * 24 * 60 * 60
local storageplayer = getPlayerStorageValue(cid, 13540)
local timenow = os.time()

if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then
time = timenow + daysvalue
else
time = storageplayer + daysvalue
end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
setPlayerStorageValue(cid, 13540, time)

local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de "..price.." gp's para colocar vip.")
end

elseif(words == "!vipdays") then
local timenow = os.time()
local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no seu character.")

elseif(words == "/checkvip") then
if getPlayerAccess(cid) == 5 then
if not param then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
end

local player = getPlayerByName(param)
local pid = getPlayerByNameWildcard(param)
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")
return TRUE
end

local timenow = os.time()

local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60))
doPlayerPopupFYI(cid, "O jogador tem ".. (quantity < 0 and 0 or quantity) .." dias de VIP no character.")
return TRUE
end

elseif(words == "/addvip") then
if getPlayerAccess(cid) == 5 then
local t = string.explode(param, ",")
if not t[2] then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
end

local player = getPlayerByName(t[1])
local days = t[2]
local pid = getPlayerByNameWildcard(t[1])
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")
return TRUE
end

local daysvalue = days*3600*24
local storageplayer = getPlayerStorageValue(player, 13540)
local timenow = os.time()

local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue)

doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Foram adicionados "..days.." dias de VIP no seu character.")
setPlayerStorageValue(player, 13540, time)
local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24))
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Você tem "..quantity.." dias de VIP restantes.")
end

elseif(words == "/delvip") then
if getPlayerAccess(cid) == 5 then
local dec = MESSAGE_INFO_DESCR
if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end
local C,t = {},string.explode(param, ",")
C.pos = getPlayerPosition(cid)
C.uid = getCreatureByName(t[1])
C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia.
C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip.
local pid = getPlayerByNameWildcard(t[1])
if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player with this name doesn\'t exist or is offline.")
return TRUE
end

if(getPlayerStorageValue(C.uid,13540) < C.time)then
doPlayerSendTextMessage(cid,dec,'O jogador '..t[1]..' não possui '..C.days..' dias de vip.')
else
doPlayerSendTextMessage(cid,dec,'Você removeu '..C.days..' dias de vip do player '..t[1]..'.')
setPlayerStorageValue(C.uid,13540,getPlayerStorageValue(C.uid,13540)-C.time)
end
doSendMagicEffect(C.pos, math.random(28,30))
end
end

return TRUE
end

#4 Re: Ayuda con scroll vip el Miér Jul 30, 2014 5:32 am

Belerofonte


Administrador
Sorry, por la tardanza. Creí que ya te lo contestaron.
Data/Actions/Actions.xml:
Código:
<action itemid="8859" event="script" value="Nombre.lua" />
En el itemid pones el ID del objeto que quieras que usen para adquirir la VIP.

Data/Actions/Scripts/Nombre.lua:
Código:
function onUse(cid, item, pos)
  local price = 2000000
    if doPlayerRemoveMoney(cid, price) == TRUE then
      local days = 30
      local daysvalue = days * 24 * 60 * 60
      local storageplayer = getPlayerStorageValue(cid, 13540)
      local timenow = os.time()

        if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then
            time = timenow + daysvalue
          else
           time = storageplayer + daysvalue
        end

        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Han sido implementados ".. days .." dias VIP en tu personaje.")
        setPlayerStorageValue(cid, 13540, time)
        doRemoveItem(item.uid, 1)
      local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Actualmente posees ".. quantity .." dias VIP restantes.")
      else
       doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Necesitas "..price.." gp's para adquirir dias VIP.")
    end
  return true
end

No especificáste si lo querías dejar tal cual está que aparte de tener que darle al objeto también se necesite pagar ese X money. ¿Lo querías así o no?

Luego para que puedan seguir estando los otros comandos de verifricar/remover/añadir días VIP...
Data/Talkactions/Talkactions.xml:
Código:
<talkaction words="!vipdays;/checkvip;/addvip;/delvip" event="script" value="Nombre.lua"/>

Data/Talkactions/Scripts/Nombre.lua:
Código:
function onSay(cid, words, param)
    if(words == "!vipdays") then
        local timenow = os.time()
        local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
       doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Actualmente posees ".. (quantity < 0 and 0 or quantity) .." dias de VIP en tu personaje.")

    elseif(words == "/checkvip") then
       if getPlayerAccess(cid) == 5 then
           if not param then
               doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
           end

       local player = getPlayerByName(param)
       local pid = getPlayerByNameWildcard(param)
          if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then
              doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "El sujeto con ese nombre no existe o esta off-line.")
            return TRUE
          end

    local timenow = os.time()

    local quantity = math.floor((getPlayerStorageValue(player, 13540) - timenow)/(24 * 60 * 60))
        doPlayerPopupFYI(cid, "Es" .. (getPlayerSex(pid) == 0 and "a" or "e") .. " jugador" .. (getPlayerSex(pid) == 0 and "a" or "") .. " tiene ".. (quantity < 0 and 0 or quantity) .." dias VIP en su personaje.")
      return TRUE
    end

    elseif(words == "/addvip") then
        if getPlayerAccess(cid) == 5 then
          local t = string.explode(param, ",")
            if not t[2] then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.")
            end

            local player = getPlayerByName(t[1])
            local days = t[2]
            local pid = getPlayerByNameWildcard(t[1])
                if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then
                    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "El sujeto con ese nombre no existe o esta off-line.")
                  return TRUE
                end

      local daysvalue = days*3600*24
      local storageplayer = getPlayerStorageValue(player, 13540)
      local timenow = os.time()

      local time = storageplayer <= 0 and (timenow + daysvalue) or (storageplayer + daysvalue)

        doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Fueron añadidos "..days.." dias VIP en es" .. (getPlayerSex(pid) == 0 and "a" or "e") .. " jugador" .. (getPlayerSex(pid) == 0 and "a." or "."))
        setPlayerStorageValue(player, 13540, time)
        local quantity = math.floor((getPlayerStorageValue(player,13540) - timenow)/(3600*24))
        doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "Actualmente posees "..quantity.." dias de VIP restantes.")
    end

    elseif(words == "/delvip") then
        if getPlayerAccess(cid) == 5 then
          local dec = MESSAGE_INFO_DESCR
            if(param == "") then return TRUE,doPlayerSendTextMessage(cid,18,"Command param required.")end
              local C,t = {},string.explode(param, ",")
                C.pos = getPlayerPosition(cid)
                C.uid = getCreatureByName(t[1])
                C.time = ((tonumber(t[2]) == nil) and 1 or tonumber(t[2]))*3600*24 --Tempo da vip por dia.
                C.days = (tonumber(t[2]) == nil) and 1 or tonumber(t[2]) --Dias de vip.
                  local pid = getPlayerByNameWildcard(t[1])
                    if(not pid or (isPlayerGhost(pid) and getPlayerGhostAccess(pid) > getPlayerGhostAccess(cid))) then
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "El sujeto con ese nombre no existe o esta off-line.")
                      return TRUE
                    end

                if(getPlayerStorageValue(C.uid,13540) < C.time)then
                    doPlayerSendTextMessage(cid,dec, (getPlayerSex(pid) == 0 and "La" or "El") .. " jugador" .. (getPlayerSex(pid) == 0 and "a" or "") .. " "..t[1].." carece de "..C.days.." dias VIP.")
                  else
                   doPlayerSendTextMessage(cid,dec,"Has removido "..C.days.." dias VIP a" .. (getPlayerSex(pid) == 0 and " la" or "l") .. " jugador" .. (getPlayerSex(pid) == 0 and "a" or "") .. " "..t[1]..".")
                   setPlayerStorageValue(C.uid,13540,getPlayerStorageValue(C.uid,13540)-C.time)
                end
                doSendMagicEffect(C.pos, math.random(28,30))
            end
        end

  return TRUE
end

No sé si modificaste el script original o algo pero no me funciona el comando de la Staff para añadir días VIP "/addvip" y no supe cómo arreglarlo S:



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#5 Re: Ayuda con scroll vip el Miér Jul 30, 2014 11:26 am

hoster


Novato
gracias man x tomarte eñ tienpo de contestar lo ke pasa eskr asi me viene ala hora de ke el player usa ese comando y yo kiero ke en lugar de comprar diciento ”buy vip solo tu le des el item y se le agreguen dias lo quise hacer cn los tutoa de aki y otras paginas y no resulto

#6 Re: Ayuda con scroll vip el Miér Jul 30, 2014 12:19 pm

God angel


Miembro
bro yo tengo un sistema vip para los player q donan q les da acceso a la zona vip el item tiene dos funciones para poder pasar x la puerta d la zona vip y sobre el player dice vip....

quiera tener dos item q les de acceso a la zona vip a losq donen a los free pero diferentes q uno diga vip para los free y para los q donen diga dnt

eso c puede?

#7 Re: Ayuda con scroll vip el Miér Jul 30, 2014 12:51 pm

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:gracias man x tomarte eñ tienpo de contestar lo ke pasa eskr asi me viene ala hora de ke el player usa ese comando y yo kiero ke en lugar de comprar diciento ”buy vip solo tu le des el item y se le agreguen dias lo quise hacer cn los tutoa de aki y otras paginas y no resulto
Oki, en tal caso:
Código:
function onUse(cid, item, pos)
  local days = 30
  local daysvalue = days * 24 * 60 * 60
  local storageplayer = getPlayerStorageValue(cid, 13540)
  local timenow = os.time()

    if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then
        time = timenow + daysvalue
      else
      time = storageplayer + daysvalue
    end

    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Han sido implementados ".. days .." dias VIP en tu personaje.")
    setPlayerStorageValue(cid, 13540, time)
    doRemoveItem(item.uid, 1)
  local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Actualmente posees ".. quantity .." dias VIP restantes.")
  return true
end

Sólo había que borrar las líneas que tengan que ver con el money:
Código:
  local price = 2000000
    if doPlayerRemoveMoney(cid, price) == TRUE then
      else
      doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Necesitas "..price.." gp's para adquirir dias VIP.")
    end



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#8 Re: Ayuda con scroll vip el Miér Jul 30, 2014 1:11 pm

God angel


Miembro
belerofonte ayudame bro

#9 Re: Ayuda con scroll vip el Miér Jul 30, 2014 4:53 pm

hoster


Novato
gracias man por ayudarme ahora una ultima duda ya cambie el codigo ahora donde le muevo o agrego el item ke deceo que de la vip con ese codigo?, de antemano belerofonte te agradesco nuevamente

#10 Re: Ayuda con scroll vip el Miér Jul 30, 2014 5:07 pm

Belerofonte


Administrador
vegaxx escribió:bro yo tengo un sistema vip para los player q donan q les da acceso a la zona vip el item tiene dos funciones para poder pasar x la puerta d la zona vip y sobre el player dice vip....

quiera tener dos item q les de acceso a la zona vip a losq donen a los free pero diferentes q uno diga vip para los free y para los q donen diga dnt

eso c puede?
No etendí lo que realmente pides S: pero mejor crea un nuevo Post y exponlo allí lo más detalladamente posible...

[Tienes que estar registrado y conectado para ver este vínculo] escribió:gracias man por ayudarme ahora una ultima duda ya cambie el codigo ahora donde le muevo o agrego el item ke deceo que de la vip con ese codigo?, de antemano belerofonte te agradesco nuevamente
Te lo dije antes:
Data/Actions/Actions.xml:
Código:
<action itemid="8859" event="script" value="Nombre.lua" />
En el itemid pones el ID del objeto que quieras que usen para adquirir la VIP. (asegúrate de que no lo estés usando ya en otro script.



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#11 Re: Ayuda con scroll vip el Jue Jul 31, 2014 8:24 pm

hoster


Novato
Gracias man perdon por la demora una ultima cosa espero ke me ayudes de nuevo man, lo que pasa eske mi server no hace el save le puse un codigo diferente que encontre aki y no lo hace por si solo, cuando pongo el comando /save si lo hace y tambn cuando hace la limpiesa apenas asi si guarda, espero me puedas ayudar man te anexo mi codigo del save:

local config = {
broadcast = {120, 30},
shallow = "no",
delay = 120,
events = 30
}

config.shallow = getBooleanFromString(config.shallow)

local function executeSave(seconds)
if(isInArray(config.broadcast, seconds)) then
local text = ""
if(not config.shallow) then
text = ""
else
text = ""
end

text = text .. "El server Va hacer Guardado En " .. seconds .. " Seg, Server Guardado!"
doBroadcastMessage(text)
end

if(seconds > 0) then
addEvent(executeSave, config.events * 1000, seconds - config.events)
else
doSaveServer(config.shallow)
end
end

function onThink(interval, lastExecution, thinkInterval)
if(table.maxn(config.broadcast) == 0) then
doSaveServer(config.shallow)
else
executeSave(config.delay)
end

return true
end

#12 Re: Ayuda con scroll vip el Jue Jul 31, 2014 8:30 pm

Nights


Moderador
Prueba con este:
Código:
local config = {
   broadcast = {120, 30},
   flags = 13,
   delay = 120,
   events = 30
}

local function executeSave(seconds)
   if(isInArray(config.broadcast, seconds)) then
      doBroadcastMessage("Server save within " .. seconds .. " seconds, please mind it may freeze!")
   end

   if(seconds > 0) then
      addEvent(executeSave, config.events * 1000, seconds - config.events)
   else
      doSaveServer(config.flags)
   end
end

function onThink(interval)
   if(table.maxn(config.broadcast) == 0) then
      doSaveServer(config.flags)
   else
      executeSave(config.delay)
   end

   return true
end



Normas:


[Tienes que estar registrado y conectado para ver esa imagen]

Firma:
[Tienes que estar registrado y conectado para ver esa imagen]












[Tienes que estar registrado y conectado para ver esa imagen]
[Tienes que estar registrado y conectado para ver esa imagen]
http://www.lokotserver.weebly.com

#13 Re: Ayuda con scroll vip el Vie Ago 01, 2014 1:29 am

hoster


Novato
nights y velero son grandes manes muchas gracias en vdd se los agradesco por ayudarme en mis pequeños errores les agradesco de ante mano la vdd no hay forma de agradecer

#14 Re: Ayuda con scroll vip Hoy a las 11:25 am

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.

 

¿Quién está en línea?

En total hay 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .