BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Que cambie el nombre segun el level..

Que cambie el nombre segun el level..

#1 Que cambie el nombre segun el level.. el Lun Oct 21, 2013 10:45 am

Hellscors


Miembro
Hola

Bueno ,hoy vengo a pedirles un script ,que ojala y alguien lo tenga por ahi:3


Caracteristicas:

Se trata que por ejemplo mi mono se llama "Kodixia" ,y al llegar a lvl 500 ,quiero que Automaticamente lo logie ,y le cambie el nombre a [PRO] Kodixia ,y al llegar al level 1000 ,igual Automaticamente lo logie ,y en ves de decir "[PRO]" diga [FURY] Kodixia osea que le quite el nick "PRO" y lo cambie por [FURY] ,y por ultimo que al ser level 1500 ,Te cambie el [FURY] y se ponga [DNT] Kodixia .........


Descripcion:
Que al ser el level que ocupas ,automaticamente[debolada xd] te cambie el nombre ,al que dije



Espero sus respuestas

http://www.blacktibia.org/t32971-86-prestige-imperia-ot-server-h

#2 Re: Que cambie el nombre segun el level.. el Lun Oct 21, 2013 12:55 pm

Falcón


Estudiante
data/creaturescripts/newlevel.lua
Código:
local tags = {
    {500, "PRO"},
}

function onAdvance(cid, skill, oldlevel, newlevel)
    for _, f in ipairs(tags) do
        if(getPlayerStorageValue(cid, 60371) ~= 1 and skill == SKILL__LEVEL and newlevel >= 200) then
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You advanced to new level, your new tag is [" .. f[2] .. "]")
              db.executeQuery("UPDATE `players` SET `name` = '[" .. f[2] .. "] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")
              setPlayerStorageValue(cid, 60371, 1)
      end
        return TRUE
        end
end
Xml:
Código:
<event type="advance" name="tagName" event="script" value="newlevel.lua"/>
Registralo en login.lua:
Código:
registerCreatureEvent(cid, "tagName")
Ya lo probé en otx y funciona ::
[Tienes que estar registrado y conectado para ver esa imagen]
[Tienes que estar registrado y conectado para ver esa imagen]

Voy de salida, si puedes dile que alguien te lo edite, para el de FURY, o cuando llege lo completo, pro con [PRO] Ya funciona.



Última edición por Falcón el Lun Oct 21, 2013 1:26 pm, editado 1 vez

#3 Re: Que cambie el nombre segun el level.. el Lun Oct 21, 2013 1:15 pm

CyberM


Scripter
segun falcone, al morir: [PRO] [PRO] [PRO] [PRO] [PRO] [PRO] [PRO] playername

#4 Re: Que cambie el nombre segun el level.. el Lun Oct 21, 2013 1:26 pm

Falcón


Estudiante
Cierto XD, perdon ,
Código:
local tags = {
    {500, "PRO"},
}

function onAdvance(cid, skill, oldlevel, newlevel)
    for _, f in ipairs(tags) do
        if(getPlayerStorageValue(cid, 60371) ~= 1 and skill == SKILL__LEVEL and newlevel >= 200) then
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You advanced to new level, your new tag is [" .. f[2] .. "]")
              db.executeQuery("UPDATE `players` SET `name` = '[" .. f[2] .. "] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")
              setPlayerStorageValue(cid, 60371, 1)
      end
        return TRUE
        end
end
Solucionado, ya lo revise

#5 Re: Que cambie el nombre segun el level.. el Lun Oct 21, 2013 1:35 pm

DavidR


Moderador
Y como harás con el 2do?
Porque entonces será algo como:
lvl 500: [PRO] One Test
lvl 1000: [FURY] [PRO] One Test

Y sería mejor si pusieras el storage en la tabla. Porque en tu script, si uno intenta añadir más tags, no se las dará debido al storage...


Saludos...

http://www.blacktibia.org/

#6 Re: Que cambie el nombre segun el level.. el Lun Oct 21, 2013 1:40 pm

CyberM


Scripter
puedes ahorrarte los storages haciendo un chequeo del nombre aver si tiene "[string] nombre" y entonces hacer el cambio
y no te recomiendo ejecutar cambios en la db al player estando online

#7 Re: Que cambie el nombre segun el level.. el Lun Oct 21, 2013 1:42 pm

Strack


Scripter
Si van a usar storages que sea para guardar el nombre original y hacerlo mas sencillo ([tag]+storageValue()), sinó no es necesario.
Al llegar al lvl, si tiene el tag en el nombre no te lo pone, y si no lo tiene sí lo pone, sencillo

