Primero hay que declarar el nuevo tipo de objeto:
Busca en Declaraciones:
- otCualquiera = 1000
Y por encima pon el numero siguiente al ultimo objeto anteriormente marcado, por ejemplo queremos crear un par de PocionesMaster (en este caso se llamaria otPocionesMaster) y que no se caigan, y el ultimo tipo de objeto declarado eran los anillos, quedaria asi:
- otAnillos = 47
- otPocionesMaster = 48
- otCualquiera = 1000
Luego tendriais que ir al LoadObjData para que se cargue ese objeto y pondriamos una funcion semejante a las pociones normales, para que sea mas facil buscais:
- Case otPociones
- ObjData(Object).TipoPocion = val(Leer.GetValue("OBJ" & Object, "TipoPocion"))
- ObjData(Object).MaxModificador = val(Leer.GetValue("OBJ" & Object, "MaxModificador"))
- ObjData(Object).MinModificador = val(Leer.GetValue("OBJ" & Object, "MinModificador"))
- ObjData(Object).DuracionEfecto = val(Leer.GetValue("OBJ" & Object, "DuracionEfecto"))
y reemplazais por:
- Case otPociones
- ObjData(Object).TipoPocion = val(Leer.GetValue("OBJ" & Object, "TipoPocion"))
- ObjData(Object).MaxModificador = val(Leer.GetValue("OBJ" & Object, "MaxModificador"))
- ObjData(Object).MinModificador = val(Leer.GetValue("OBJ" & Object, "MinModificador"))
- ObjData(Object).DuracionEfecto = val(Leer.GetValue("OBJ" & Object, "DuracionEfecto"))
- Case otPocionesMaster
- ObjData(Object).TipoPocion = val(Leer.GetValue("OBJ" & Object, "TipoPocion"))
- ObjData(Object).MaxModificador = val(Leer.GetValue("OBJ" & Object, "MaxModificador"))
- ObjData(Object).MinModificador = val(Leer.GetValue("OBJ" & Object, "MinModificador"))
- ObjData(Object).DuracionEfecto = val(Leer.GetValue("OBJ" & Object, "DuracionEfecto"))
Despues vais al UseInvItem para poderlas usar cuando las teneis en el inventario y buscais por :
- Case eOBJType.otPociones
- If .flags.Muerto = 1 Then
y arriba poneis:
- Case eOBJType.otPocionesMaster
- If .flags.Muerto = 1 Then
- Call WriteConsoleMsg(1, UserIndex, "¡¡Estas muerto!! Solo podes usar items cuando estas vivo. ", FontTypeNames.FONTTYPE_INFO)
- Exit Sub
- End If
- If Not IntervaloPermiteGolpeUsar(UserIndex, False) Then
- Call WriteConsoleMsg(1, UserIndex, "¡¡Debes esperar unos momentos para tomar otra poción!!", FontTypeNames.FONTTYPE_INFO)
- Exit Sub
- End If
- .flags.TomoPocion = True
- .flags.TipoPocion = Obj.TipoPocion
- Select Case .flags.TipoPocion
- Case 1 'Modif la agilidad
- .flags.DuracionEfecto = Obj.DuracionEfecto
- 'Usa el item
- .Stats.UserAtributos(eAtributos.Agilidad) = .Stats.UserAtributos(eAtributos.Agilidad) + RandomNumber(Obj.MinModificador, Obj.MaxModificador)
- If .Stats.UserAtributos(eAtributos.Agilidad) > MAXATRIBUTOS Then _
- .Stats.UserAtributos(eAtributos.Agilidad) = MAXATRIBUTOS
- 'Quitamos del inv el item
- Call QuitarUserInvItem(UserIndex, Slot, 1)
- Call SendData(SendTarget.ToPCArea, UserIndex, PrepareMessagePlayWave(SND_BEBER, .Pos.X, .Pos.Y))
- Call WriteAgilidad(UserIndex)
Ahora para que no se caiga, buscais:
- ObjData(index).OBJType <> eOBJType.otMonturas And _
Y debajo ponen:
- ObjData(index).OBJType <> eOBJType.otPocionesMaster And _
Y listo de codigo todo echo, luego hay que ir a obj.dat y poner alfinal de la lista de tipos de objetos:
' 44 Monturas
' 45 Puestos de Entrenamiento
' 46 Nudillos para Artes Marciales
' 47 Anillos Habilitadores de Hechizos
' 48 PocionesMaster (Agregais el tipo de objeto)
Luego creais la pocion y poneis en los datos
ObjType=48
Si ta mal avisar donde porfis




454![Aprendiz [2] Aprendiz [2]](./images/ranks/Rango7.gif)


![Oraculo [5] Oraculo [5]](./images/ranks/Rango29.gif)

![Aprendiz [1] Aprendiz [1]](./images/ranks/Rango6.gif)

![Aprendiz [5] Aprendiz [5]](./images/ranks/Rango10.gif)

![Dragon Ancestral [5] Dragon Ancestral [5]](./images/ranks/Rango34.gif)

![Dragon Ancestral [2] Dragon Ancestral [2]](./images/ranks/Rango31.gif)

![Oraculo [3] Oraculo [3]](./images/ranks/Rango27.gif)
