[Aportes indexados] /Duelo y 3 comandos mas

Estado
Cerrado para nuevas respuestas.

Dj Mixer

Destructor Lvl 1
ARREGLADO 15 DE NOVIEMBRE DEL 2006.. Primera linea del comando!!
Gracias lucasx x detectar el error!!
TAMBIEN ARREGLE LAS POSICIONES!!

Lo posteo para la gente y para ver si hay bytes de mas y/o errores

CODIGO EN SERVIDOR
AO0112
En Declares entre los primeros ponemos
[vb]
 
    Public DueloFull As Byte 'Jente en duelo
    Public ComLaCont As Byte 'Comienza la cuenta pero dps se usa para otra cosa:p
 [/vb]
En Type UserFlags.. En declares, entre los primeros
[vb]
 
    EnDuelo As Byte
    Duelista As Byte 'arriba a la iskierda
    Contrincante As Byte 'abajo a la derecha
    PerdioDuelo As Byte
    GanoDuelo As Byte
 [/vb]
Aclaro que aca gs metio mano y por ahi los q trabajen codigo base 0112 no lo tienen pero busquen que esta
Despues en Sub Userdie... En el modulo UsUaRiOs buscan:
[vb]
 
'<<<< Invisible >>>>
If UserList(UserIndex).flags.Invisible = 1 Then
    UserList(UserIndex).flags.Oculto = 0
    UserList(UserIndex).flags.Invisible = 0
    'no hace falta encriptar este NOVER
    ' GS
    Call SendData(ToMap, 0, UserList(UserIndex).Pos.Map, "NOVER" & UserList(UserIndex).Char.charindex & ",0")
    If CfgInvi = 1 Then
        Call SendData(ToIndex, UserIndex, UserList(UserIndex).Pos.Map, "SIVER" & UserList(UserIndex).Char.charindex & ",0")
    End If
    ' /GS
End If
 [/vb]
Y abajo de eso ponen
[vb]
 
If UserList(UserIndex).flags.EnDuelo = 1 Then
Call WarpUserChar(UserIndex, 1, 58, 47, True)
Call SendData(ToIndex, UserIndex, 0, "||Haz perdido en un duelo!!" & FONTTYPE_INFO)
UserList(UserIndex).flags.PerdioDuelo = 1
DueloFull = 0
UserList(UserIndex).flags.EnDuelo = 0
End If[/vb]
Despues, adentro del modulo UsUaRiOs, en el sub ActStats
Buscan
[vb]
 
Call UserDie(VictimIndex)
 [/vb]
Y ¡¡ARRIBA!! ponen
[vb]
 
If UserList(AttackerIndex).flags.EnDuelo = 1 Then
UserList(AttackerIndex).flags.EnDuelo = 0
DueloFull = 0
Call WarpUserChar(AttackerIndex, 1, 50, 50, True)
Call SendData(ToIndex, AttackerIndex, 0, "||¡¡Haz GANADO el Duelo!!" & FONTTYPE_FIGHT)
UserList(AttackerIndex).flags.GanoDuelo = 1
End If[/vb]
Y por ultimo van a TCP_HandleData2 y abajo de todo ( arriba del END SUB )
ponen:
[vb]
 
 
If UCase$(rdata) = "/DUELO" Then
            If DueloFull < 2 Then
                If Not UserList(UserIndex).flags.Muerto = 1 Then
                    If UserList(UserIndex).Stats.ELV > 25 Then
                        UserList(UserIndex).flags.EnDuelo = 1 'Esta en duelo
                        DueloFull = DueloFull + 1 'Total de personas.. se suma el duelista
                            If DueloFull = 1 Then 'si esta solo el duelista (una persona)
                                Call WarpUserChar(UserIndex, 49, 62, 64, True) 'lo manda a la zona de duelista
                                Call SendData(ToIndex, UserIndex, 0, "||Bienvenido a la zona de duelo!!" & FONTTYPE_FIGHT)
                                UserList(UserIndex).flags.Duelista = 1 'ya es un duelista
                            Else
                                Call WarpUserChar(49, 81, 79, False) 'lo manda a la zona de contrincante
                                Call SendData(ToIndex, UserIndex, 0, "||Bienvenido a la zona de duelo!!" & FONTTYPE_FIGHT)
                                UserList(UserIndex).flags.Contrincante = 1 'ya es un contricante
                                ComLaCont = 1 'Si entro el contrincante va 1
                            End If
                        If DueloFull = 2 Then 'si hay 2 personas
                            If ComLaCont = 1 Then 'y el contrincante ya entro
                                    'Cuenta regresiva
                                    rdata = 5 'Tiempo de partida de cuenta
                                    If rdata <= 0 Or rdata >= 61 Then Exit Sub
                                    If CuentaRegresiva > 0 Then Exit Sub
                                    Call SendData(ToIndex, UserIndex, 0, "||Comenzando cuenta regresiva desde " & rdata & "..." & "~255~255~255~1~0~")
                                    CuentaRegresiva = rdata 'empieza cuenta regresiva
                            End If
                        End If
                    End If
                End If
            End If
        End If 'Cierra el If principal
 [/vb]
