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:
y en el cliente del usuario seria asi: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
Código:
despues en el sub main estaCase "ABBLOCK" Call WriteVar(App.Path & "\init\version.dat", "VERSION", "Graficos", "1") Call MsgBox("Tu Cliente ha sido Bloqueado") End Exit Sub
Código:
ai verifico si esta bloqueado o noDim 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
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:
y de esa manera podria blockear definitivamente al que yo kisiera.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 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.