Dirección Ip
Conectarse

Recuperar mi contraseña

Buscar
 
 

Resultados por:
 

 


Rechercher Búsqueda avanzada

Mejores posteadores
XxStroksxX (462)
 
~*~[:Đαяќ:]~[:тιβια:]~*~ (366)
 
spoor (83)
 
Dj Pacos (73)
 
God Skit (68)
 
GoD MexicanSoul (40)
 
fuzzy (35)
 
Eddie (31)
 
GOD Chimito (30)
 
conalep1996 (23)
 

Últimos temas
» [???] [Super Naruto OT]
Lun Jun 08, 2015 12:08 pm por keishmer91

» [ACTION] God/GM da item a un player
Mar Dic 02, 2014 12:53 pm por hecmanos

» [8.60] Nuevo War Thais By TheRobertxon
Vie Jun 20, 2014 10:56 am por luismc

» [7.92]Naruto Final Story!
Dom Mayo 26, 2013 2:40 am por ricardotuck

» [9.1] Fun Server
Mar Mayo 14, 2013 5:32 pm por skifer

» [9.1] The Forgotten Server v0.2.11pl2 (Mystic Spirit)
Mar Mayo 14, 2013 5:29 pm por skifer

» New Map 8.60 (Darksystem) By: Turock & Gilio LIsto Arreglado El
Mar Mayo 07, 2013 5:27 pm por tonyso

» Ocean Clasic Global Map 8.6
Miér Mayo 01, 2013 11:19 pm por maganiua

» ayuda a abrir puertos
Lun Abr 29, 2013 5:58 pm por XxStroksxX

» [8.60] Speedy War
Dom Abr 28, 2013 5:51 pm por Sunnade'Audio

Upload Images
ImagesHack
Scanner
VirusTotal

[Varios] El mejor sistema vip Modificado por mi

Ver el tema anterior Ver el tema siguiente Ir abajo

[Varios] El mejor sistema vip Modificado por mi

Mensaje por God Rakzzo el Sáb Ene 29, 2011 6:29 pm

AKI PARA LOS K USAN ""PHPMYADMIN""
AKI LES DEJO EL MEJOR SISTEMA VIP...LO ENKONTRE VAGANDO POR LA INTERNET PERO TODOS LOS K ME DAVAN ESE
SISTEMA ESTAVAN MAL HECHOS ASI K ME PASE 1 DIA ENTERO ENCONTRANDO KADA DETALLE DE LOS ERRORES HASTA K PORFIN LO LOGRE ACOMODAR ..AKI LES DEJO :
uso:
Bien, les explicare el sistema.. La mayoria de los sistemas vip usan un globalevent
para remover 1 dia vip cada 2 horas, pero, que pasa si el servidor
lleva abierto 23 horas y se cae? El dia no seria removido, tendrias que
esperar otras 24 hroas para que pueda ser removido, en este sistema vip
ese error esta arreglado.. ahora el dia vip sera removido a una hora del
dia especifica, si lo pones a las 2pm, entonces a esa hora sera
removido el dia vip, asi si el servidor se cae por 3 minutos, no tendras
que esperar otras 24horas, igual se seguira removiendo el dia vip a las
2pm.

  • Funciones LUA
  • Removedor automatico de dias vip.
  • Piso vip.
  • onLogin script para ver si el player es vip.
  • Medalla vip.
  • Comando para remover dias vip.
  • Comando para agregar dias vip.


""EL MEJOR SISTEMA VIP"" [SUPER DETALLADO] (creo k me llevare 1 hora haciendo este post) jeje ::

empezemos:

