Como creo bots?

Ir abajo

Como creo bots?

Mensaje por Jorge_Loquendo el 5/3/2014, 9:57 am

Holaa alguien sabe como crear bots para poner en mi ao?
avatar
Jorge_Loquendo
Nivel 4
Nivel 4

¿BANEADO? : Si, BAN TEMPORAL.
Premios : Ninguno.
Cantidad de envíos : 161
Edad : 18
Localización : Buenos aires
Fecha de inscripción : 28/03/2013

Ver perfil de usuario http://siempre-argentum.foroargentina.net/forum

Volver arriba Ir abajo

Re: Como creo bots?

Mensaje por qubo el 6/3/2014, 1:06 am

Podes basarte en el bot de salvito ao

qubo
Nivel 4
Nivel 4

¿BANEADO? : No.
Premios : Ninguno.
Cantidad de envíos : 147
Localización : en la calle
Fecha de inscripción : 06/06/2012

Ver perfil de usuario

Volver arriba Ir abajo

Re: Como creo bots?

Mensaje por kHALED el 6/3/2014, 4:05 am

Como dijo qubo , podrías codear de 0 los bots o directamente extraerlo de salvito AOffline
avatar
kHALED
Retirado
Retirado

Premios :
[1º P]Diseñador gráfico.
[1º P]Concurso de físico.
[1º P]Diseño de interfaces.
[1º P]Gráfica Manual Sketch.
[1º P]Diseñador gráfico manual.
[1º P]Torneo de LoL por equipos.
[1ºP]Concurso banner Halloween 2014
[2ºP]Torneo 1vs1 [LoL]
Cantidad de envíos : 10430
Edad : 20
Localización : Valhala
Fecha de inscripción : 09/03/2012

Ver perfil de usuario http://www.aesir-online.com/forum/

Volver arriba Ir abajo

Re: Como creo bots?

Mensaje por Lekasak el 6/3/2014, 11:53 am

El salvito tiene codes? :O

Si queres unos medios chotos podes usar la inteligencia de los npcs. yo hacia eso Razz
avatar
Lekasak
Nivel 32
Nivel 32

¿BANEADO? : No.
Premios :
[1º Puesto] ¿Cuanto sabés del foro?.


Miembro honorario
Cantidad de envíos : 5639
Edad : 20
Localización : villa maipu
Fecha de inscripción : 02/02/2011

Ver perfil de usuario

Volver arriba Ir abajo

Re: Como creo bots?

Mensaje por Nethird el 6/3/2014, 2:10 pm

@Lekasak escribió:El salvito tiene codes? :O

Si queres unos medios chotos podes usar la inteligencia de los npcs. yo hacia eso Razz

Los NPCs pretorianos, pero MUY chotos jaja.



Spoiler:

Spoiler:
[/color]
Escuchalo:
Spoiler:



¡Escuchá la radio acá!
Spoiler:




[/i]
avatar
Nethird
Administrador
Administrador

¿BANEADO? : No.
Premios : Ninguno.
Cantidad de envíos : 9851
Edad : 21
Localización : Entre 4 paredes
Fecha de inscripción : 25/12/2009

Ver perfil de usuario http://www.ao-sender.com.ar

Volver arriba Ir abajo

Re: Como creo bots?

Mensaje por kHALED el 6/3/2014, 2:13 pm

11.5

Create un módulo nuevo

Código:
Option Explicit
''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''
''''''' BOTS 0.1 '''''''''''''
''''''''''''''''''' by OSI '''
''''''''''''''''''''''''''''''
Public Const PALA_BOT As Integer = 1001
Private TomoPot As Boolean
 
'HECHIZOS: NO CAMBIAR ACA
'REPRESENTAN LA UBICACION DE LOS SPELLS EN NPC_HOSTILES.DAT y se los puede cambiar en ese archivo
Public Const INMOVILIZAR = 1
Public Const REMOVER = 2
Public Const COMBEAR = 3
 
Public Function esBot(ByVal NpcIndex As Integer) As Integer
 
    Select Case Npclist(NpcIndex).Numero
        Case PALA_BOT
            esBot = 1
    End Select
 
