Explicación: Al poner /CANJEAR se abre un formulario con images (cada image representa el objeto a canjearse) y CommandButtons con el caption de "Canjear" uno para cada ítem. Crear un formulario con el nombre de frmCanjes y despues los command e Image con el nombre Stándard de Visual Basic.
Comenzamos
Cliente:
Buscamos:
Arriba ponemos:
Agregás el formulario, y cada commandbutton le ponés:
Eso iría en uno de los commandbuttons, despues tenés que hacer distintos cases en el servidor para cada command button (como por ejemplo CANJE, CANJE1, CANJE2 Etc.)
Servidor:
Abajo de:
Case "/ONLINE"
Agrega:
Ahora lo que tenés que hacer es crear distintos case para todos los bojetos, por ejemplo, si el de arriba fue para la armadura despues creás otro así:
Y así para cada objeto.
IMPORTANTE: El Objeto As Obj va una sola vez, en el primer Case.
En todos los cases tenemos que cambiar el Objeto.Amount por la cantidad de objetos que quieras que le de al usuario al canjear, el Objeto.ObjIndex, que es el número del objeto en OBJ.dat, y el TieneObjetos por las copas de oro y la cantidad requerida.
Comenzamos
Cliente:
Buscamos:
Arriba ponemos:
Agregás el formulario, y cada commandbutton le ponés:
Eso iría en uno de los commandbuttons, despues tenés que hacer distintos cases en el servidor para cada command button (como por ejemplo CANJE, CANJE1, CANJE2 Etc.)
Servidor:
Abajo de:
Case "/ONLINE"
Agrega:
- Spoiler:
- Case "/CANJEAR"
Call SendData(SendTarget.ToIndex, UserIndex, 0, "CAN")
Case "/CANJE"
Dim Objeto As Obj
Objeto.Amount = 1
Objeto.ObjIndex = NUMERODELOBJETOACANJEAR
If Not TieneObjetos(COPADEORO, CANTIDAD, UserIndex) Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Para canjear el ítem debes tener al menos X copas de oro" & FONTTYPE_INFO)
Else
Call MeterItemEnInventario(Objeto, UserIndex)
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Has canjeado X copas de oro por un objeto de torneo!" & FONTTYPE_INFO)
Ahora lo que tenés que hacer es crear distintos case para todos los bojetos, por ejemplo, si el de arriba fue para la armadura despues creás otro así:
- Spoiler:
- Case "/CANJE2"
Objeto.Amount = 1
Objeto.ObjIndex = NUMERODELOBJETOACANJEAR
If Not TieneObjetos(COPADEORO, CANTIDAD, UserIndex) Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Para canjear el ítem debes tener al menos X copas de oro" & FONTTYPE_INFO)
Else
Call MeterItemEnInventario(Objeto, UserIndex)
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Has canjeado X copas de oro por un objeto de torneo!" & FONTTYPE_INFO)
Y así para cada objeto.
IMPORTANTE: El Objeto As Obj va una sola vez, en el primer Case.
En todos los cases tenemos que cambiar el Objeto.Amount por la cantidad de objetos que quieras que le de al usuario al canjear, el Objeto.ObjIndex, que es el número del objeto en OBJ.dat, y el TieneObjetos por las copas de oro y la cantidad requerida.