Originalmente publicado por AyudandOh.-
Me tome todo el tiempo para hacerlo y escribir para ustedes, Solo espero que les sirva estos codes,
Aclaro: Funcionan todos en la vercion de alkon 13.0
Bueno, enpezamos.
1.- Nombres Siempre visibles.
En el cliente. Mod_tileEngine. Buscamos:
Código:
If Nombres And (esGM(UserCharIndex) Or Abs(MouseTileX - .Pos.X) < 2 And (Abs(MouseTileY - .Pos.Y)) < 2) Then
Y lo reemplazas por:
2.- Oro directo a la bille
En el server, InvNpc. Buscamos el sub:
Código:
Public Sub TirarOroNpc(ByVal Cantidad As Long, ByRef Pos As WorldPos)
Y lo reemplazamos por:
Código:
'AyudandOh
Public Sub TirarOroNpc(ByVal UserIndex As Integer, ByVal Cantidad As Long, ByRef Pos As WorldPos)
On Error GoTo Errhandler
If Cantidad > 0 Then
UserList(UserIndex).Stats.GLD = UserList(UserIndex).Stats.GLD + Cantidad
Call WriteUpdateGold(UserIndex)
Call WriteConsoleMsg(UserIndex, "Has obtenido " & Cantidad & " monedas de oro.", FontTypeNames.FONTTYPE_INFO) 'Ponele una comilla adelante de esta linea si no queres q salga por consola
End If
Exit Sub
Errhandler:
Call LogError("Error en TirarOro. Error " & Err.Number & " : " & Err.description)
End Sub
Despues buscamos el sub:
Código:
Public Sub NPC_TIRAR_ITEMS(ByRef npc As npc, ByVal IsPretoriano As Boolean)
Y reemplazamos todo ese sub por este:
Código:
'AyudandOh
Public Sub NPC_TIRAR_ITEMS(ByVal UserIndex As Integer, ByRef npc As npc, ByVal IsPretoriano As Boolean)
On Error Resume Next
With npc
Dim i As Byte
Dim MiObj As Obj
Dim NroDrop As Integer
Dim Random As Integer
Dim ObjIndex As Integer
If IsPretoriano Then
For i = 1 To MAX_INVENTORY_SLOTS
If .Invent.Object(i).ObjIndex > 0 Then
MiObj.Amount = .Invent.Object(i).Amount
MiObj.ObjIndex = .Invent.Object(i).ObjIndex
Call TirarItemAlPiso(.Pos, MiObj)
End If
Next i
If .GiveGLD > 0 Then _
Call TirarOroNpc(UserIndex, .GiveGLD, .Pos)
Exit Sub
End If
Random = RandomNumber(1, 100)
If Random <= 90 Then
NroDrop = 1
If Random <= 10 Then
NroDrop = NroDrop + 1
For i = 1 To 3
If RandomNumber(1, 100) <= 10 Then
NroDrop = NroDrop + 1
Else
Exit For
End If
Next i
End If
ObjIndex = .Drop(NroDrop).ObjIndex
If ObjIndex > 0 Then
If ObjIndex = iORO Then
Call TirarOroNpc(UserIndex, .Drop(NroDrop).Amount, npc.Pos)
Else
MiObj.Amount = .Drop(NroDrop).Amount
MiObj.ObjIndex = .Drop(NroDrop).ObjIndex
Call TirarItemAlPiso(.Pos, MiObj)
End If
End If
End If
End With
End Sub
Y por ultimo buscamos:
Código:
Call NPC_TIRAR_ITEMS(MiNPC, IsPretoriano)
Y lo reemplazamos por:
Código:
Call NPC_TIRAR_ITEMS(UserIndex, MiNPC, IsPretoriano)
3.- Dados 18/18
En server, Protocol.bas, Buscamos el sub:
Código:
Private Sub HandleThrowDices(ByVal UserIndex As Integer)
Y a todo ese sub lo reemplazamos por:
Código:
'AyudandOh.-
Private Sub HandleThrowDices(ByVal UserIndex As Integer)
Call UserList(UserIndex).incomingData.ReadByte
With UserList(UserIndex).Stats
.UserAtributos(eAtributos.Fuerza) = 18
.UserAtributos(eAtributos.Agilidad) = 18
.UserAtributos(eAtributos.Inteligencia) = 18
.UserAtributos(eAtributos.Carisma) = 18
.UserAtributos(eAtributos.Constitucion) = 18
End With
Call WriteDiceRoll(UserIndex)
End Sub
4.- Minar de a mas.
En server, Trabajo.bas, Buscamos:
Código:
If UserList(UserIndex).clase = eClass.Worker Then
CantidadItems = 1 + MaximoInt(1, CInt((.Stats.ELV - 4) / 5))
MiObj.Amount = RandomNumber(1, CantidadItems)
Else
MiObj.Amount = 1
Y lo reemplazamos por:
Código:
If UserList(UserIndex).clase = eClass.Worker Then
CantidadItems = 0 + MaximoInt(20, CInt((.Stats.ELV - 4) / 5))
MiObj.Amount = RandomNumber(50, CantidadItems)
Else
MiObj.Amount = 0
Ahi vendria a minar de a 20/50
5.- Para talar de a mas
En server, Trabajo.bas, Buscamos:
Código:
If UserList(UserIndex).clase = eClass.Worker Then
With UserList(UserIndex)
CantidadItems = 1 + MaximoInt(1, CInt((.Stats.ELV - 4) / 5))
End With
MiObj.Amount = RandomNumber(1, CantidadItems)
Else
MiObj.Amount = 1
Y lo reemplazamos por:
Código:
If UserList(UserIndex).clase = eClass.Worker Then
With UserList(UserIndex)
CantidadItems = 0 + MaximoInt(20, CInt((.Stats.ELV - 4) / 5))
End With
MiObj.Amount = RandomNumber(50, CantidadItems)
Else
MiObj.Amount = 0
Hay vendria a talar de a 20/50
6.- Para lingotear de a mas, Buscamos:
Código:
With UserList(UserIndex)
CantidadItems = MaximoInt(1, CInt((.Stats.ELV - 4) / 5))
Y lo reemplazamos por:
Código:
With UserList(UserIndex)
CantidadItems = MaximoInt(50, CInt((.Stats.ELV - 4) / 5))
Hay vendria a lingotear de a 50
7.- Para Pescar de a mas buscamos:
Código:
With UserList(UserIndex)
CantidadItems = 1 + MaximoInt(1, CInt((.Stats.ELV - 4) / 5))
End With
MiObj.Amount = RandomNumber(1, CantidadItems)
Else
MiObj.Amount = 1
Y lo reemplazamos por:
Código:
With UserList(UserIndex)
CantidadItems = 0 + MaximoInt(50, CInt((.Stats.ELV - 4) / 5))
End With
MiObj.Amount = RandomNumber(50, CantidadItems)
Else
MiObj.Amount = 0
Hay se pescaria de a 50/50
8.- Tirar oro cada 1k
Código:
If UserGLD > 10000 Then
Call WriteDrop(Inventario.SelectedItem, 10000)
Unload Me
Else
Call WriteDrop(Inventario.SelectedItem, UserGLD)
Unload Me
Y lo reemplazamos por:
Código:
If UserGLD > 1000 Then
Call WriteDrop(Inventario.SelectedItem, 1000)
Unload Me
Else
Call WriteDrop(Inventario.SelectedItem, UserGLD)
Unload Me
Hay vendria a tirar de a 1k de oro, no de a 10k, Puede llegar hacer
Util para aquellos que tiene su servidor con mucho oro.
9.- Subir la experiencia
En server, NPCs, Buscamos:
Código:
.GiveEXP = val(Leer.GetValue("NPC" & NpcNumber, "GiveEXP"))
Y lo reemplazamos por:
Código:
.GiveEXP = val(Leer.GetValue("NPC" & NpcNumber, "GiveEXP")) * 100
Hay vendria a tener la exp por 100,
10.- Subir el oro
En server, NPCs, Buscamos:
Código:
.GiveGLD = val(Leer.GetValue("NPC" & NpcNumber, "GiveGLD"))
Y lo reemplazamos por:
Código:
.GiveGLD = val(Leer.GetValue("NPC" & NpcNumber, "GiveGLD")) * 100
Hay tendriamos 100 de oro.
11.- Cambiar de color el nick del gm DIOS, en server, Declaraciones, Buscamos:
y lo reemplazamos por:
Ahi el gm dios vendria a tener el nick blanco. pueden ponerle el color
que ustedes quieran.
12.- Para que medite mas rapido.
Buscamos:
Código:
Public Const TIEMPO_INICIOMEDITAR As Integer = 2000
Y lo reemplazamos por:
Código:
Public Const TIEMPO_INICIOMEDITAR As Integer = 1000
1000 es 1 segundo, y 2000 son 2 segundos. Ahora
vendria a meditar cada 1 segundo.
13.- Poner Nivel MAXIMO
Buscamos:
Código:
Public Const STAT_MAXELV As Byte = 255
Y lo reemplazamos por:
Código:
Public Const STAT_MAXELV As Byte = 50
Hay vendria hacer nivel maximo 50. Pueden ponerle el lvl max
que ustedes quieran.
14.- Sacar NOTICIAS.
Bueno, en client, vamos a FrmConnect. Hacemos lo siguiente
Borramos: Webnoticias
Buscamos:
Código:
webNoticias.Navigate ("http://ao.alkon.com.ar/noticiascliente/noticias.php")
Y lo borramos
Buscamos:
Código:
Private Sub webNoticias_NavigateError(ByVal pDisp As Object, URL As Variant, Frame As Variant, StatusCode As Variant, Cancel As Boolean)
If StatusCode = 500 Then webNoticias.Visible = False
End Sub
Y lo borramos
Listo, Me canse jaja, despues veo si pongo algunas otra cosas.
Saludos.- AyudandOh.-
-2- .