End Function
 
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''' HECHIZOS DE LOS BOTS ''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''
''''''''' EL BOT SE TIRA REMO '''''''''
'''''''''''''''''''''''''''''''''''''''
Sub BotRemoBot(ByVal npcind As Integer, ByVal NPCAlInd As Integer, ByVal indice As Integer)
On Error GoTo errorh
    Dim indireccion As Integer
    Dim i As Integer
 
 
    'OSI!!!
    If Npclist(npcind).mana_min < Hechizos(Npclist(npcind).Spells(indice)).ManaRequerido Then
        'Call BotChupaPot(npcind, 2)
        Exit Sub
    End If
 
    'Para que se remuevan no tan rápido...
    i = RandomNumber(1, 100)
    If i > (50 + Npclist(npcind).level) Then Exit Sub
 
    indireccion = Npclist(npcind).Spells(indice)
    '' Envia las palabras magicas, fx y wav del indice-esimo hechizo del npc-hostiles.dat
    'Call SendData(SendTarget.tonpcarea, npcind, Npclist(npcind).Pos.Map, "||" & vbCyan & "° " & Hechizos(indireccion).PalabrasMagicas & " °" & str(Npclist(npcind).Char.CharIndex))
    Call SendData(SendTarget.tonpcarea, npcind, Npclist(npcind).Pos.Map, "||" & vbCyan & "° " & Hechizos(indireccion).PalabrasMagicas & " °" & str(Npclist(npcind).Char.CharIndex))
    Call SendData(SendTarget.tonpcarea, npcind, Npclist(npcind).Pos.Map, "TW" & Hechizos(indireccion).WAV)
    Call SendData(SendTarget.tonpcarea, NPCAlInd, Npclist(NPCAlInd).Pos.Map, "CFX" & Npclist(NPCAlInd).Char.CharIndex & "," & Hechizos(indireccion).FXgrh & "," & Hechizos(indireccion).loops)
 
    'osi
    Npclist(npcind).mana_min = Npclist(npcind).mana_min - Hechizos(Npclist(npcind).Spells(indice)).ManaRequerido
 
    Npclist(NPCAlInd).Contadores.Paralisis = 0
    Npclist(NPCAlInd).flags.Paralizado = 0
Exit Sub
 
errorh:
    LogError ("Error en BotRemoBot? ")
 
End Sub
 
'''''''''''''''''''''''''''''''''''''''''''''
''''''''' BOT CURA ATACA O PARALIZA '''''''''
'''''''''''''''''''''''''''''''''''''''''''''
Sub BotHechiUser(ByVal NpcIndex As Integer, ByVal UserIndex As Integer, ByVal Spell As Integer)
On Error GoTo errorh
 
Dim i As Byte
 
'OSI. Lo saco
'If Not Spell = 23 Then If Npclist(NpcIndex).CanAttack = 0 Then Exit Sub
'If UserList(UserIndex).flags.Invisible = 1 Then exit sub
 
'Npclist(NpcIndex).CanAttack = 0
Dim daño As Integer
 
'OSI!!!
If Npclist(NpcIndex).mana_min < Hechizos(Spell).ManaRequerido Then
    'Call BotChupaPot(NpcIndex, 2)
    Exit Sub
End If
 
'Hechizos de curación
If Hechizos(Spell).SubeHP = 1 Then
 
    daño = RandomNumber(Hechizos(Spell).MinHP, Hechizos(Spell).MaxHP)
    Call SendData(SendTarget.topcarea, UserIndex, UserList(UserIndex).Pos.Map, "TW" & Hechizos(Spell).WAV)
    Call SendData(SendTarget.topcarea, UserIndex, UserList(UserIndex).Pos.Map, "CFX" & UserList(UserIndex).Char.CharIndex & "," & Hechizos(Spell).FXgrh & "," & Hechizos(Spell).loops)
    Call SendData(SendTarget.topcarea, UserIndex, UserList(UserIndex).Pos.Map, "CFF" & UserList(UserIndex).Char.CharIndex & "," & Hechizos(Spell).PART & "," & Hechizos(Spell).loops)
 
    UserList(UserIndex).Stats.MinHP = UserList(UserIndex).Stats.MinHP + daño
    If UserList(UserIndex).Stats.MinHP > UserList(UserIndex).Stats.MaxHP Then UserList(UserIndex).Stats.MinHP = UserList(UserIndex).Stats.MaxHP
 
    Call SendData(SendTarget.ToIndex, UserIndex, 0, "||" & Npclist(NpcIndex).name & " te ha restaurado " & daño & " puntos de vida." & FONTTYPE_FIGHT)
 
