Codigos para tu AO:Para enpezar vamos hacer unos codigos principales para tu ao.
1.- Dados 18/18
en SERVER, vamos a (Protocol.bas)
Buscamos el sub:
Codigo:
Private Sub HandleThrowDices(ByVal UserIndex As Integer)
y reemplazamos todo ese sub por este:
Codigo:
- Código:
-
Private Sub HandleThrowDices(ByVal UserIndex As Integer)
'***************************************************
'Author: Juan Martín Sotuyo Dodero (Maraxus)
'Last Modification: 05/17/06
'
'***************************************************
'Remove packet ID
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
2.- Para aumentar la exp, en server, en (MODULO_NPCs.bas)
Para la exp, buscamos:
Codigo:
Npclist(NpcIndex).GiveEXP = val(Leer.GetValue("NPC" & NpcNumber, "GiveEXP"))
Y si queres que la exp este por 100 lo reemplazas por:
Codigo:
- Código:
-
Npclist(NpcIndex).GiveEXP = val(Leer.GetValue("NPC" & NpcNumber, "GiveEXP")) *100
3.- Para aumentar el oro, en server, (MODULO_NPCs.bas)
Para el oro, Buscamos:
Codigo:
Npclist(NpcIndex).GiveGLD = val(Leer.GetValue("NPC" & NpcNumber, "GiveGLD"))
Y si queres que el oro este por 50 reemplazas por:
Codigo:
- Código:
-
Npclist(NpcIndex).GiveGLD = val(Leer.GetValue("NPC" & NpcNumber, "GiveGLD")) *50
4.- Para que los skills suban rapido. en server, (Modulo_usuarios.bas)
Buscamos el sub:
Codigo:
- Código:
-
Sub SubirSkill(ByVal UserIndex As Integer, ByVal Skill As Integer)
y a todo ese sub lo reemplazas por este:
Codigo:
Sub SubirSkill(ByVal UserIndex As Integer, ByVal Skill As Integer)
If UserList(UserIndex).flags.Hambre = 0 And UserList(UserIndex).flags.Sed = 0 Then
If UserList(UserIndex).Stats.UserSkills(Skill) = MAXSKILLPOINTS Then Exit Sub
Dim Lvl As Integer
Lvl = UserList(UserIndex).Stats.ELV
If Lvl > UBound(LevelSkill) Then Lvl = UBound(LevelSkill)
If UserList(UserIndex).Stats.UserSkills(Skill) >= LevelSkill(Lvl).LevelValue Then Exit Sub
Dim Aumenta As Integer
Dim Prob As Integer
If Lvl <= 1 Then
Prob = 100
ElseIf Lvl > 1 And Lvl < 1 Then
Prob = 100
ElseIf Lvl >= 1 And Lvl < 1 Then
Prob = 100
ElseIf Lvl >= 1 And Lvl < 1 Then
Prob = 100
Else
Prob = 100
End If
Aumenta = RandomNumber(100, Prob)
If Aumenta = 100 Then
UserList(UserIndex).Stats.UserSkills(Skill) = UserList(UserIndex).Stats.UserSkills(Skill) + 1
Call WriteConsoleMsg(UserIndex, "¡Has mejorado tu skill " & SkillsNames(Skill) & " en un punto!. Ahora tienes " & UserList(UserIndex).Stats.UserSkills(Skill) & " pts.", FontTypeNames.FONTTYPE_INFO)
UserList(UserIndex).Stats.Exp = UserList(UserIndex).Stats.Exp + 50
If UserList(UserIndex).Stats.Exp > MAXEXP Then _
UserList(UserIndex).Stats.Exp = MAXEXP
Call WriteConsoleMsg(UserIndex, "¡Has ganado 50 puntos de experiencia!", FontTypeNames.FONTTYPE_FIGHT)
Call WriteUpdateExp(UserIndex)
Call CheckUserLevel(UserIndex)
End If
End If
End Sub
5.- Para que mine de a mas.
En server, en (trabajo.bas)
Buscamos:
Codigo:
- Código:
-
If UserList(UserIndex).clase = eClass.Miner Then
MiObj.amount = RandomNumber(1, 4) '(NicoNZ) 04/25/2008
Else
MiObj.amount = 1
End If
y lo reemplazas por:
Codigo:
If UserList(UserIndex).clase = eClass.Miner Then
MiObj.amount = RandomNumber(80, 140) '(NicoNZ) 04/25/2008
Else
MiObj.amount = 80
End If
Ahi vendria a minar de a 80/140 pueden modificarlo a su gusto.
6.- Para que se tale de a mas.
en (trabajo.bas) Buscamos:
Codigo:
- Código:
-
If UserList(UserIndex).clase = eClass.Lumberjack Then
MiObj.amount = RandomNumber(1, 4)
Else
MiObj.amount = 1
End If
Y lo reemplazas por:
Codigo:
- Código:
-
If UserList(UserIndex).clase = eClass.Lumberjack Then
MiObj.amount = RandomNumber(80, 140)
Else
MiObj.amount = 80
End If
Ahi vendriamos a que se tale de a 80/140 Pueden modificarlo a su gusto.
7.- Para que se pesce de a mas.
En (trabajo.bas) Buscamos:
Codigo:
- Código:
-
If UserList(UserIndex).clase = eClass.Fisher Then
MiObj.amount = RandomNumber(1, 4)
Else
MiObj.amount = 1
End If
y lo reemplazas por:
Codigo:
- Código:
-
If UserList(UserIndex).clase = eClass.Fisher Then
MiObj.amount = RandomNumber(80, 140)
Else
MiObj.amount = 80
End If
Ahi vendria a pescar de a 80/140 pueden modificarlo a su gusto.
8.- Para poner nivel maximo.
en declaraciones.
Buscamos:
Codigo:
Codigo:
Public Const STAT_MAXELV As Byte = 255
Y si queres que el nivel maximo sea 50 cambiamos por esto:
Codigo:
- Código:
-
Public Const STAT_MAXELV As Byte = 50
9.- Para que medite mas rapido
en declaraciones buscamos:
Codigo:
Public Const TIEMPO_INICIOMEDITAR As Integer = 2000
Ahi medita de a 2 segundo.. "2000" son 2 segundo. si queremos que medite cada 1 segundo lo reemplazamos por:
Codigo:
- Código:
-
Public Const TIEMPO_INICIOMEDITAR As Integer = 1000
10.- Para que lingotee de a 50. En (Trabajo.bas)
Buscamos el sub:
Codigo:
Private Function MineralesParaLingote(ByVal Lingote As iMinerales) As Integer
Y a todo ese sub lo reemplazamos por:
Codigo:
- Citación :
- 1. Private Function MineralesParaLingote(ByVal Lingote As iMinerales) As Integer
2. Select Case Lingote
3. Case iMinerales.HierroCrudo
4. MineralesParaLingote = 700
5. Case iMinerales.PlataCruda
6. MineralesParaLingote = 1000
7. Case iMinerales.OroCrudo
8. MineralesParaLingote = 1750
9. Case Else
10. MineralesParaLingote = 10000
11. End Select
12. End Function
Ahi vendria a lingotear de a 50.
11.- Para algunos que desean tener un servidor de mucho oro, a ver si me explico. el server que tenga: oro: 150, bueno, es muy facil conseguir el oro ya que es facil la oro. y aveces siempre ahi alguien que tira mucho oro y lagea. para eso vamos hacer que tire de a 2k de oro, y no de a 10k. claro que si quieren que tire de a 100k de oro tambien se podria hacer. bueno enpezamos:
en cliente, (frmCantidad.frm)
Buscamos:
Codigo:
- Código:
-
Private Sub Command2_Click()
If Inventario.SelectedItem = 0 Then Exit Sub
If Inventario.SelectedItem <> FLAGORO Then
Call WriteDrop(Inventario.SelectedItem, Inventario.Amount(Inventario.SelectedItem))
Unload Me
Else
If UserGLD > 10000 Then
Call WriteDrop(Inventario.SelectedItem, 10000)
Unload Me
Else
Call WriteDrop(Inventario.SelectedItem, UserGLD)
Unload Me
End If
End If
frmCantidad.Text1.Text = ""
End Sub
Y lo reemplazamos por este:
Codigo:
- Código:
-
Private Sub Command2_Click()
If Inventario.SelectedItem = 0 Then Exit Sub
If Inventario.SelectedItem <> FLAGORO Then
Call WriteDrop(Inventario.SelectedItem, Inventario.Amount(Inventario.SelectedItem))
Unload Me
Else
If UserGLD > 2000 Then
Call WriteDrop(Inventario.SelectedItem, 2000)
Unload Me
Else
Call WriteDrop(Inventario.SelectedItem, UserGLD)
Unload Me
End If
End If
frmCantidad.Text1.Text = ""
End Sub
Ahi vendria a tirar de a 2k el oro. y no de a 10k.
12.- Para que el oro valla directo a la bille
en server, (MODULO_NPCs.bas)
Buscamos el sub:
Codigo:
Sub NPCTirarOro(MiNPC As npc, UserIndex As Integer)
y reemplazamos todo ese sub por este:
Codigo:
Sub NPCTirarOro(MiNPC As npc, UserIndex As Integer)
- Código:
-
'SI EL NPC TIENE ORO LO TIRAMOS
If MiNPC.GiveGLD = 0 Then
Call WriteConsoleMsg(UserIndex, "No te dio oro el npc.", FontTypeNames.FONTTYPE_INFO)
End If
If MiNPC.GiveGLD > 0 Then
UserList(UserIndex).Stats.GLD = UserList(UserIndex).Stats.GLD + MiNPC.GiveGLD
Call WriteConsoleMsg(UserIndex, "El npc te ha dado " & MiNPC.GiveGLD & " monedas de oro", FontTypeNames.FONTTYPE_INFO)
Call WriteUpdateUserStats(UserIndex)
End If
End Sub
Ahora lo ultimo, buscamos:
Codigo:
Call NPCTirarOro(MiNPC)
y lo reemplazamos por:
Codigo:
Call NPCTirarOro(MiNPC, UserIndex)
Listo, ahi vendria a ir el oro directo a la bille cuando matas a un npc.
13.- Por ultimo, Nombres siempre visibles.
en cliente, (TileEngine.bas)
Buscamos:
Codigo:
# If Nombres And Abs(nX - X) < 2 And (Abs(nY - Y)) < 2 Then
y a eso lo reemplazas por:
Codigo:
if nombres then
FUENTE: Alkon-foro Usuario: AyudandOh