• 04 Mai 2025, 20:16:03


Auteur Sujet: /handsup performant  (Lu 2187 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Vprimo

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
/handsup performant
« le: 27 Mars 2011, 20:35:47 »
Bon voila j'ai passé presque 2Jours a essayé de créer un /handsup performant, parce que quand on fait /handsup et on est freeze par un admin /Ligoter ou menotter il peu faire l'anim et appuyé sur ENTRER puis se UNfreese
Je voudrait faire genre si le mec est ligoté on lui envoie un message et on lui dit, Vous ne pouvez pas faire sa, car vous êtes Freeze/Menotté/Ligoté
Sinon des gens vont abusé de ce bug

Merci d'avance

P.S: désolé je suis débutant alors je connais pas toute les expressions

aerotun

  • Invité
Re : /handsup performant
« Réponse #1 le: 27 Mars 2011, 23:58:01 »
Pour arreté l'anim évite de faite la touche entrés   fait un truc genre   /sa   mes quand on et freeze sa dit vous ne pouvez pas utilisé cette cmds car vous êtes freeze plus facile à scripté

Hors ligne mjlayak

  • *
  • Tueur en série
  • Messages: 150
    • Voir le profil
Re : /handsup performant
« Réponse #2 le: 28 Mars 2011, 15:17:04 »
Aerotun , c'est exactement pareils , sauf qu'il faut utilisé les Key . Tu rajoutes une condition .

# En haut du script #

new menote[MAX_PLAYERS];
# Dans le script de la touche ENTRER #


if(menote[playerid]==1)
{
SendClientMessage(playerid,COULEUR,"Vous ne pouvez pas sortir de l'animation en etant menoté.");
return 1;
}


# Dans le code /menoter #

.... Si le joueur est menoté ....
menote[playerid]=0;.... Si le joueur n'est pas menoté ....

menote[playerid]=1;

Hors ligne Vprimo

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : /handsup performant
« Réponse #3 le: 28 Mars 2011, 15:24:30 »
Je croie pour sa c'est , bon mais quand on est freeze ou ligotté?

P.S: J'ai pas trouvé le scripte de ENTRER et j'ai pas compris comment mètre le truc de:

Code: (php) [Sélectionner]
menote[playerid]=0;
« Modifié: 28 Mars 2011, 15:41:01 par Vprimo »

Hors ligne mjlayak

  • *
  • Tueur en série
  • Messages: 150
    • Voir le profil
Re : /handsup performant
« Réponse #4 le: 28 Mars 2011, 16:07:54 »
Tu peux me montré la calback :
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{

Hors ligne Vprimo

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : /handsup performant
« Réponse #5 le: 28 Mars 2011, 20:37:30 »
Voila:


Code: (pawn) [Sélectionner]
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    new string[256];
new sendername[MAX_PLAYER_NAME];
new pveh = GetVehicleModel(GetPlayerVehicleID(playerid));
new newcar = GetPlayerVehicleID(playerid);
    if (newkeys & 16 && InShamal[playerid])
{
        new Float:X, Float:Y, Float:Z, Float:A;
        GetVehiclePos(InShamal[playerid], X, Y, Z);
        GetVehicleZAngle(InShamal[playerid], A);
        X += (5 * floatsin(-floatsub(A, 45.0), degrees)),
        Y += (5 * floatcos(-floatsub(A, 45.0), degrees));
        SetPlayerInterior(playerid, 0);
        SetPlayerPos(playerid, X, Y, floatsub(Z, 0.94));
        SetPlayerFacingAngle(playerid, A);
        SetCameraBehindPlayer(playerid);
        InShamal[playerid] = 0;
}
    if(newkeys == KEY_JUMP)
    {
        if(IsPlayerInAnyVehicle(playerid))
        {
if(IsPlayerConnected(playerid))
{
if(!engineOn[GetPlayerVehicleID(playerid)])
{
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
{
return 1;
}
/*if(IsAnOwnableCar(newcar))
{
   if(PlayerInfo[playerid][pPvehkey] == newcar) { }
else if(PlayerInfo[playerid][pPvehkey2] == newcar) { }
else if(PlayerInfo[playerid][pPvehkey3] == newcar) { }
else if(PlayerInfo[playerid][pPvehkey4] == newcar) { }
else { return 1; }
}*/
if(pveh == 510 || pveh == 462 || pveh == 481 || pveh == 509)
{
return 1;
}
if(VoitureASabot[newcar] == 1)
{
return 1;
}
if(gEngine[playerid] == 1) { return 1; }

PutPlayerInVehicle(playerid, newcar, 0);
GetPlayerName(playerid, sendername, sizeof(sendername));
     format(string, sizeof(string), "%s tourne ses clefs et essaye de démarrer le moteur de son véhicule.", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SetTimerEx("StartingTheVehicle",2500,0,"i",playerid);
GameTextForPlayer(playerid, "~w~Le Moteur demarre...",2500,3);
gEngine[playerid] = 1;
desactivetext[playerid] = 1;
SetTimerEx("DesactiverSpeedo", 5000, 0, "i", playerid);
return 1;
}
}
}
    }
    else if ((newkeys == KEY_SECONDARY_ATTACK))
    {
        if(IsAtCandySprunk(playerid))
        {
            if(TookSprunk[playerid] == 0)
            {
                new Float:health;
                GetPlayerHealth(playerid, health);
                if(health != 0)
                {
           SafeGivePlayerMoney(playerid, -25);
           SendClientMessage(playerid, COLOR_GREY, " Vous venez de payer 25$ pour votre Soda ");
TookSprunk[playerid] = 1;
           SetTimerEx("SetHP",3750,false, "i", playerid);
}
}
}
}
    else if(newkeys == KEY_SECONDARY_ATTACK)// KEY_SPRINT
    {
        if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
        {
            if(gEngine[playerid] == 0 && engineOn[newcar] == 0)
            {
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
return 1;
            }
            else if(NoFuel[playerid] == 1)
{
   TogglePlayerControllable(playerid, 1);
RemovePlayerFromVehicle(playerid);
NoFuel[playerid] = 0;
return 1;
}
        }
    }
    else if(newkeys == KEY_CROUCH && GetPlayerState(playerid) == 2)// H
    {
   if(grilleouverte[playerid] == 0)
{
   if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pMember] == 3)
   {
       if (PlayerToPoint(15, playerid,1599.053344,-1638.123168,14.122960))
{
      MoveStreamObject(pdgate1,1599.053344,-1638.123168,14.122960, 0.8);
      SetTimer("GateClose", 12000, 0);
           SetTimerEx("OuvertureGrille", 25000, 0, "i", playerid);
       SendClientMessage(playerid, COLOR_BLUE,"La grille du garage du commissariat s'ouvre, elle se refermera dans 7 secondes.");
      GetPlayerName(playerid, sendername, sizeof(sendername));
               grilleouverte[playerid] = 0;
       format(string, sizeof(string), " %s prend sa télécommande et ouvre le garage.", sendername);
       ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
      PlayerPlaySound(playerid, 1153, 1589.053344,-1638.123168,14.122960);
}
else if (PlayerToPoint(15, playerid,1544.700317,-1630.735717,13.096980))
{
      DestroyStreamObject( pdgate2 );
      pdgate3 = CreateObject(968,1544.700317,-1630.735717,12.924660,0.000000,0.000000,270.972869);
      SetTimer("GateClose5", 6000, 0);
           SetTimerEx("OuvertureGrille", 13000, 0, "i", playerid);
           SendClientMessage(playerid, COLOR_BLUE,"La barrière est ouverte, elle se fermera dans 6 secondes.");
      GetPlayerName(playerid, sendername, sizeof(sendername));
           grilleouverte[playerid] = 0;
           format(string, sizeof(string), " %s prend sa télécommande et ouvre la barrière.", sendername);
      ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
/*}
else if (PlayerToPoint(15, playerid,2720.3772,-2409.7523,12.6))
{
      MoveStreamObject(armygate1,2720.3772, -2401.2523, 12.6, 3.5);
      SetTimer("GateClose2", 7000, 0);
           SetTimerEx("OuvertureGrille", 25000, 0, "i", playerid);
           SendClientMessage(playerid, COLOR_BLUE,"The Army gate Nr. 1 is opened and will close in 7 seconds.");
      GetPlayerName(playerid, sendername, sizeof(sendername));
           grilleouverte[playerid] = 1;
           format(string, sizeof(string), " %s takes his/her remote and opens the army gate #1.", sendername);
      ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else if (PlayerToPoint(15, playerid,2720.3772,-2508.3069,12.6))
{
      MoveStreamObject(armygate2,2720.3772, -2499.8069, 12.6, 3.5);
      SetTimer("GateClose2", 7000, 0);
           SetTimerEx("OuvertureGrille", 25000, 0, "i", playerid);
           SendClientMessage(playerid, COLOR_BLUE,"The Army gate Nr. 2 is opened and will close in 7 seconds.");
      GetPlayerName(playerid, sendername, sizeof(sendername));
           grilleouverte[playerid] = 1;
           format(string, sizeof(string), " %s takes his/her remote and opens the army gate #2.", sendername);
      ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);*/
}
else if (PlayerToPoint(15, playerid,1534.9020,-1451.5979,14.4882))
{
      MoveStreamObject(fbigate,1534.9020,-1451.5979,20.4882, 1.5);
      SetTimer("GateClose3", 7000, 0);
      SetTimerEx("OuvertureGrille", 15000, 0, "i", playerid);
      SendClientMessage(playerid, COLOR_BLUE,"La grille du FBI est ouverte, elle se refermera dans 7 secondes.");
      GetPlayerName(playerid, sendername, sizeof(sendername));
      grilleouverte[playerid] = 0;
      format(string, sizeof(string), " %s prend sa télécommande et ouvre la grille.", sendername);
         ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else if (PlayerToPoint(15, playerid,1643.3379,-1714.9338,15.3067))
{
      MoveStreamObject(hspdgate,1643.3379,-1705.9338,15.3067, 1.5);
      SetTimer("GateClose4", 7000, 0);
      SetTimerEx("OuvertureGrille", 15000, 0, "i", playerid);
      SendClientMessage(playerid, COLOR_BLUE,"La grille du FBI est ouverte, elle se refermera dans 7 secondes.");
      GetPlayerName(playerid, sendername, sizeof(sendername));
      grilleouverte[playerid] = 0;
      format(string, sizeof(string), " %s prend sa télécommande et ouvre la grille.", sendername);
      ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else { SendClientMessage(playerid, COLOR_GREY,"Vous êtes trop loin de la grille."); }
}
else if(PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6)
{
   if (PlayerToPoint(15, playerid,1246.0033,-767.3727,91.1473))
   {
       MoveStreamObject(lucianogate,1256.2033,-767.3727,91.1473, 2.2);
SetTimer("GateClose6", 7000, 0);
            SetTimerEx("OuvertureGrille", 25000, 0, "i", playerid);
GetPlayerName(playerid, sendername, sizeof(sendername));
            grilleouverte[playerid] = 0;
format(string, sizeof(string), " %s prend sa télécommande et ouvre la grille de La Famiglia Sinatra.", sendername);
       ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
   }
   else { SendClientMessage(playerid, COLOR_GREY,"Vous êtes trop loin de la grille."); }
}
else
{
//SendClientMessage(playerid, COLOR_GREY,"Vous n'avez pas de télécommande.");
}
}
else
{
SendClientMessage(playerid, COLOR_RED,"Attendez que la grille soit fermée s'il vous plait.");
   }
    }
   return 1;
}
« Modifié: 28 Mars 2011, 20:41:09 par Vprimo »

Hors ligne nath425

  • *
  • Tueur
  • Messages: 68
    • Voir le profil
Re : Re : /handsup performant
« Réponse #6 le: 28 Mars 2011, 22:11:13 »
Aerotun , c'est exactement pareils , sauf qu'il faut utilisé les Key . Tu rajoutes une condition .

# En haut du script #

new menote[MAX_PLAYERS];
# Dans le script de la touche ENTRER #


if(menote[playerid]==1)
{
SendClientMessage(playerid,COULEUR,"Vous ne pouvez pas sortir de l'animation en etant menoté.");
return 1;
}


# Dans le code /menoter #

.... Si le joueur est menoté ....
menote[playerid]=0;.... Si le joueur n'est pas menoté ....

menote[playerid]=1;


Non, pour le /menotter il faut mettre

menote[giveplayerid]=X;

et non playerid, étant donné que c'est le giveplayerid qui doit être menotté!
« Modifié: 28 Mars 2011, 22:12:46 par nath425 »

Hors ligne Vprimo

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : /handsup performant
« Réponse #7 le: 29 Mars 2011, 15:46:24 »
On pourrait m'expliqué ou mètre le:


Code: (pawn) [Sélectionner]
menote[giveplayerid]=X;
Merci bien

Hors ligne nath425

  • *
  • Tueur
  • Messages: 68
    • Voir le profil
Re : /handsup performant
« Réponse #8 le: 29 Mars 2011, 16:51:21 »
Dans ta commande /menotter

Hors ligne Vprimo

  • *
  • Nouveau
  • Messages: 11
    • Voir le profil
Re : /handsup performant
« Réponse #9 le: 29 Mars 2011, 21:18:35 »
Bon voila j'ai fait le truc j vous montre ou:

Code: (pawn) [Sélectionner]
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
        format(string, sizeof(string), "Vous avez été menotté par %s, jusqu'à ce qu'un policier vous démenotte.", sendername);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
format(string, sizeof(string), "Vous avez menotté %s, jusqu'a ce qu'un policier vous démenotte.", giveplayer);
SendClientMessage(playerid, COLOR_WHITE, string);
format(string, sizeof(string), " %s à menotté %s, il ne poura allez nul part.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(giveplayerid, "~r~Menotter", 2500, 3);
TogglePlayerControllable(giveplayerid, 0);
PlayerCuffed[giveplayerid] = 2;
                                                                menote[giveplayerid]=1; [color=green]//ICI[/color]
PlayerCuffedTime[giveplayerid] = 99999999999999;



Voila ce qu'on ma donné


Code: (pawn) [Sélectionner]
C:\Documents and Settings\famille\Bureau\Serveur SAMP\gamemodes\RC-RP.pwn(58475) : error 028: invalid subscript (not an array or too many subscripts): "menote"
C:\Documents and Settings\famille\Bureau\Serveur SAMP\gamemodes\RC-RP.pwn(58475) : warning 215: expression has no effect
C:\Documents and Settings\famille\Bureau\Serveur SAMP\gamemodes\RC-RP.pwn(58475) : error 001: expected token: ";", but found "]"
C:\Documents and Settings\famille\Bureau\Serveur SAMP\gamemodes\RC-RP.pwn(58475) : error 029: invalid expression, assumed zero
C:\Documents and Settings\famille\Bureau\Serveur SAMP\gamemodes\RC-RP.pwn(58475) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.