Ir a contenido

Foto

[TUTORIAL] Poner Itemshop ingame


  • Please log in to reply
68 Respuesta(s) a este Tema
Metin2

#1
Zoltrix

Zoltrix

    Forero

  • Miembro
  • MarcarMarcarMarcarMarcarMarcar
  • 96 Mensaje(s)

*
MENSAJE POPULAR!

Poner Itemshop ingame

 

 

Hola buenas a todos, estamos ante uno de los acontecimientos mas importantes de Metin2 Zone en los últimos tiempos e.e

Alguien se digna a postear algo tan útil e importante para un servidor sin cobrar, hablo de la Itemshop que fue creada por:

 

@SeMa y @Pacificador y ahora publicada por mi @Zoltrix.

 

PbLpu43.jpg

 

En este tutorial explicare paso por paso + un vídeo explicativo sobre como agregar esta Itemshop a nuestro cliente

 

RECOMIENDO SEGUIR EL TUTORIAL INCLUIDO EN LA DESCARGA QUE ENCONTRAREIS MAS ABAJO EN "ARCHIVOS NECESARIOS" PARA EVITAR PROBLEMAS DE TABULACIONES O COSAS POR EL ESTILO

 

Comencemos:

 

TUTORIAL

 

 

------------- C L I E N T E -------------------------------------------------------------------------------------------------------
 
Paso 1:
 
Descomilamos nuestro:
 
1.- root
2.- uiscript
3.- locale_xx
---------------------------------------------------------------------------------------------------------------------------------------
 
Paso 2:
 
Combinamos nuestras carpetas:
 
root
uiscript
 
Con las que he dejado en un link al final del post.
---------------------------------------------------------------------------------------------------------------------------------------
 
Paso 3:
 
Agregamos a nuestro Index la linea:
 
zoltrix_shop_patch
 
Debiendo quedar algo mas o menos asi:
 
---------------------------
---------------------------
--- PACK ---
--- * ---
--- zoltrix_shop_patch ---
--- * ---
---------------------------
---------------------------
 
---------------------------------------------------------------------------------------------------------------------------------------
 
Paso 4:
 
Editamos constinfo.py ubicado en root.
 
Buscamos la linea:
 

Please Login or Register to see this Hidden Content

 
Debajo ponemos:
 

Please Login or Register to see this Hidden Content

---------------------------------------------------------------------------------------------------------------------------------------
 
Paso 5:
 
Agregamos estas lineas a nuestro locale_game
 

Please Login or Register to see this Hidden Content

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

 
Paso 6:
 
Editamos game.py ubicado en root.
 
(Este paso lo clasificare en partes, importante seguir al pie de la letra parte por parte o podria no funcionar):
 
- Parte 1/7:
 
Buscamos:
 

Please Login or Register to see this Hidden Content

 
Debajo ponemos:
 

Please Login or Register to see this Hidden Content

 
- Parte 2/7:
 
Buscamos:
 

Please Login or Register to see this Hidden Content

Debajo ponemos:
 

Please Login or Register to see this Hidden Content

- Parte 3/7:
 
Buscamos:
 

Please Login or Register to see this Hidden Content

 
Debajo ponemos:
 

Please Login or Register to see this Hidden Content

 
- Parte 4/7:
 
Buscamos:
 

Please Login or Register to see this Hidden Content

 
Debajo ponemos: 
 

Please Login or Register to see this Hidden Content

 
- Parte 5/7:
 
Buscamos:
 

Please Login or Register to see this Hidden Content

 
Remplazamos este def completo por este: 
 

Please Login or Register to see this Hidden Content

 
- Parte 6/7:
 
Buscamos:
 

Please Login or Register to see this Hidden Content

 
Debajo ponemos:
 

Please Login or Register to see this Hidden Content

 
- Parte 7/7: (Despues de hacer este paso finaliza la edicion de game.py)
 
Buscamos:
 

Please Login or Register to see this Hidden Content

 
Debajo ponemos: 
 

Please Login or Register to see this Hidden Content

 
---------------------------------------------------------------------------------------------------------------------------------------
 
Paso 7:
 
Editamos uitaskbar.py ubicado en root.
 