'Hechizos de daño
ElseIf Hechizos(Spell).SubeHP = 2 Then
 
    daño = RandomNumber(Hechizos(Spell).MinHP, Hechizos(Spell).MaxHP)
    Call SendData(SendTarget.topcarea, UserIndex, UserList(UserIndex).Pos.Map, "TW" & Hechizos(Spell).WAV)
    Call SendData(SendTarget.topcarea, UserIndex, UserList(UserIndex).Pos.Map, "CFX" & UserList(UserIndex).Char.CharIndex & "," & Hechizos(Spell).FXgrh & "," & Hechizos(Spell).loops)
    Call SendData(SendTarget.topcarea, UserIndex, UserList(UserIndex).Pos.Map, "CFF" & UserList(UserIndex).Char.CharIndex & "," & Hechizos(Spell).PART & "," & Hechizos(Spell).loops)
 
    If UserList(UserIndex).flags.Privilegios = PlayerType.User Then UserList(UserIndex).Stats.MinHP = UserList(UserIndex).Stats.MinHP - daño
 
    Call SendData(SendTarget.ToIndex, UserIndex, 0, "||" & Npclist(NpcIndex).name & " te ha quitado " & daño & " puntos de vida." & FONTTYPE_FIGHT)
    Npclist(NpcIndex).mana_min = Npclist(NpcIndex).mana_min - Hechizos(Spell).ManaRequerido
 
 
    'Muere
    If UserList(UserIndex).Stats.MinHP < 1 Then
        UserList(UserIndex).Stats.MinHP = 0
        Call UserDie(UserIndex)
    End If
End If
 
'Inmovilizar
If Hechizos(Spell).Inmoviliza = 1 Then
    If UserList(UserIndex).flags.Paralizado = 0 Then
          UserList(UserIndex).flags.Paralizado = 1
          UserList(UserIndex).Counters.Paralisis = IntervaloParalizado
          'la blue!
          Npclist(NpcIndex).mana_min = Npclist(NpcIndex).mana_min - Hechizos(Spell).ManaRequerido
          Call SendData(SendTarget.tonpcarea, NpcIndex, Npclist(NpcIndex).Pos.Map, "||" & vbCyan & "°" & Hechizos(Npclist(NpcIndex).Spells(INMOVILIZAR)).PalabrasMagicas & "°" & str(Npclist(NpcIndex).Char.CharIndex))
          Call SendData(SendTarget.topcarea, UserIndex, UserList(UserIndex).Pos.Map, "TW" & Hechizos(Spell).WAV)
          Call SendData(SendTarget.topcarea, UserIndex, UserList(UserIndex).Pos.Map, "CFX" & UserList(UserIndex).Char.CharIndex & "," & Hechizos(Spell).FXgrh & "," & Hechizos(Spell).loops)
          Call SendData(SendTarget.topcarea, UserIndex, UserList(UserIndex).Pos.Map, "CFF" & UserList(UserIndex).Char.CharIndex & "," & Hechizos(Spell).PART & "," & Hechizos(Spell).loops)
'PARADOK en alkon se envía con protocolos críticos.
          Call SendData(SendTarget.ToIndex, UserIndex, 0, "PARADOK")
       
    End If
End If
 
Exit Sub
 
errorh:
    LogError ("Error en BotHechiUser ")
 
 