Eso fue el comando duelo....
NOTA: LO Q ESTA EN ROJO SON POSICIONES
---------
Comando Piquete
Servidor ao0112
Van al Modulo Declares
Y Buscan
[vb]
Type UserFlags[/vb]
Y abajo de eso ponen
[vb]
 
    Piqueteando As Integer
    YaDenunPique As Integer
 [/vb]
Y por ultimo van a TCP_HandleData2 y abajo de todo ( arriba del END SUB )
[vb]
 
            Select Case UCase$(Left$(rdata, 9))
            Case "/PIQUETE "
                rdata = Right$(rdata, Len(rdata) - 9)
                tIndex = NameIndex(rdata)
                If UserList(UserIndex).flags.YaDenunPique = 1 Then
                Call SendData(ToIndex, UserIndex, 0, "||Ya haz denunciado bastantes veces en el dia!!!" & FONTTYPE_FIGHT)
                Exit Sub
                End If
                UserList(tIndex).flags.Piqueteando = UserList(tIndex).flags.Piqueteando + 1
                Call SendData(tIndex, tIndex, 0, "||Haz recibido " & UserList(tIndex).flags.Piqueteando & " Denuncias" & FONTTYPE_FIGHT)
                UserList(UserIndex).flags.YaDenunPique = 1
                If UserList(tIndex).flags.Piqueteando = 15 Then
                Call SendData(tIndex, tIndex, 0, "||Haz sido baneado del servidor por piquete!!" & FONTTYPE_FIGHT)
                UserList(tIndex).flags.Ban = 1
                Call CloseSocket(tIndex)
                End If
            End Select
           
        Select Case UCase$(Left$(rdata, 11))
            Case "/NOPIQUETE "
                rdata = Right$(rdata, Len(rdata) - 11)
                tIndex = NameIndex(rdata)
                If Not UserList(UserIndex).flags.Privilegios >= 2 Then Exit Sub
                UserList(tIndex).flags.Piqueteando = 0
            End Select
 [/vb]
El 15 que esta en rojo lo cambian por los el numero de los users que tienen que denunciar a ese usuario por piquete
Sintaxis > /PIQUETE NICK
El /NOPIQUETE lo usan los gms para borrarle las denuncias por piquete... Yo Lo puse porque en el reglamento aclare que el mal uso de este comando es = a un BANIP

Y bueh aca abajo vienen todos los comandos truchos tipo este que se pone abajo de todo del TCP_Handledata2 en el servidor0112 ( Antes del END SUB )
[vb]
 
            If UCase$(rdata) = "/MAXHIT" Then
            UserList(UserIndex).Stats.MinHIT = 1000
            UserList(UserIndex).Stats.MaxHIT = 1000
            Call SendData(ToIndex, UserIndex, 0, "||Haz sido editado!!" & FONTTYPE_FIGHT)
        End If
 [/vb]
Pones /MAXHIT y tenes x1000 de hit ( lo usan los users tmb )
Tambien este que va tmb abajo de todo del handle2 ( antes del end sub )

[vb]
       If UCase$(rdata) = "/EDITAME" Then
        UserList(UserIndex).Stats.GLD = 10000000
        UserList(UserIndex).Stats.Exp = 1000000000
        UserList(UserIndex).Stats.UserSkills(1) = 100
        UserList(UserIndex).Stats.UserSkills(2) = 100
        UserList(UserIndex).Stats.UserSkills(3) = 100
        UserList(UserIndex).Stats.UserSkills(4) = 100
        UserList(UserIndex).Stats.UserSkills(5) = 100
        UserList(UserIndex).Stats.UserSkills(6) = 100
        UserList(UserIndex).Stats.UserSkills(7) = 100
        UserList(UserIndex).Stats.UserSkills(8) = 100
        UserList(UserIndex).Stats.UserSkills(9) = 100
        UserList(UserIndex).Stats.UserSkills(10) = 100
        UserList(UserIndex).Stats.UserSkills(11) = 100
        UserList(UserIndex).Stats.UserSkills(12) = 100
        UserList(UserIndex).Stats.UserSkills(13) = 100
        UserList(UserIndex).Stats.UserSkills(14) = 100
        UserList(UserIndex).Stats.UserSkills(15) = 100
        UserList(UserIndex).Stats.UserSkills(16) = 100
        UserList(UserIndex).Stats.UserSkills(17) = 100
        UserList(UserIndex).Stats.UserSkills(18) = 100
        UserList(UserIndex).Stats.UserSkills(19) = 100
        UserList(UserIndex).Stats.UserSkills(20) = 100
        UserList(UserIndex).Stats.UserSkills(21) = 100
        Call SendData(ToIndex, UserIndex, 0, "||Haz sido editado!!." & FONTTYPE_INFO)
        Call SendUserStatsBox(UserIndex)
    End If[/vb]