Buscamos:
 

Please Login or Register to see this Hidden Content

 
Remplazamos este def completo por este:
 

Please Login or Register to see this Hidden Content

 
Y debajo de este def pondremos este:
 

Please Login or Register to see this Hidden Content

 
Buscamos:
 

Please Login or Register to see this Hidden Content

 
Y debajo añadimos:
 

Please Login or Register to see this Hidden Content

 
---------------------------------------------------------------------------------------------------------------------------------------
 
Paso 8: (Ultimo paso Cliente)
 
Comilamos nuestro:
 
1.- root
2.- uiscript
3.- locale_xx
---------------------------------------------------------------------------------------------------------------------------------------
 
A Q U I   F I N A L I Z A   L A   E D I C I O N   D E L   C L I E N T E,   Y A   D E B E R I A S   P O D E R
A B R I R   L A   I T E M   S H O P   P E R O   A U N   N O   P O D R A S   C O M P R A R
 N A D A   P U E S T O   Q U E   F A L T A   L A   P A R T E   D E L   S E R V E R   Q U E   V E R E M O S
A   C O N T I N U A C I O N...
 
------------- F I L E S -----------------------------------------------------------------------------------------------------------
 
Parte 1:
 
Comprobamos nuestro "quest_function" ubicado en nuestra carpeta "quest" y buscamos la linea:
 
mysql_query
io.open
write
close
 
Si no tenemos resultado agregamos manualmente dichas lineas.
 
Paso 2:
 
Comprobamos nuestro "questlib" y si no tenemos ningun de las siguientes funciones las añadimos:
 
Funciones que debemos tener:
 
- function split
- mysql_query = function(query)
 
Si no tenemos dichas funciones aqui dejo lo que tenemos que agregar a nuestro "questlib".
PD: Yo tube que añadir estas funciones a mi "questlib" y por eso pongo este paso.
 
Agregar a nuestro "questlib" en caso de que no tengamos las funciones requeridas.
 
-- MySQL
function split(str, delim, maxNb)
    if str == nil then return str end
    if string.find(str, delim) == nil then return { str } end
    if maxNb == nil or maxNb < 1 then maxNb = 0 end
    local result = {}
    local pat = "(.-)" .. delim .. "()"
    local nb = 0
    local lastPos
    for part, pos in string.gfind(str, pat) do
        nb = nb + 1
        result[nb] = part
        lastPos = pos
        if nb == maxNb then break end
    end
    if nb ~= maxNb then result[nb + 1] = string.sub(str, lastPos) end
    return result
end
 
mysql_query = function(query)
local version = 55
    if not pre then
        local rt = io.open('CONFIG','r'):read('*all')
        pre,_= string.gsub(rt,'.+PLAYER_SQL:%s(%S+)%s(%S+)%s(%S+)%s(%S+).+','-h%1 -u%2 -p%3 -D%4')
    end
    math.randomseed(os.time())
    local fi,t,out = 'mysql_data_'..math.random(10^9)+math.random(2^4,2^10),{},{}
if version == 51 then
os.execute('mysql '..pre..' --e='..string.format('%q',query)..' > '..fi)
elseif version == 55 then
os.execute('mysql '..pre..' -e'..string.format('%q',query)..' > '..fi)
else
return 0
end
    for av in io.open(fi,'r'):lines() do table.insert(t,split(av,'\t')) end; os.remove(fi);
    for i = 2, table.getn(t) do table.foreach(t[i],function(a,b)
        out[i-1]               = out[i-1] or {}
        out[i-1][a]            = tonumber(b) or b or 'NULL'
        out[t[1][a]]           = out[t[1][a]] or {}
        out[t[1][a]][i-1]      = tonumber(b) or b or 'NULL'
    end) end
    out.__lines = t[1]
    return out
end
--- Mysql END
 
Parte 3:
 
La parte de los files no tiene tonteria como podemos ver, este es el ultimo paso de los files, agregamos simplemente las dos
quest "itemshop.lua, itemshop2.lua" y la carpeta vacia llamada "itemshop" que os he dejado en la carpeta quest a nuestro servidor, 
la colocaremos en la carpeta "quest" de nuestros files, una vez metidas en la carpeta "quest" de nuestros files las cargamos, 
en este tutorial no enseño a cargar una quest puesto que si estas haciendo esto doy por hecho que sabes cagar una quest.
 