End Sub
 
 
Sub PALA_BOT_AI(ByVal npcind As Integer)
On Error GoTo errorh
'On Error Resume Next
 
    Dim headingloop As Byte
    Dim nPos As WorldPos
    Dim X As Integer
    Dim Y As Integer
    Dim dist As Integer
    Dim distBestTarget As Integer
    Dim NPCPosX As Integer
    Dim NPCPosY As Integer
    Dim NPCPosM As Integer
    Dim NPCAlInd As Integer
    Dim UI As Integer
    Dim PJEnInd As Integer
    Dim BestTarget As Integer
    Dim PJBestTarget As Boolean
    Dim Memuevocomoloco As Boolean
    Dim azar As Integer
    Dim azar2 As Integer
    Dim t, t2 As Integer
 
    NPCPosM = Npclist(npcind).Pos.Map
    NPCPosX = Npclist(npcind).Pos.X
    NPCPosY = Npclist(npcind).Pos.Y
    'BestTarget = 0
    'dist = 0
    'distBestTarget = 0
 
 
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'Npclist(npcind).mana_max = 750 'ESTO LO DEBERÍA LEER DEL NPC-HOSTILES.DAT
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    'SI ESTÁ EN UN MAPA <> AL DEL USER INDEX EXIT SUB PARA EVITAR LABURO AL PEDO
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
 
 
    TomoPot = False 'en principio no está tomando pots
    Memuevocomoloco = True 'hasta que encuentre mejor target
 
 
    'SOY PALADÍN, actúo en función de la vida de mi contrincante!
 
    'amplio espectro de visión
    For X = NPCPosX - 10 To NPCPosX + 10
        For Y = NPCPosY - 10 To NPCPosY + 10
     
            NPCAlInd = MapData(NPCPosM, X, Y).NpcIndex  ''por si implementamos algo contra NPCs
            PJEnInd = MapData(NPCPosM, X, Y).UserIndex
         
            'en principio..
            If (PJEnInd > 0) Then
                '1) estoy paralizado
                If Npclist(npcind).Contadores.Paralisis > 0 Then
                    '2) tengo maná para removerme
                    If Npclist(npcind).mana_min >= Hechizos(Npclist(npcind).Spells(REMOVER)).ManaRequerido Then
                        '3) no espero nada, me remuevo
                        Call BotRemoBot(npcind, npcind, REMOVER)
                        Exit Sub 'suficiente!
                    '2) no tengo maná para removerme
                    Else
                        '3) priorizo ver cómo estoy de vida
                        If Npclist(npcind).Stats.MinHP < (Npclist(npcind).level * 3) Then
                            '4) tengo menos de (lvl * 3) en vida, prefiero plantar y potear
                            Call BotChupaPot(npcind, 1)
                        Else
                            '4) chupo blue
                            Call BotChupaPot(npcind, 2)
                        End If
                    End If
                '1) no estoy paralizado
                Else 'entonces ya puedo empezar a ver a quién ataco...
                    If (BestTarget > 0) Then
                        dist = Sqr((UserList(PJEnInd).Pos.X - NPCPosX) ^ 2 + (UserList(PJEnInd).Pos.Y - NPCPosY) ^ 2)
                        If (dist < distBestTarget) Then
                            BestTarget = PJEnInd
                            distBestTarget = dist
                        End If
                    Else
                        distBestTarget = Sqr((UserList(PJEnInd).Pos.X - NPCPosX) ^ 2 + (UserList(PJEnInd).Pos.Y - NPCPosY) ^ 2)
                        BestTarget = PJEnInd
                    End If
                    'si no está invi, ya lo puedo ir yendo a buscar...
                    If Not UserList(BestTarget).flags.Invisible = 1 Or UserList(BestTarget).flags.Oculto = 1 Then Memuevocomoloco = False
                 
                    '2) si él no está paralizado
                    If UserList(BestTarget).flags.Paralizado = 0 Then
                     
                        '3) nuevamente priorizo mi vida, hasta cierto punto
                        If Npclist(npcind).Stats.MinHP < (Npclist(npcind).level * 8) Then
                            '4) tomo rojas
                            Call BotChupaPot(npcind, 1)
                        '3) si tengo suficiente vida, veo cómo estoy de maná
                        ElseIf Npclist(npcind).mana_min < (Npclist(npcind).level * 12) Then
                            '4) tomo blues
                            Call BotChupaPot(npcind, 2)
                        End If
                        'está invi, menos probabilidad de acertar el inmo
                        If UserList(BestTarget).flags.Invisible = 1 Or UserList(BestTarget).flags.Oculto = 1 Then
                            'le tiramos inmo!
                            t = RandomNumber(1, 100)
                            'este sería el balance
                            If Npclist(npcind).mana_min > Hechizos(Npclist(npcind).Spells(INMOVILIZAR)).ManaRequerido Then
                                If t < (Npclist(npcind).level / 8) Then
                                    Call BotHechiUser(npcind, BestTarget, Npclist(npcind).Spells(INMOVILIZAR))
                                    Exit Sub 'suficiente!
                                End If
                            Else
                                Call BotChupaPot(npcind, 2)
                            End If
                        'no está invi, intentamos inomivilizarlo con menor margen de error
                        Else
                            If Npclist(npcind).mana_min > Hechizos(Npclist(npcind).Spells(INMOVILIZAR)).ManaRequerido Then
                                'lo vamos a buscar
                                Memuevocomoloco = False
                                'balance
                                t = RandomNumber(1, 100)
                                'este sería el balance
                                If t < (Npclist(npcind).level / 3) Then
                                    Call BotHechiUser(npcind, BestTarget, Npclist(npcind).Spells(INMOVILIZAR))
                                    Exit Sub 'suficiente!
                                End If
                            Else
                                Call BotChupaPot(npcind, 2)
                            End If
                        End If
                    '2) está paralizado?
                    Else 'acá lo tenemos que comer!
                        'Es donde el pala hace la diferencia, en vez de priorizar
                        'mi vida, si mi target está inmo, priorizo la de él ;)
                        'si su vida está por la mitad...
                        If UserList(BestTarget).Stats.MinHP < (UserList(BestTarget).Stats.MaxHP / 2) Then
                            'lo voy a buscar
                            Memuevocomoloco = False
                        'me arriesgo a no intentar bajarlo sólo si vale la pena
                        Else
                            '3) priorizo mi vida, hasta cierto punto
                            If Npclist(npcind).Stats.MinHP < (Npclist(npcind).level * 8) Then
                                '4) tomo rojas
                                Call BotChupaPot(npcind, 1)
                            '3) si tengo suficiente vida, veo cómo estoy de maná
                            ElseIf Npclist(npcind).mana_min < (Npclist(npcind).level * 6) Then
                                '4) tomo blues
                                Call BotChupaPot(npcind, 2)
                                Memuevocomoloco = False
                            End If
                        End If
                    '2)
                    End If
                '1)
                End If
            'en principio...
            End If
        Next Y
    Next X
 
    'si no estoy paralizado
    If Not Npclist(npcind).Contadores.Paralisis > 0 Then
        'si me tengo que mover como loco
        If Memuevocomoloco = True Then
            'atrapame si podés!
            Select Case RandomNumber(1, 4)
                Case 1
                    Call GreedyWalkTo(npcind, Npclist(npcind).Pos.Map, Npclist(npcind).Pos.X + 1, Npclist(npcind).Pos.Y)
                Case 2
                    Call GreedyWalkTo(npcind, Npclist(npcind).Pos.Map, Npclist(npcind).Pos.X - 1, Npclist(npcind).Pos.Y)
                Case 3
                    Call GreedyWalkTo(npcind, Npclist(npcind).Pos.Map, Npclist(npcind).Pos.X, Npclist(npcind).Pos.Y - 1)
                Case 4
                    Call GreedyWalkTo(npcind, Npclist(npcind).Pos.Map, Npclist(npcind).Pos.X, Npclist(npcind).Pos.Y + 1)
            End Select
        Else 'te voy a buscar
            Call GreedyWalkTo(npcind, UserList(BestTarget).Pos.Map, UserList(BestTarget).Pos.X, UserList(BestTarget).Pos.Y)
        End If
    End If
 
    'sólo ataco si no tomé pots
    If Not TomoPot And (Npclist(npcind).CanAttack = 1) Then
        ''teclavolaespada
        For headingloop = eHeading.NORTH To eHeading.WEST
            nPos = Npclist(npcind).Pos
            Call HeadtoPos(headingloop, nPos)
            If InMapBounds(nPos.Map, nPos.X, nPos.Y) Then
                UI = MapData(nPos.Map, nPos.X, nPos.Y).UserIndex
                If UI > 0 Then
                    If Not (UserList(UI).flags.Muerto = 1) Then
                        If NpcAtacaUser(npcind, UI) Then
                            'combeo sólo si vale la pena
                            'ante todo priorizo SU vida
                            'si le queda poca vida
                            If UserList(UI).Stats.MinHP < (UserList(UI).Stats.MaxHP / 4) Then
                                'si me alcanza el maná
                                If Npclist(npcind).mana_min >= Hechizos(COMBEAR).ManaRequerido Then
                                    t2 = RandomNumber(1, 3)
                                    If t2 = 1 Then Call BotHechiUser(npcind, BestTarget, Npclist(npcind).Spells(COMBEAR))
                                'no me alcanza el maná pero vale la pena intentar
                                Else
                                    'chupo pot
                                    Call BotChupaPot(npcind, 2)
                                End If
                            'me tiro un lance...
                            Else
                                t2 = RandomNumber(1, 8)
                                If t2 = 1 Then Call BotHechiUser(npcind, BestTarget, Npclist(npcind).Spells(COMBEAR))
                            End If
                        End If
                        Npclist(npcind).CanAttack = 0
                    End If
                End If
            End If
        Next headingloop
    End If
 
    If Not TomoPot Then
        If Npclist(npcind).mana_min < 500 Then
            Call BotChupaPot(npcind, 2)
        Else
            If Npclist(npcind).Stats.MinHP < Npclist(npcind).Stats.MaxHP Then
                Call BotChupaPot(npcind, 1)
            Else
                Call BotChupaPot(npcind, 2)
            End If
        End If
    End If
 