Ve a tu phpmyadmin abre tu base de datos en la parte que diga account y ejecuta y la pestaña SQL:
te aparecera un recuadro donde aparecera esto SELECT * FROM `accounts` WHERE 1 borralo y deveras pegar lo siguiente::
Código:
[color=#993333][b]ALTER[/b][/color] [color=#993333][b]TABLE[/b][/color] [color=#ff0000]`accounts`[/color] [color=#993333][b]ADD[/b][/color]
[color=#ff0000]`vipdays`[/color] int[color=#66cc66]([/color][color=#cc66cc]11[/color][color=#66cc66])[/color] [color=#993333][b]NOT[/b][/color] [color=#993333][b]NULL[/b][/color] [color=#993333][b]DEFAULT[/b][/color] [color=#cc66cc]0[/color];

les quedara algo asi:


si siguieron bien los pasos abran la lista de las account deve de kedarle algo asi::


ahora van a data/lib/function.lua

y escriben esto arriva de todo::

Código:
function getPlayerVipDays(cid)
    local Info = db.getResult("SELECT `vipdays` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")
        if Info:getID() ~= LUA_ERROR then
        local days= Info:getDataInt("vipdays")
        Info:free()
        return days
    end
    return LUA_ERROR
end

function doAddVipDays(cid, days)
    db.executeQuery("UPDATE `accounts` SET `vipdays` = `vipdays`  " .. days .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
end

function doRemoveVipDays(cid, days)
    db.executeQuery("UPDATE `accounts` SET `vipdays` = `vipdays` - " .. days .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
end

Una vez hecho, agrega esta linea en data/creaturescript/login.lua ojo. pegalo hasta el final antes de donde diga return true::
Código:
registerCreatureEvent(cid, "VipCheck")
Ahora en data/creaturescript/scripts crea un nuevo archivo y llamalo vipcheck.lua y pega esto:

Código:
function onLogin(cid)
        if getPlayerVipDays(cid) >= 1 then
            doPlayerSendTextMessage(cid, 19, "You have ".. getPlayerVipDays(cid) .." vip days left.")
        end
        return true
end

data/creaturescript/creaturescript.xml pega esto ::


Código:
<event type="login" name="VipCheck" event="script" value="vipcheck.lua"/>

Ahora, ve a data/globalevents/scripts/, crea un nuevo archivo y llamalo daysremover.lua y le pegas esto dentro:
Código:
function onTimer()
                db.executeQuery("UPDATE accounts SET vipdays = vipdays - 1 WHERE vipdays > 0;")
        return true
end


data/globalevents/globanevents.xml ::
Código:
<globalevent name="VipDaysRemover" time="00:01" event="script" value="daysremover.lua"/>

Puedes cambiar la hora en la que el dia vip sera removido donde dice: (time="00:01").

Si tienes 1 o mas dias vip, cuando conectes te saldra el siguiente mensaje:


---PISO VIP---

data/movements/scripts/viptile.lua <-----CREA UN ARCHIVO LLAMADO ASI: pegale dentro lo sig.:

Código:
function onStepIn(cid, item, position, fromPosition)
        if getPlayerVipDays(cid) == 0 then
            doTeleportThing(cid, fromPosition, FALSE)
        end
return true
end

data/movements/movements.xml agrega esto:
Código:
<movevent type="StepIn" actionid="3168" event="script" value="viptile.lua"/>
donde dice "3168" es el numero de la accion se puede modificar pero no se los recomiendo seria cambiarle a todo XD
En tu map editor, ponle actionid 11223 al piso que quieres que sea solo para vips.

MEDALLA VIP

data/actions/scripts/vipmedal.lua <--NO SE LES OLVIDE LLAMARLO ASI ..dentro le pegan esto

Código:
function onUse(cid, item, fromPosition, itemEx, toPosition)
        if getPlayerVipDays(cid) > 365 then
            doPlayerSendCancel(cid, "You can only have 1 year of vip account or less.")
        else
            doAddVipDays(cid, 30)
            doCreatureSay(cid, "VIP")
            doPlayerPopupFYI(cid, "We have added 30 vip days to your account!\nEnjoy it!.")
            doRemoveItem(item.uid)
        end
        return true
end

ahora en action.xml agrega esto.::

Código:
<action itemid="10140" event="script" value="vipmedal.lua"/>

COMANDO PARA AGREGAR Y REMOVER LOS DIAS VIP

data/talkactions/scripts/adddays.lua <--LO LLAMAS ASI..LE PEGAS LO SIGUIENTE ADENTRO::

Código:
function onSay(cid, words, param, channel)
        if(param == '') then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")
                return true
        end
 
        local t = string.explode(param, ",")
        t[1] = tonumber(t[1])
        if(not t[1]) then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires numeric param.")
                return true
        end
 
        local pid = cid
        if(t[2]) then
                pid = getPlayerByNameWildcard(t[2])
                if(not pid) then
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[2] .. " not found.")
                        return true
                end
        end
 
        if(t[1] > 365) then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You can only add max 365 vip days.")
                return true
        end
 
        sender = getPlayerByNameWildcard(cid)
 
    doAddVipDays(pid, t[1])
    doPlayerSendTextMessage(cid, "You have added ".. t[1] .." vip days to ".. t[2])
    doPlayerSendTextMessage(pid, sender .." just added you ".. t[1] .." vip days.")   
        return true
end

en DATA/TALKACTION/SCRIPTS/removedays <--lo llamas asi y le pegas esto dentro::
Código:
function onSay(cid, words, param, channel)
        if(param == '') then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.")
                return true
        end
 
        local t = string.explode(param, ",")
        t[1] = tonumber(t[1])
        if(not t[1]) then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires numeric param.")
                return true
        end
 
        local pid = cid
        if(t[2]) then
                pid = getPlayerByNameWildcard(t[2])
                if(not pid) then
                        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player " .. t[2] .. " not found.")
                        return true
                end
        end
 
        if(t[1] > 365) then
                doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You can only add max 365 vip days.")
                return true
        end
 
        sender = getPlayerByNameWildcard(cid)
 
    doRemoveVipDays(pid, t[1])
    doPlayerSendTextMessage(cid, "You have removed ".. t[1] .." vip days to ".. t[2])
    doPlayerSendTextMessage(pid, sender .." just removed you ".. t[1] .." vip days.")   
        return true
end

EN TALKACTION.XML agrega esto:: ojo : agregalo en los talkactions del GOD::

Código:
<talkaction log="yes" words="/removedays" access="5" event="script" value="removedays.lua"/>
<talkaction log="yes" words="/adddays" access="5" event="script" value="adddays.lua"/>

PUERTA VIP

en data/actions/scripts creas un archivo llamado vipdoor.lua
le pegas esto dentro_::
Código:
function onUse(cid, item, frompos, item2, topos)
        if getPlayerVipDays(cid) >= 1 then
            pos = getPlayerPosition(cid)
            if pos.x == topos.x then
              if pos.y < topos.y then
                  pos.y = topos.y  1
              else
                  pos.y = topos.y - 1
              end
            elseif pos.y == topos.y then
                  if pos.x < topos.x then
                      pos.x = topos.x  1
                  else
                      pos.x = topos.x - 1
                  end
            else
                doPlayerSendTextMessage(cid,22,"Stand in front of the door.")
            return true
            end
            doTeleportThing(cid,pos)
            doSendMagicEffect(topos,12)
        else
            doPlayerSendTextMessage(cid,22,'Only VIP Account can go there.')
        end
        return true
end

en action.xml agregas esto::
Código:
 <action actionid="1920" event="script" value="vipdoor.lua"/>

REKUERDA K EN TU MAP EDITOR DEVES AGREGAR TODAS LAS ACCIONES !!

EL EFECTO VIP NO SE LO PUSE A MI SERVER POR K ME PARECIO ALGO K ESTA DE MAS ..SIMPLE..NO ME AGRADO::POR ESO NO SE SI ESTE BIEN O MAL PERO AUN ASI SE LOS POSTEO SI TIENE ALGUN ERROR FAVOR DE DECIRME:::

EFFECTO VIP

globalevents/scripts/vipEffect.lua <--ASI LO LLAMAN AL ARCHIVO Y LE PEGAN ESTO::


Código:
function onThink(interval, lastExecution)
        for _, name in ipairs(getOnlinePlayers()) do
        local cid = getPlayerByName(name)
              if getPlayerVipDays(cid) >= 1 then
                  doSendMagicEffect(getPlayerPosition(cid), 27)
              end
        end
        return true
end

y en globalevent.xml agregan lo siguiente::

Código:
<globalevent name="vipEffect" interval="2" script="vipEffect.lua"/>

Y LISTO!!! YA TIENEN EL MEJOR SISTEMA VIP xD

ACCIONES::

/adddays(espacio)(numerodedias k le agregaran)(,coma)(espacio)(namedelchar) -> /adddays 30, ckripz
/removedays(espacio)(numerodedias k le removeran)(,coma)(espacio)(namedelchar) -> /removedays 10, ckripz

PARA MI UN GRAN ESFUERZO PODER HACER ESTE TUTORIAL ESPERO Y AGRADESCAN MI ESFUERZO
-----ES HASTA AHORA EL MEJOR SISTEMA VIP--- Y SE LOS DEJO A USTEDES CON EL FIN DE K ESTE TUTO SEA BIEN PUBLIKADO
Y NO COPIADO POR OTRAS PERSONAS SOLO ES PARA ESTE FORO ---PARA K SEA MAS MEJOR DE LO K ES---
GRACIAS--

REP SI LES SIRVIO

creditos:: KEKO´X
Y MODIFICADO POR MI
avatar
God Rakzzo

Fisgón
Fisgón

+ New User +
Masculino Mexico Libra Cabra
Edad Edad : 26
Mensajes Mensajes : 12
Localización Localización : Me kieres secuestrar??
Fecha de inscripción Fecha de inscripción : 29/01/2011

Ver perfil de usuario

Volver arriba Ir abajo

Re: [Varios] El mejor sistema vip Modificado por mi

Mensaje por XxStroksxX el Sáb Ene 29, 2011 10:32 pm

Aporte Bueno, pero de que se trata?

De dias?

+REP


Spoiler:

Ecuador


->Futbol Club Fans F.C.B<-

█║▌│ █│║▌ ║││█║▌ │║║█║
τσdσs lσs Dεяεcнσs яεsεяvαdσs
cσρчяιgнτ-XxStroksxX ©️ 2010-2012
avatar
XxStroksxX

+ Administrador +
+ Administrador +

¡Sorcerer Rapero!
Masculino España Géminis Cerdo
Chrome
Edad Edad : 22
Mensajes Mensajes : 462
Localización Localización : Barcelona
Fecha de inscripción Fecha de inscripción : 01/08/2010

Hoja de personaje
Personaje: Khail Phount
Vocation: Knight
Mundo: Infernia

Ver perfil de usuario http://www.otserv.biz/

Volver arriba Ir abajo

Re: [Varios] El mejor sistema vip Modificado por mi

Mensaje por God Rakzzo el Dom Ene 30, 2011 7:26 am

si men de dias
avatar
God Rakzzo

Fisgón
Fisgón

+ New User +
Masculino Mexico Libra Cabra
Edad Edad : 26
Mensajes Mensajes : 12
Localización Localización : Me kieres secuestrar??
Fecha de inscripción Fecha de inscripción : 29/01/2011

Ver perfil de usuario

Volver arriba Ir abajo

Re: [Varios] El mejor sistema vip Modificado por mi

Mensaje por XxStroksxX el Dom Ene 30, 2011 11:52 am

aya bn


Spoiler:

Ecuador


->Futbol Club Fans F.C.B<-

█║▌│ █│║▌ ║││█║▌ │║║█║
τσdσs lσs Dεяεcнσs яεsεяvαdσs
cσρчяιgнτ-XxStroksxX ©️ 2010-2012
avatar
XxStroksxX

+ Administrador +
+ Administrador +

¡Sorcerer Rapero!
Masculino España Géminis Cerdo
Chrome
Edad Edad : 22
Mensajes Mensajes : 462
Localización Localización : Barcelona
Fecha de inscripción Fecha de inscripción : 01/08/2010

Hoja de personaje
Personaje: Khail Phount
Vocation: Knight
Mundo: Infernia

Ver perfil de usuario http://www.otserv.biz/

Volver arriba Ir abajo

Re: [Varios] El mejor sistema vip Modificado por mi

Mensaje por ~*~[:Đαяќ:]~[:тιβια:]~*~ el Dom Ene 30, 2011 1:09 pm

WTf pero es solo para pagina y tibia?



¡Hola, ~*~[:Đαяќ:]~[:тιβια:]~*~ Bienvenido/a al foro OTServ !
Por favor lee las Normas
¡Para Evitar Ser Sancionado (Y Sikieres Jugar Tibia Dale Click Abajo)!

Chaosserv.no-ip.info

ENTREN XD
avatar
~*~[:Đαяќ:]~[:тιβια:]~*~

+ Moderador +
+ Moderador +

*~Elder Wolf~*
Masculino Mexico Virgo Cerdo
Chrome
Edad Edad : 22
Mensajes Mensajes : 366
Localización Localización : :O ala versh XD
Fecha de inscripción Fecha de inscripción : 29/01/2011

Ver perfil de usuario http://www.chaosserv.no-ip.info

Volver arriba Ir abajo

Re: [Varios] El mejor sistema vip Modificado por mi

Mensaje por ArkothFEAR el Jue Dic 22, 2011 11:02 pm

Para a todo aquel que no le este funcionando este sistema,a God Rakzzo se le fue un minimo detalle en la programacion.
Código:
[b]function getPlayerVipDays(cid)
    local Info = db.getResult("SELECT `vip_time` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. " LIMIT 1")
        if Info:getID() ~= LUA_ERROR then
        local days= Info:getDataInt("vip_time")
        Info:free()
        return days
    end
    return LUA_ERROR
end

function doAddVipDays(cid, days)
    db.executeQuery("UPDATE `accounts` SET `vip_time` =`vip_time` + " .. days .. " WHERE `id` = " ..getPlayerAccountId(cid) .. ";")
end

function doRemoveVipDays(cid, days)
    db.executeQuery("UPDATE `accounts` SET `vip_time` =`vip_time` - " .. days .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
end[/b]

le falta el signo de + despues de `vip_time`



Smile Gracias
avatar
ArkothFEAR

Infiltrado
Infiltrado

+ New User +
Masculino Mexico Capricornio Cabra
Firefox
Edad Edad : 25
Mensajes Mensajes : 2
Localización Localización : Reynosa
Fecha de inscripción Fecha de inscripción : 22/12/2011

Ver perfil de usuario

Volver arriba Ir abajo

Re: [Varios] El mejor sistema vip Modificado por mi

Mensaje por ArkothFEAR el Jue Dic 22, 2011 11:06 pm

aaaaa se me olvido! Muchas gracias carnal! EXCELENTE APORTACION
avatar
ArkothFEAR

Infiltrado
Infiltrado

+ New User +
Masculino Mexico Capricornio Cabra
Firefox
Edad Edad : 25
Mensajes Mensajes : 2
Localización Localización : Reynosa
Fecha de inscripción Fecha de inscripción : 22/12/2011

Ver perfil de usuario

Volver arriba Ir abajo

Re: [Varios] El mejor sistema vip Modificado por mi

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

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