------------- E D I T A R   "itemshop2.lua" ---------------------------------------------------------------------------------------
 
En esta quest debemos editar 2 links, dichos links son los siguientes:
 
Buscamos:
 
local file = io.open("/home/game/share/locale/spain/quest/itemshop/"..pc.name..".txt","a")
 
Obtendremos 2 resultados de busqueda, este link debemos modificarlo por el que redirija a nuestra carpeta itemshop.
 
Ejemplos de errores que podrían tener:
 
1- Palabras clave como que nuestro "home" se encuentre dentro de la carpeta "usr"
2- Nuestra carpeta dentro de locale podria ser "germany", "turkey", "hong kong"... o similares.
 
---------------------------------------------------------------------------------------------------------------------------------------
 
A Q U I   F I N A L I Z A   L A   E D I C I O N   D E    L O S   F I L E S,   D E B E R I A S   P O D E R
A B R I R   L A   I T E M   S H O P   P E R O   A U N   N O   P O D R A S   C O M P R A R
N A D A   P U E S T O   Q U E   F A L T A   L A   P A R T E   D E L   S Q L   Q U E   V E R E M O S
A   C O N T I N U A C I O N...
 
------------- S Q L ---------------------------------------------------------------------------------------------------------------
 
Esta parte es muy sencilla, solo consta de un paso y dicho paso es el siguiente:
 
Paso 1:
 
Agregar columna "drs" en tabla "account" de navicat.
Para agregar esta columna a nuestra tabla simplemente pon esta query:
 
Query: ALTER TABLE account ADD drs int NOT NULL
 
---------------------------------------------------------------------------------------------------------------------------------------
 
A Q U I   F I N A L I Z A   L A   E D I C I O N   D E    L O S   F I L E S,   C L I E N T E   Y   S Q L
Y A   D E B E R I A S   P O D E R   A B R I R   L A   I T E M   S H O P   Y   P O D R A S   
C O M P R A R   S I N   N I N G U N   P R O B L E M A
 
---------------------------------------------------------------------------------------------------------------------------------------
 
Siento no poder ser mas especifico pero creo que es suficiente para entenderlo, si tienes dudas puedes
dejarme un comentaio en el video:
 
URL Youtube
 
 
O bien en este post.
 
POST OFICIAL de este tutorial:
 
 
Archivos necesarios:
 

Please Login or Register to see this Hidden Content

 
706kb nunca fueron tan utiles!! xDD
 
Pongo esto de post oficial por si deciden copiar este tutorial a otro foro lo cual me gustaria saber si lo hacen.
Si quieres distribuir este tutorial házmelo saber dejándome un link del foro en el que quieres publicarlo.
Si tengo cuenta en dicho foro lo publicare yo mismo xD, si no tengo cuenta te dejo publicarlo dejando claro por supuesto los
creditos.
 

---------------------------------------------------------------------------------------------------------------------------------------
 
@COPYRIGHT de este Tutorial: @Zoltrix 2015   -   ItemShop by @SeMa & @PACIFICADOR adapted by @Zoltrix
 
Si has completado el tutorial completamente deberias tener 100% funcional la Item Shop basada en Py & Lua creada por 
       @SeMa y @PACIFICADOR y adaptada por mi: @Zoltrix, todos miembros de la comunidad www.metin2zone.net, para implementarla 
        en cualquier servidor. Dicha itemshop fue liberada con un servidor que la tenia implementada, por lo que ni 
    @SeMa ni @PACIFICADOR han colaborado en la creacion de esta adaptacion sin animo de lucro puesto que esta item shop 
              sigue estando en venta si no me equivoco o al menos no ha sido liberada oficialmente por ellos.
  
Puesto que esta ItemShop ya fue liberada anteriormente (No por sus creadores) implementada en un cliente y files publicados
  en la comunidad "www.metin2zone.net" me he tomado la molestia y libertad de crear este tutorial
 para los que no sepan extraerla de dichos files y cliente, por lo que no considero que este haciendo daño