#8 Re: Que cambie el nombre segun el level.. el Lun Oct 21, 2013 2:55 pm

Ledtherón


Miembro
Prueba con este, no lo he testeado pero podria parar bots al subir de nivel, no se si admites bots, pero tambien podria ser usado para mal, si quieres hago que con un comando lo obtengan solo si subieron nivel para que no lo usen en pelea, solo en pz
Aqui va
Código:

local tag = {
[100] = "[PRO]",
[200] = "[ASSASSIN]",
}
local storage1 = 1305
local storage2 = 1306
nameresult = ""
local removesec = 2
function onAdvance(cid, skill, oldLevel, newLevel)
if tag[newLevel] then
if getPlayerStorageValue(cid, storage1) == -1 then
setPlayerStorageValue(cid, storage1, 1)
setPlayerStorageValue(cid, storage2, getCreatureName(cid))
nameresult = ""..tag[newLevel].." "..getCreatureName(cid)..""
else
nameresult = ""..tag[newLevel].." "..getPlayerStorageValue(cid, storage2)..""
end
db.query("UPDATE `players` SET `name` = '"..nameresult.."' WHERE `id` = "..getPlayerGUID(cid)..";")
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You advanced level, new tag is "..tag[newLevel].."")
addEvent(doRemoveCreature, removesec * 1000, cid)
return true
end
return true
end

http://tibia-infinity.malware-site.www

#9 Re: Que cambie el nombre segun el level.. el Lun Oct 21, 2013 3:43 pm

CyberM


Scripter
aun siguen con lo de los storages? Yao ming
reemplaza @ data\creaturescripts\scripts\advancesave.lua
Código:

local config = {
   savePlayersOnAdvance = true
}

local name =
   {
      [500] = '[PRO]',   [1000] = '[FURY]',   [1500] = '[DNT]',
   }

function clean_name(old)
   return old:gsub('(.*)]%s', '')
end

function set_name(GUID, name)
   return db.executeQuery('update players set name = "' .. name .. '" where id = ' .. GUID)
end

function onAdvance(cid, skill, oldLevel, newLevel)
   if(config.savePlayersOnAdvance) then
      doPlayerSave(cid, true)
   end

   for level, tag in pairs(name) do
      if newLevel == level then
         addEvent(set_name, 1000, getPlayerGUID(cid), tag .. ' ' .. clean_name(getCreatureName(cid)))
         doRemoveCreature(cid)
         break
      end
   end

   return true
end
ahi esta lo que pediste literalmente al pie de la letra

desventaja obvia y sin remedio: el player tiene que cerrar el login window, poner su cuenta y clave de nuevo pq sale error

#10 Re: Que cambie el nombre segun el level.. el Lun Oct 21, 2013 7:50 pm

Yuekio


Novato
y que tal si le queremos cambiar el nombre a un Monstruo ?? como para hacer un clon?

#11 Re: Que cambie el nombre segun el level.. el Lun Oct 21, 2013 8:00 pm

Ledtherón


Miembro
Me han dicho y han puesto en post varias veces, men eso no se puede a no ser que uses source edit

http://tibia-infinity.malware-site.www

#12 Re: Que cambie el nombre segun el level.. el Lun Oct 21, 2013 8:02 pm

Strack


Scripter
@Yuekio
necesitarás compilar sources:
link a Otland:
[Tienes que estar registrado y conectado para ver este vínculo]

@cyberM
Código:

for level, tag in pairs(name) do
      if newLevel == level then
         addEvent(set_name, 1000, getPlayerGUID(cid), tag .. ' ' .. clean_name(getCreatureName(cid)))
         doRemoveCreature(cid)
         break
      end
end
nab

Código:

if name[newLevel] then
    addEvent(set_name, 1000, getPlayerGUID(cid), name[newLevel] .. ' ' .. clean_name(getCreatureName(cid)))
    doRemoveCreature(cid)
end

#13 Re: Que cambie el nombre segun el level.. el Lun Oct 21, 2013 11:45 pm

Hellscors


Miembro
Primero probè el de CyberM ,y no me funciono :c ,no me marca error ni nada pero no funciono D:....... al llegar a lvl 500 nada de nada :B..


---------------------------------------------------------------------------