Exit Sub
 
errorh:
    LogError ("Error en PALA_BOT_AI? ") & Error
 
 
End Sub
 
Sub BotChupaPot(ByVal npcind As Integer, ByVal Pocion As Integer)
 
If TomoPot = True Then Exit Sub
 
Select Case Pocion
 
Case 1 'ROJAS
    If Npclist(npcind).Stats.MinHP > Npclist(npcind).Stats.MaxHP Then _
    Npclist(npcind).Stats.MinHP = Npclist(npcind).Stats.MaxHP
    If Not Npclist(npcind).Stats.MinHP >= Npclist(npcind).Stats.MaxHP Then
        Npclist(npcind).Stats.MinHP = Npclist(npcind).Stats.MinHP + 30 'intervalo de pot
        Call SendData(SendTarget.tonpcarea, npcind, Npclist(npcind).Pos.Map, "TW" & SND_BEBER)
        TomoPot = True
    End If
    'OSI!!! actualizamos
    Call MakeNPCChar(SendTarget.ToMap, 0, 0, npcind, Npclist(npcind).Pos.Map, Npclist(npcind).Pos.X, Npclist(npcind).Pos.Y)
 
Case 2 'BLUES
    If Npclist(npcind).mana_min > Npclist(npcind).mana_max Then _
    Npclist(npcind).mana_min = Npclist(npcind).mana_max
    If Not Npclist(npcind).mana_min >= Npclist(npcind).mana_max Then 'intervalo de pot
        Npclist(npcind).mana_min = Npclist(npcind).mana_min + RandomNumber(20, 20) '12, 20
        'le puse 20,20 para que recupere más maná pobre bot!
        Call SendData(SendTarget.tonpcarea, npcind, Npclist(npcind).Pos.Map, "TW" & SND_BEBER)
        TomoPot = True
    End If
 