a los creadores de esta ItemShop de forma directa ya que no soy responsable de su "filtracion".
 
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------

  • A ArkaNo96, LovePlay ♥, EzekielitohMercury y a 21 más les gusta esto

#2
ArkaNo96

ArkaNo96

    Forero Profesional

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 697 Mensaje(s)

Buena guia, aunquue esa item_shop ya esta anticuada xD pero cumple sus funciones jajaja

 

Excelente guía, lo haces muy bien te explicas genial espero mas videos tuyos!



#3
XentaX

XentaX

    Experimentado

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 223 Mensaje(s)

w0lx4w.jpg

 

se agradece por el tiempo que te has tomado para realizar esta guía.



#4
EzekielitohMercury

EzekielitohMercury

    LEGEND OF METIN2ZONE

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 1.958 Mensaje(s)
  • Skype:ezekielitoh.turritohh
  • Sexo:Masculino
  • Localización:Argentina

Buen tuto ^^



#5
Jonathan Alvarez

Jonathan Alvarez

    Interesado

  • Miembro
  • MarcarMarcarMarcarMarcar
  • 71 Mensaje(s)
  • Sexo:Masculino
  • Localización:Argentina

mmmm Me parece Genial +1 lince.

 

se podrá poner en cliente omega files daroo 8.2? los estoy usando como base para mi proyecto. :P 



#6
Zoltrix

Zoltrix

    Forero

  • Miembro
  • MarcarMarcarMarcarMarcarMarcar
  • 96 Mensaje(s)

mmmm Me parece Genial +1 lince.

 

se podrá poner en cliente omega files daroo 8.2? los estoy usando como base para mi proyecto. :P

 

Supongo que si, creo que no tiene nada del otro mundo, prueba y nos lo confirmas  ^^



#7
Ryen

Ryen

    Forero Experto

  • Modelador 3D
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 2.382 Mensaje(s)
  • Skype:mt2chansk
  • Sexo:Masculino
  • Localización:<DOCTYPE html>

Supongo que si, creo que no tiene nada del otro mundo, prueba y nos lo confirmas  ^^

Good buen aporte :D

 

57623950f4.jpgIN DA FACE


Diseño Web

RyenWorks

<!DOCTYPE html>
<html lang="es">
 <head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="http://metin2zone.net/index.php?/user/1065-ryen/">
<title>RyenWorks</title>
</head>
<body>
<section id="webdesign">
<div class="meitn2zone">
<p>Professional web devloper</p><br />
</div>

</section>
</body>
<footer>
<p>RyenWorks2016 &copy; All Right Reserverd </p>
</footer>
</html>

#8
Raiser

Raiser

    Forero Experto

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 1.133 Mensaje(s)
  • Sexo:Indefinido

mmmm Me parece Genial +1 lince.

 

se podrá poner en cliente omega files daroo 8.2? los estoy usando como base para mi proyecto. :P

Si se puede, no tiene nuevas funciones de los files de ahora son funciones basicas.

Tecnicamente trendria que funcionar.

:D


Me voy por un tiempo buenos hombres :3


#9
SeruX

SeruX

    Aficionado

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 113 Mensaje(s)
  • Sexo:Masculino
  • Localización:Madrid

postea el sistema de pets del rage tambien +1 gracias :D



#10
Jonathan Alvarez

Jonathan Alvarez

    Interesado

  • Miembro
  • MarcarMarcarMarcarMarcar
  • 71 Mensaje(s)
  • Sexo:Masculino
  • Localización:Argentina

Supongo que si, creo que no tiene nada del otro mundo, prueba y nos lo confirmas  ^^

 

Si se puede, no tiene nuevas funciones de los files de ahora son funciones basicas.

Tecnicamente trendria que funcionar.

:D

Genial entonces Voy a probar y les digo que tal :DDD



#11
Zoltrix

Zoltrix

    Forero

  • Miembro
  • MarcarMarcarMarcarMarcarMarcar
  • 96 Mensaje(s)

postea el sistema de pets del rage tambien +1 gracias :D

 