Despues probe el 2do del falcòn ,porque vi que se equivoco en el 1ro xd ,y si me funciono ,PERO ...PERO xd.....Solo es el nick name de [PRO] para llegar a lvl 500 ,osea no esta no puso para el de 1000 y el del 1500 :B

-----------------------------------------------------------------------------

Ledtherón <----- Funcionaria igual por medio de comando ? ,me refiero que al llegar a lvl 500 por ejemplo:

El player diga !stag500 ,y ya le aparesca [PRO] Ledtherón
Al llegar a lvl 1000 ,diga !stag100 y le aparesca [ASSASSIN] Ledtherón (PERO QUE -NO- Le aparesca asi este error: [ASSASSIN] [PRO] Ledtherón ,osea que le quite el 1er stag LO REMPLAZE para que me entiendas......


Strack <----- Tu Script es para mi probelma o para el de Yuekio ,osea me refiero para si es para mi instalarlo jejej...... ave rsi funciona claro ,pero igual nomas seria para el de lvl 500 queno?

http://www.blacktibia.org/t32971-86-prestige-imperia-ot-server-h

#14 Re: Que cambie el nombre segun el level.. el Mar Oct 22, 2013 7:11 am

Belerofonte


Administrador
@Up, en esta parte:
Código:
local tags = {
    {500, "PRO"},
}
Editas los niveles & tags añadiéndo todas las líneas que quieras, en plan:
local tags = {
-- {Nivel, "TAG"}.
   {500, "Maniaco"},
   {1000, "Asesino"},
   {1500, "Psicopata"},
   {2000, "Cabronazo"},
}



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]

#15 Re: Que cambie el nombre segun el level.. el Mar Oct 22, 2013 8:47 am

CyberM


Scripter
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Primero probè el de CyberM ,y no me funciono :c ,no me marca error ni nada pero no funciono D:....... al llegar a lvl 500 nada de nada :B..


---------------------------------------------------------------------------

Despues probe el 2do del falcòn ,porque vi que se equivoco en el 1ro xd ,y si me funciono ,PERO ...PERO xd.....Solo es el nick name de [PRO] para llegar a lvl 500 ,osea no esta no puso para el de 1000 y el del 1500 :B

-----------------------------------------------------------------------------

Ledtherón <----- Funcionaria igual por medio de comando ? ,me refiero que al llegar a lvl 500 por ejemplo:

