Comunidad De Diversion Latina Y Diversion Sa-mp
¡Wow! Que Onda Colega!, Soy Zhelox! (:! Que esperas a Iniciar Sesión D: ! Así podrás ver los Nuevos Mensajes del Foro y sus Actualizaciones ;D !.... Ohm... Espera!, ¿Eres Nuevo?, ¿Necesitas Saber Algo? ¿Preguntar Alguna Duda? ¿Necesitas Ayuda en tu server?, o: ! Pues que esperas a Registrarte en Nuestra Comunidad De SA: MP de Diversión Latinoamericana Y a Resolver Todas Tus Dudas y Problemas Referidos Al Juego ;D ! Y desde Luego Actuar Con Nosotros y Nuestra Comunidad Si es que lo Deseas... Suerte! Very Happy

Unirse al foro, es rápido y fácil

Comunidad De Diversion Latina Y Diversion Sa-mp
¡Wow! Que Onda Colega!, Soy Zhelox! (:! Que esperas a Iniciar Sesión D: ! Así podrás ver los Nuevos Mensajes del Foro y sus Actualizaciones ;D !.... Ohm... Espera!, ¿Eres Nuevo?, ¿Necesitas Saber Algo? ¿Preguntar Alguna Duda? ¿Necesitas Ayuda en tu server?, o: ! Pues que esperas a Registrarte en Nuestra Comunidad De SA: MP de Diversión Latinoamericana Y a Resolver Todas Tus Dudas y Problemas Referidos Al Juego ;D ! Y desde Luego Actuar Con Nosotros y Nuestra Comunidad Si es que lo Deseas... Suerte! Very Happy
Comunidad De Diversion Latina Y Diversion Sa-mp
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

[Guia] OnPlayerKeyStateChange

Ir abajo

[Guia] OnPlayerKeyStateChange Empty [Guia] OnPlayerKeyStateChange

Mensaje por Ronald Dom Sep 14, 2008 7:40 pm

Hoy de aburrido me puse a leer un poco de pawno en la wiki y en el foro y encontre esta funcion q esta muy interesante:

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys).

Con este callback podemos hacer que el usuario X a la hora de apretar la tecla shift + alt (por ejemplo) suseda que se cure por 500$ y le aparesca un mensaje que le diga que activado tal truco.


Código:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if ((newkeys & (KEY_WALK | KEY_JUMP)) == (KEY_WALK | KEY_JUMP))
{
SetPlayerHealth(playerid,100.00);
GivePlayerMoney(playerid,-500);
GameTextForPlayer(playerid,"~y~Truco Activado");
}
}



NOMBRES DE LAS TECLAS DEL SAN ANDREAS

KEY_SPRINT = Click Izquierdo

KEY_SECONDARY_ATTACK = Boton F o Enter

KEY_JUMP = Shift

KEY_CROUCH = C

KEY_LOOK_RIGHT = D

KEY_HANDBRAKE

KEY_LOOK_LEFT = A

KEY_SUBMISSION

KEY_LOOK_BEHIND = Scroll

KEY_WALK = Alt

KEY_UP = Flecha para arriba

KEY_DOWN = Flecha para abajo

KEY_LEFT = Flecha para la izquierda

KEY_RIGHT = Flecha para la derecha


PD: Pronto lo are con el coso que te dice "Cheat Activated/Truco Activado" en la esquina

COMO HACER TUS PROPIOS TRUCOS

Podemos hacer infinidades de combinaciones para los trucos, pero, no siempre es bueno, por que por ejemplo que hagamos 100 trucos, con todas las teclas, y el jugador por curiosidad o equivocacion, presiona una combinacion de telcas, descubriria un truco, y no mas pararia diciendoselo a todo el server, y perderia el toque de "juego limpio". Aunque si los trucos sehan de telenstransporte, carros, etc (que no sea armadura o vida o plata) no abria inconvenientes.

1. Creando el callback.

Podemos Crear el callback en cualquier parte de nuestro GM, inclusive en un FS, en este caso yo lo voy a poner al final de todo.

Código:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)


2. Poniendo la combinacion de teclas

Debajo de nuestra callback debemos poner que teclas son las que desencadenaran cierta funcion.

Código:
if ((newkeys & (KEY_SPRINT | KEY_CROUCH)) == (KEY_SPRINT | KEY_CROUCH))


Cuando el jugador presione el click izquierdo + el Scroll , susederá algo.

Otro metodo ("Defines")

Si nuestra combinacion de teclas es mas de 3 o de 2 teclas , para q no se vea algo muy grande podemos definir una palabra como esta: "TECLAS_TRUCO"
Código:

#define TECLAS_TRUCO (Tu tecla 1|Tecla 2| Tecla 3.....)


Definiendo "TECLAS_TRUCO" en ves de poner un millon de teclas en nuestra combinacion, solo pondremos una: "TECLAS_TRUCO".

Ej:
Código:

if ((newkeys & TECLAS_TRUCO) == TECLAS_TRUCO && (oldkeys & TECLAS_TRUCO) != TECLAS_TRUCO)


3. Consecuencias de la combinacion.

Luego de poner nuestra combinacion , definiendola o no, debemos poner que algo suseda. Eso ya es muy facil de hacer ,mirando el ejemplo se daran cuenta cual es.


4. Return o No Return

Es dependiendo, si lo hacemos en un GM NO DEBEMOS PONER RETURN y si lo pones en un FS si debes ponerlo.

5. Atajos para admin

Podemos utilizar esto como un atajo ppara un admin:

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
Código:
{
if ((newkeys & (KEY_SPRINT | KEY_JUMP)) == (KEY_SPRINT | KEY_JUMP))
{
If(IsPlayerAdmin=playerid);
GameText ForPlayer("No usen cheats");
else if(SendClientMessage("No eres Admin");
}
}
Ronald
Ronald
Root Admin
Root Admin

Cantidad de envíos : 1393
Puntos diversión latina. : -8
Fecha de inscripción : 10/09/2008

https://diversionlatina.forosactivos.net

Volver arriba Ir abajo

Volver arriba

- Temas similares

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