FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Button [help]
hola.
tengo un problemita quiero un boton que ejecute una acción de acuerdo a cierta condición.... ejemplo: Código:
procedure Taa.btn1Click(Sender: TObject); begin if Num = 0 then begin pbyte(Resultado)^:=20; end; if Num = 1 then begin pbyte(Resultado)^:=30; end; end; |
#2
|
||||
|
||||
¿Por qué dices que no hace nada el if?
Por cierto, por favor, procura poner títulos descriptivos a tus consultas, gracias. |
#3
|
|||
|
|||
Tienes razon, intentare explicar todo desde el inicio ojala puedan ayudarme amigos ya que ustedes son los dioses del delphy
yo uso Delphy para crear un archivo DLL este archivo DLL me permite modificar los valores de algunos codigos dentro de algun juego en especifico. ejemplo: el codigo 01885514 en el juego equivale a 2 en Byte, 5100 en 4 byte, 25458965415846954789 en 8 byte. pero mi me intresa solo el valor en BYTE (ojo es un ejemplo) Código:
const balas = $01885514; // este valor no siempre es 2 aveces cambia a 5 o 8 Código:
procedure Taa.btn1Click(Sender: TObject); begin if balas = 2 then // aqui pregunto si el valor de las balas es 2 en el caso de que si fuera 2 entonces lo va cambiara a 20 begin pbyte(balas)^:=20; end; end; lo se porque intente sin usar el if de esta forma: Código:
procedure Taa.btn1Click(Sender: TObject); begin pbyte(balas)^:=20; end; |
#4
|
||||
|
||||
Pon un punto de ruptura (breakpoint) en el "if" y mira qué valor tiene la variable que comparas.
|
#5
|
|||
|
|||
como asi ?
|
#6
|
||||
|
||||
Pones el cursor en la linea del "if", y pulsas F5
Ejecutas el programa y se parará en esa línea. Pones el ratón encima de la variable y verás el valor que tiene. |
#7
|
|||
|
|||
no nada. por cierto yo uso delphi 7
|
#8
|
||||
|
||||
De nada, vale.
|
#9
|
||||
|
||||
Aquí hay mucha tela que cortar.
Primero, el tema del orden de los octetos (bytes), que puede que tú estés usando little-endian pero el juego use big-endian (por ejemplo, juego en red con clientes x86 pero servidores 68K, PowerPC o SPARK). Segundo, que el propio juego deshaga los cambios silenciosamente o ignore los cambios que hagas mediante un patrón de "código crítico", "sand-box" u otras técnicas anti-cheating. Un ejemplo muy simple y no infalible pero que haría rascarse la cabeza a más de dos: Con el código anterior da igual que cambies el número de balas en el procedimiento DLL, porque siempre recuperará el valor anterior, incluso aunque cambies el valor directamente en memoria RAM. Claro que ahora me puedes venir con que puedes hacer el cambio en "Balas" y blablablabla... pero no vamos a ponernos aquí a discutir técnicas anti-cheating porque no es el sitio adecuado. Tercero, he visto que no es ninguna de las dos cosas anteriores, sino un fallo muy tonto que no voy a decirte más que nada porque me molesta mucho que la gente haga trampas cuando juega, a videojuegos o a lo que sea. Un saludo. Última edición por Ñuño Martínez fecha: 29-12-2019 a las 12:48:52. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
DBGrid con Button | gsilvei | Varios | 8 | 06-07-2011 19:23:12 |
button | mjjj | Varios | 5 | 11-06-2007 20:45:40 |
BUtton | yoko | Varios | 1 | 30-06-2006 04:28:05 |
Button en DBgrid | Iskariote0087 | Varios | 2 | 15-05-2006 13:06:13 |
colores a un Button | dmagui | OOP | 3 | 27-06-2005 19:51:44 |
|