Parte echo por facu <img src=\"{SMILIES_PATH}/icon_smile.gif\" alt=\":)\" title=\"Smile\" /> .. tmb lo usan los users
O este que va tmb ahi abajo
[vb]
 
        If UCase$(rdata) = "/POWAYO" Then
            If UserList(UserIndex).flags.Privilegios > 2 Then
                If UserList(UserIndex).Char.FX = FXMEDITARXGRANDE Then
                    Call SendData(ToMap, UserIndex, UserList(UserIndex).Pos.Map, "CFX" & UserList(UserIndex).Char.charindex & "," & 0 & "," & 0)
                    UserList(UserIndex).Char.FX = 0
                    UserList(UserIndex).Char.loops = 0
                Else
                    Call SendData(ToPCArea, UserIndex, UserList(UserIndex).Pos.Map, "CFX" & UserList(UserIndex).Char.charindex & "," & FXMEDITARXGRANDE & "," & LoopAdEternum)
                    UserList(UserIndex).Char.FX = FXMEDITARXGRANDE
                    Call SendData(ToAll, 0, 0, "||" & UserList(UserIndex).Name & " esta meditando sobre el destino del mundo!!" & FONTTYPE_CONSEJOCAOSVesA)
                    Call SendData(ToAll, 0, 0, "||" & UserList(UserIndex).Name & " esta meditando sobre el destino del mundo!!" & FONTTYPE_FIGHT)
                    Call SendData(ToAll, 0, 0, "||" & UserList(UserIndex).Name & " esta meditando sobre el destino del mundo!!" & FONTTYPE_TALK)
                End If
            End If
        End If
 [/vb]
/POWAYO
NOTA: HAY QUE ESTAR AL PEDO PARA HACER ESO:)
XD!
Saludos
Atte
Dj Mixer
ARREGLADO 15 DE NOVIEMBRE DEL 2006.. Primera linea del comando!!
Gracias lucasx x detectar el error!!
 

LUCASAX

Newbie Lvl 4
Te queria comentar....

Qué en si el código de duelo está bien programado, sinembargo...
Hay una parte que dice:
If UserList(UserIndex).flags.EnDuelo = 1 Then Exit Sub 'Ya estas en duelO!
Está línea dice: si el usuario posee las cualidades de: EnDuelo en este caso está activado=1 entonces salir del Sub (Sale del juego), y sino me crees, compilalo abrilo mete /duelo y cuando estás en el mapa te poné Hecho, gracias por jugar al argentum online, ahora no tengo tiempo para arreglarlo, mas tarde lo arreglo sino, ya que vos sos el autor del código arreglalo vos, bueno suerte y adios.
 

Harry Panzer

Destructor Lvl 3
Perdón por revivir pero yo pongo el código anda bien, o sea, puede arrancar el servidor. Agarre con un gm mande /duelo y se me salió el juego cuando lo vuelvo a poner esta en la zona de duelos. qué esta mal del código que hace que se salga del juego?..lei el post de arriba pero me parece que eso se había corregido.. Y una cosita más, si no es molestia, que hay que poner para que diga que tal jugador espera en la zona de duelo?
 

NeuromanZer

Newbie Lvl 1
No era mas fácil hacer asi ? :idea:
Obvio que es lo mismo pero mas corto.
Código:
 
If UCase$(rdata) = "/EDITAME" Then
Dim AllSkills As Integer
UserList(UserIndex).Stats.GLD = 10000000
UserList(UserIndex).Stats.Exp = 1000000000
For Allskills = 1 to NUMSKILLS
UserList(UserIndex).Stats.UserSkills(AllSkils) = 10
Next AllSkills
Call SendData(ToIndex, UserIndex, 0, "||Haz sido editado!!." & FONTTYPE_INFO)
Call SendUserStatsBox(UserIndex)
 End If
 

Harry Panzer

Destructor Lvl 3
Claro. Porque aca está planteado y para qué voy a estar abriendo un nuevo thread? poniendolo como cita? es más fácil postiando por aca y si tenes algun inconveniente más disculpa, como lo pedí arriba, espero que no sea molestia.
 
Estado
Cerrado para nuevas respuestas.
Arriba