GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: anthony_54 le 14 Février 2011, 20:04:35

Titre: Flip touche
Posté par: anthony_54 le 14 Février 2011, 20:04:35
Voilà j'aimerai savoir comment ajouter une touche pour retourner mon véhicules

Qui ce présenterai comme ceci :
 
Pas avec KEY_FIRE biensure ^^

Code: (pawn) [Sélectionner]
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if (PRESSED(KEY_FIRE))
{
new
vehicleid = GetPlayerVehicleID(playerid);
if (vehicleid)
{
AddVehicleComponent(vehicleid, 1010);
}
}

    return 1;
}

es ce que quelqu'un a une idée svp ?
Titre: Re : Flip touche
Posté par: Ssk le 14 Février 2011, 20:23:00
Le code que tu donne ne flip pas la voiture, mais il donne tu nitro ^^


Pour flip un véhicule tu doit lui change son angle Z ^^
Titre: Re : Flip touche
Posté par: anthony_54 le 14 Février 2011, 20:25:06
Bah justement
Ont va dire que c'est un exemple.
Maintenant je voudrait le même style de commandes mais avec flip.

C'est possible ?

Titre: Re : Flip touche
Posté par: cristab le 14 Février 2011, 20:28:26
#define PRESSED(%0) \
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if (PRESSED(KEY_FIRE))
{
new
vehicleid = GetPlayerVehicleID(playerid);
if (vehicleid)
{
AddVehicleComponent(vehicleid, 1010);
}
}
    if (PRESSED(clef))
{
//code
}

    return 1;
}
je pige pas pourquoi tu ne comprend pas
Titre: Re : Flip touche
Posté par: anthony_54 le 14 Février 2011, 20:39:47
Ok je vois ^^ sayé

Code: (pawn) [Sélectionner]
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_SUBMISSION)
{
if(IsPlayerInAnyVehicle(playerid))
{
  {
            SetVehicleHealth(GetPlayerVehicleID(playerid),1000.0);
            RepairVehicle(GetPlayerVehicleID(playerid));
             PlayerPlaySound(playerid, 1133, 0.0, 0.0, 0.0);
         }
}
}
    if (PRESSED(KEY_FIRE))
{
new
vehicleid = GetPlayerVehicleID(playerid);
if (vehicleid)
{
AddVehicleComponent(vehicleid, 1010);
}
}
    if (PRESSED(KEY_))
{
    new VehicleID, Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    VehicleID = GetPlayerVehicleID(playerid);
    SetVehiclePos(VehicleID, X, Y, Z);
    SetVehicleZAngle(VehicleID, 0);
    PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
}

    return 1;
}

Maintenant quel autres KEY je peut utiliser ?

http://wiki.sa-mp.com/wiki/GetPlayerKeys (http://wiki.sa-mp.com/wiki/GetPlayerKeys)
Merci pour les infos :D
Titre: Re : Flip touche
Posté par: Xolokos le 16 Février 2011, 14:54:27
Serait plus tôt ça ?

GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
SetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z + 1);
SetVehicleZAngle(GetPlayerVehicleID(playerid),Angle);
Titre: Re : Flip touche
Posté par: anthony_54 le 16 Février 2011, 20:15:46
Le mien fonctionne très bien aussi ^^
Après c'eest qu'un code moi temps que sa flip la caisse xD

Edite !!

Code: (pawn) [Sélectionner]
C:\Users\Jackass\Desktop\jackass 2\gamemodes\jackass 2.pwn(3434) : error 017: undefined symbol "X"
C:\Users\Jackass\Desktop\jackass 2\gamemodes\jackass 2.pwn(3435) : error 017: undefined symbol "Angle"
C:\Users\Jackass\Desktop\jackass 2\gamemodes\jackass 2.pwn(3436) : error 017: undefined symbol "X"
C:\Users\Jackass\Desktop\jackass 2\gamemodes\jackass 2.pwn(3437) : error 017: undefined symbol "Angle"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.
=
Code: (pawn) [Sélectionner]
   if (PRESSED(KEY_CROUCH))
{
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
SetVehiclePos(GetPlayerVehicleID(playerid),X,Y,Z + 1);
SetVehicleZAngle(GetPlayerVehicleID(playerid),Angle);
        PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
}
    return 1;
}

Et le mien ^^

Code: (pawn) [Sélectionner]
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase=
Code: (pawn) [Sélectionner]
  if (PRESSED(KEY_CROUCH))
{
         new VehicleID, Float:X, Float:Y, Float:Z;
         GetPlayerPos(playerid, X, Y, Z);
         VehicleID = GetPlayerVehicleID(playerid);
         SetVehiclePos(VehicleID, X, Y, Z);
         SetVehicleZAngle(VehicleID, 0);
         PlayerPlaySound(playerid, 1056, 0.0, 0.0, 0.0);
}
return 1;
}
Titre: Re : Flip touche
Posté par: Xolokos le 17 Février 2011, 12:32:42
Me douter j'ai fait les New plus haut moi ^_^