End Select
 
End Sub
 

En Private Sub TIMER_AI_Timer abajo de e_p = esPretoriano(NpcIndex) pones
Código:
e_p = esBot(NpcIndex)

Abajo de
Código:
If e_p > 0 Then
                If Npclist(NpcIndex).flags.Paralizado = 1 Then Call EfectoParalisisNpc(NpcIndex)
                Select Case e_p
                    Case 1  ''clerigo
                        Call PRCLER_AI(NpcIndex)
                    Case 2  ''mago
                        Call PRMAGO_AI(NpcIndex)
                    Case 3  ''cazador
                        Call PRCAZA_AI(NpcIndex)
                    Case 4  ''rey
                        Call PRREY_AI(NpcIndex)
                    Case 5  ''guerre
                        Call PRGUER_AI(NpcIndex)
                End Select

Pones
Código:
ElseIf e_b > 0 Then
             
                Select Case e_b
                    Case 1 ''Pala
                        Call PALA_BOT_AI(NpcIndex)
                End Select

En Public Enum eNPCType mandas
Código:
BotEnemigo = 10

abajo de
Código:
NPCtype As eNPCType
    Numero As Integer

Pones
Código:
'MANÁ (para los bots)
    mana_min As Integer
    mana_max As Integer

Abajo de
Código:
Npclist(NpcIndex).NPCtype = val(GetVar(npcfile, "NPC" & NpcNumber, "NpcType"))

