Hola!... miren yo estoy trabajando con visual basic 6.0 orientado en argentum online, es el primero mmorpg argentino.
Se manjea con un cliente servidor.
Usuarios y administradores.
Bueno, como en todo mmorpg, hay chiters, y diferentes tipos.
los mas molestos vendrian a ser los insistentes, es decir que no dejan de chitiar por mas que los banees, o banees la ip, ya q tienen dinamica.
Estuve pensando, una forma de blockearlo a traves del cliente, y encontre una manera de hacerlo, pero no es lo suficiente mente eficas miren:
Asi esta en el servidor, que accedemos los administradores a los diferentes comandos:
Código:
If UCase$(Left$(rData, 10)) = "/BLOCKEAR " Then
rData = Right$(rData, Len(rData) - 10)
tIndex = NameIndex(rData)
If tIndex <= 0 Then
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Usuario offline." & FONTTYPE_INFO)
Exit Sub
End If
UserList(tIndex).flags.Ban = 1
Call Ban(UserList(tIndex).name, UserList(UserIndex).name, "Bloqueo de Cliente")
Call WriteVar(CharPath & UCase(UserList(tIndex).name) & ".chr", "FLAGS", "Ban", "1")
'ponemos la pena
tInt = val(GetVar(CharPath & UCase(UserList(tIndex).name) & ".chr", "PENAS", "Cant"))
Call WriteVar(CharPath & UCase(UserList(tIndex).name) & ".chr", "PENAS", "Cant", tInt + 1)
Call WriteVar(CharPath & UCase(UserList(tIndex).name) & ".chr", "PENAS", "P" & tInt + 1, LCase$(UserList(UserIndex).name) & " le Bloqueó el Cliente" & " " & Date & " " & Time)
Call SendData(SendTarget.ToIndex, tIndex, 0, "ABBLOCK")
Call SendData(SendTarget.ToIndex, UserIndex, 0, "||Cliente Bloqueado con Exito :)" & FONTTYPE_INFO)
Exit Sub
End If
y en el cliente del usuario seria asi:
Código:
Case "ABBLOCK"
Call WriteVar(App.Path & "\init\version.dat", "VERSION", "Graficos", "1")
Call MsgBox("Tu Cliente ha sido Bloqueado")
End
Exit Sub
despues en el sub main esta
Código:
Dim EstaBloqueado As Byte
EstaBloqueado = Val(GetVar(App.Path & "\init\version.dat", "VERSION", "Graficos"))
If EstaBloqueado = 1 Then
Call MsgBox("Tu Cliente ha sido Bloqueado, Consulta a un Game Master para Solucionarlo", vbCritical + vbOKOnly)
End
ai verifico si esta bloqueado o no
es decir, asi le bloqueas la makina para q no pueda volver a entrar.
Pero ya mucha gente conoce este sistema asique no funciona.
Mi idea era agregar en el case "ABBLOCK"
que creara un bloc de notas, en el disco C>Windows
un archivo.txt/ini/dat
en el cual inscribiera:
[VERSION]
Graficos=0
luego lo controlaria asi:
Código:
Dim EstaBloqueados As Byte
EstaBloqueados = Val(GetVar(App.Path & "C:\WINDOWS\version.dat", "VERSION", "Graficos"))
If EstaBloqueados = 1 Then
Call MsgBox("Tu Cliente ha sido Bloqueado, Consulta a un Game Master para Solucionarlo", vbCritical + vbOKOnly)
End
y de esa manera podria blockear definitivamente al que yo kisiera.
y no tendria remedio a menos que yo se lo diera :)
Bueno en resumen, kiero que a traves de un codigo mi .exe crear un archivo
version.dat/txt/ini (me da = ), y que adentro diga
[VERSION]
Graficos=0
Espero averme expresado correctamente.
Desde ya gracias.