El player diga !stag500 ,y ya le aparesca [PRO] Ledtherón
Al llegar a lvl 1000 ,diga !stag100 y le aparesca [ASSASSIN] Ledtherón (PERO QUE -NO- Le aparesca asi este error: [ASSASSIN] [PRO] Ledtherón ,osea que le quite el 1er stag LO REMPLAZE para que me entiendas......


Strack <----- Tu Script es para mi probelma o para el de Yuekio ,osea me refiero para si es para mi instalarlo jejej...... ave rsi funciona claro ,pero igual nomas seria para el de lvl 500 queno?
Pues asegúrate de que el advancesave tenga su linea en creaturescripts.xml y que este registrado en login.lua porque a mi si me funciono, es realmente innecesario tener que usar storage en este script

[Tienes que estar registrado y conectado para ver este vínculo] escribió:
@cyberM
Código:

for level, tag in pairs(name) do
      if newLevel == level then
         addEvent(set_name, 1000, getPlayerGUID(cid), tag .. ' ' .. clean_name(getCreatureName(cid)))
         doRemoveCreature(cid)
         break
      end
end
nab

Código:

if name[newLevel] then
    addEvent(set_name, 1000, getPlayerGUID(cid), name[newLevel] .. ' ' .. clean_name(getCreatureName(cid)))
    doRemoveCreature(cid)
end
[Tienes que estar registrado y conectado para ver esa imagen]eres despreciable



Última edición por CyberM el Mar Oct 22, 2013 10:28 am, editado 2 veces

#16 Re: Que cambie el nombre segun el level.. el Mar Oct 22, 2013 10:17 am

Hellscors


Miembro
@Belerofonte

Quedaria asi?:


Código:
local tags = {
    {500, "PRO"},
    {500, "ASSASIN"},
    {500, "DNT"}
}

function onAdvance(cid, skill, oldlevel, newlevel)
    for _, f in ipairs(tags) do
        if(getPlayerStorageValue(cid, 60371) ~= 1 and skill == SKILL__LEVEL and newlevel >= 200) then
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You advanced to new level, your new tag is [" .. f[2] .. "]")
               db.executeQuery("UPDATE `players` SET `name` = '[" .. f[2] .. "] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")
               setPlayerStorageValue(cid, 60371, 1)
       end
        return TRUE
        end
end
Pero belerofonte por ejemplo ,al ser level 1000 se le quitaria el primer stag osea el [PRO] o se le pondria [ASSASIN] [PRO] Name?


CyberM ->Mi server no tiene carpeta Login.lua ,pro no creo que tenganada que ver ,porque eh instalado otros scripts como el Frags y death s look y si me funciono sin poer e login lua .solo en xml y el script.

http://www.blacktibia.org/t32971-86-prestige-imperia-ot-server-h

#17 Re: Que cambie el nombre segun el level.. el Mar Oct 22, 2013 10:37 am

CyberM


Scripter
no hablaba de ninguna carpeta login.lua, aveces me impresiona las cosas sencillas que ustedes no saben buscar ni con Ctrl+F
/data/creaturescripts/scripts/login.lua
/data/creaturescripts/creaturescripts.xml
Revisa bien lo que te he escrito, en serio estas desperdiciando un storage cuando no hay necesidad de usarlos

#18 Re: Que cambie el nombre segun el level.. el Mar Oct 22, 2013 11:30 pm

Hellscors


Miembro
@Up

Falcòn :,c <------ tu scrip arruino mi server T_T ,okey no tanto como arruino nollege la secu y me encuentro con que TODOS tienen e nombre de [PRO] hasta los de lvl 190 D:

Ya se Cyber ,aunque no tena sa carpeta login ,TENGA NO TENGA no me sirvio tu script :c


Falcon:c ,YUJU ahora resulta que nadie vio mi respuesta :c siempre es asi :B

http://www.blacktibia.org/t32971-86-prestige-imperia-ot-server-h

#19 Re: Que cambie el nombre segun el level.. el Jue Oct 31, 2013 3:00 pm

Hellscors


Miembro
@Up My Post D:

Tdos vieron queno me sirvio su sript y ya no contest:cccccccccc

http://www.blacktibia.org/t32971-86-prestige-imperia-ot-server-h

#20 Re: Que cambie el nombre segun el level.. el Jue Oct 31, 2013 4:13 pm

DavidR


Moderador
1: Lo de los players todos con el [PRO] te pasa por poner un script en tu server sin siquiera 'testearlo' previamente.

2: Dudo que te respondan ya que te explicaron paso a paso como hacer las cosas, y al parecer sigues sin saber como hacerlo.

Relajate un poco, calmate, LEE poco a poco las indicaciones, y haces lo que te dijeron que tienes que hacer. Y ya.


PD: Login.lua es un archivo, no una carpeta. Con tener el .lua ya se sabe que es un archivo. Y, de todas formas, además, CyberM te mencionó donde está ubicado dicho archivo:
[Tienes que estar registrado y conectado para ver este vínculo] escribió:no hablaba de ninguna carpeta login.lua, aveces me impresiona las cosas sencillas que ustedes no saben buscar ni con Ctrl+F
/data/creaturescripts/scripts/login.lua
/data/creaturescripts/creaturescripts.xml
Revisa bien lo que te he escrito, en serio estas desperdiciando un storage cuando no hay necesidad de usarlos
... [Tienes que estar registrado y conectado para ver este vínculo] <<<

Saludos, relájate un poco, y lee.

http://www.blacktibia.org/

#21 Re: Que cambie el nombre segun el level.. el Jue Oct 31, 2013 7:02 pm

Nights


Moderador
Hellscors ami me sirvio el de CyberM.... agrega bien todo como va ._.

TuOt/Data/Creaturescripts/Scripts

en login.lua registra el evento Asi;
Código:
registerCreatureEvent(cid, "NOMBRE DEL EVENTO")
y en creaturescripts.xml
Código:
<event type="advance" name="NOMBREDELEVENTO" event="script" value="NOMBREDELSCRIPT.lua"/>
y asi te funcionara el script de CyberM

._. la neta nose como tienes un server...



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

#22 Re: Que cambie el nombre segun el level.. el Jue Oct 31, 2013 8:09 pm

Hellscors


Miembro
No me exaltè DavidR ,intentare de nuevo ,pero si no lo rnimodo:B


Ashush ,puse todo como va ok(:? ,excepto en archivo login.lua ,porque no tengo

Jajaja que estupidez....fuiste CM (malo).......y entre semana tengo mas de 20,30 personas online y en fines màs....record:163 personas

http://www.blacktibia.org/t32971-86-prestige-imperia-ot-server-h

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 .