pones
Código:
Npclist(NpcIndex).mana_max = val(GetVar(npcfile, "NPC" & NpcNumber, "manamax"))
Npclist(NpcIndex).mana_min = val(GetVar(npcfile, "NPC" & NpcNumber, "manamin"))

Abajo de
Código:
Npclist(NpcIndex).flags.Faccion = val(Leer.GetValue("NPC" & NpcNumber, "Faccion"))

Pones
Código:
Npclist(NpcIndex).mana_max = val(Leer.GetValue("NPC" & NpcNumber, "manamax"))
Npclist(NpcIndex).mana_min = val(Leer.GetValue("NPC" & NpcNumber, "manamin"))

Listo el código.

Ahora vas a los datNPC y creas
[NPCxxx]
Name=Bot Paladín
NpcType=10 (SI LO CAMBIAN EN EL SERVER, CÁMBIENLO ACÁ TAMBIÉN)
Level=50 (ESTE NÚMERO SE RELACIONA CON EL BALANCE DEL BOT)
manamax=800 (IMPORTANTE)
manamin=800 (IMPORTANTE)
Head=7
Body=45
Heading=3
Movement=3
Attackable=1
Hostile=1
Alineacion=2
ReSpawn=1
GiveEXP=1
GiveGLD=1
MinHP=420
MaxHP=420
MaxHIT=200
MinHIT=180
DEF=100
PoderAtaque=600
PoderEvasion=250
LanzaSpells=3 (IMPORTANTÍSIMO! NO MODIFICAR)
Sp1=24 (IMPORTANTÍSIMO! NO MODIFICAR -RESPONDE A UNA CONSTANTE-)
Sp2=10 (IMPORTANTÍSIMO! NO MODIFICAR -RESPONDE A UNA CONSTANTE-)
Sp3=23 (IMPORTANTÍSIMO! NO MODIFICAR -RESPONDE A UNA CONSTANTE-)
NROITEMS=0
avatar
kHALED
Retirado
Retirado

Premios :
[1º P]Diseñador gráfico.
[1º P]Concurso de físico.
[1º P]Diseño de interfaces.
[1º P]Gráfica Manual Sketch.
[1º P]Diseñador gráfico manual.
[1º P]Torneo de LoL por equipos.
[1ºP]Concurso banner Halloween 2014
[2ºP]Torneo 1vs1 [LoL]
Cantidad de envíos : 10430
Edad : 20
Localización : Valhala
Fecha de inscripción : 09/03/2012

Ver perfil de usuario http://www.aesir-online.com/forum/

Volver arriba Ir abajo

Re: Como creo bots?

Mensaje por GoDKeR el 6/3/2014, 2:47 pm

http://www.gs-zone.org/matih_bots_tmp3.html
avatar
GoDKeR
Staff Aesir Online
Staff Aesir Online

¿BANEADO? : No.
Premios :
[1ºP]Torneo de LoL por equipos.
Cantidad de envíos : 49
Edad : 24
Localización : Mendoza
Fecha de inscripción : 11/11/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: Como creo bots?

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.