Pasa link de sus files y cliente y a ser posible una foto para ver si es el mismo sistema que tiene el Synera, no garantizo que lo publique por que aun tengo que lograr sacarlo, es mi próximo objetivo, pero conseguirlo o no ya es otra historia >.< 


  • XentaX likes this

#12
Jonathan Alvarez

Jonathan Alvarez

    Interesado

  • Miembro
  • MarcarMarcarMarcarMarcar
  • 71 Mensaje(s)
  • Sexo:Masculino
  • Localización:Argentina

Supongo que si, creo que no tiene nada del otro mundo, prueba y nos lo confirmas  ^^

hice todo al paso de la letra, pero no, se sigue abriendo la misma item que trae por defecto :C



#13
Zoltrix

Zoltrix

    Forero

  • Miembro
  • MarcarMarcarMarcarMarcarMarcar
  • 96 Mensaje(s)

hice todo al paso de la letra, pero no, se sigue abriendo la misma item que trae por defecto :C

 

Si tienes Team podría ayudarte un poco, pero ahora mismo ando en otro "proyecto" y no puedo dedicarte mucho tiempo >.<



#14
Jonathan Alvarez

Jonathan Alvarez

    Interesado

  • Miembro
  • MarcarMarcarMarcarMarcar
  • 71 Mensaje(s)
  • Sexo:Masculino
  • Localización:Argentina

Si tienes Team podría ayudarte un poco, pero ahora mismo ando en otro "proyecto" y no puedo dedicarte mucho tiempo >.<


si tengoo! ahi te mande mp asi arreglamos para cuando se te haga mas comodo a vos :E

#15
ToPo(SUBNORMAL-DETECTADO)

ToPo(SUBNORMAL-DETECTADO)

    Experimentado

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 280 Mensaje(s)

Al clickear la moneda me tira error

Please Login or Register to see this Hidden Content

Log



#16
darksirk

darksirk

    Experimentado

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 353 Mensaje(s)
SYSERR: Mar  5 06:55:42 :: RunState: LUA_ERROR: [string "itemshop_carga"]:2: attempt to index field `?' (a nil value) WITH ERRORCODE 1
SYSERR: Mar  5 06:55:42 :: RunState: LUA_STATE: index 0 ref 3
SYSERR: Mar  5 06:55:42 :: WriteRunningStateToSyserr: LUA_ERROR: quest itemshop_carga.start enter 
ami el syser me da esto xd


#17
-YC-

-YC-

    Forero Profesional

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 765 Mensaje(s)

Te sugiero rehacer el post y pones todo como code y poner tabulaciones ya que ese es el error que les da a algunos :v



#18
Zoltrix

Zoltrix

    Forero

  • Miembro
  • MarcarMarcarMarcarMarcarMarcar
  • 96 Mensaje(s)

Te sugiero rehacer el post y pones todo como code y poner tabulaciones ya que ese es el error que les da a algunos :v

 

En la descarga de los archivos ahí un txt con las tabulaciones hechas correctamente  ^^



#19
Zoltrix

Zoltrix

    Forero

  • Miembro
  • MarcarMarcarMarcarMarcarMarcar
  • 96 Mensaje(s)

 

SYSERR: Mar  5 06:55:42 :: RunState: LUA_ERROR: [string "itemshop_carga"]:2: attempt to index field `?' (a nil value) WITH ERRORCODE 1
SYSERR: Mar  5 06:55:42 :: RunState: LUA_STATE: index 0 ref 3
SYSERR: Mar  5 06:55:42 :: WriteRunningStateToSyserr: LUA_ERROR: quest itemshop_carga.start enter 
ami el syser me da esto xd

 

 

Ya te respondí en chat, puede ser error en las tablas de navicat, comprueba que agregaste correctamente la columna "drs" a la tabla "account"

 

Al clickear la moneda me tira error

Please Login or Register to see this Hidden Content

Log

 

Ese PEDAZO de error es simplemente por que te has dejado algo xD


  • Tricks94 likes this

#20
VZLand

VZLand

    Leyenda del foro

  • Miembro
  • MarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcarMarcar
  • 801 Mensaje(s)
Buen aporte.




0 Usuario(s) están leyendo este Tema

0 miembro(s), 0 invitado(s), 0 usuario(s) anónimo(s)