Szerző Téma: Vehicle Key Funkció(vkey)  (Megtekintve 2548 alkalommal)

Vehicle Key Funkció(vkey)
« Dátum: 2011. Február 05. - 06:57:29 »
0
Helló.
Én csak annyit szeretnék kérdezni, hogy valaki nekem meg tudná-e csinálni a vkey-emet, mert van benne 1-2 fölösleges dolog meg van ami nincs is és azt szeretném meg kérdezni, hogy ezt(link:http://solidfiles.com/d/3c97f/) nem e tudjátok úgy megcsinálni h SpeedBoost (1.15-ös sebesség)
Flip, hogy pl mikor azt beállítja Alt-al vissza fordul meg TurnBoost vagy, hogyan szokták híni h elfordul 180°-al
meg JumpBoost feldobja vmennyire ha megcsináltátok ide pls linkeljetek aki akarja az meg letöltheti innen, szóval egyben kértem és egyben adtam másoknak:D félig meddig na de nem terhelem a sampforum szervergépét csak ennyi

Nem elérhető ►ѕтa

  • 2016
  • Newbie
    • Profil megtekintése
Vehicle Key Funkció(vkey)
« Válasz #1 Dátum: 2011. Február 05. - 08:14:13 »
0
Nem teszteltem.
 

#include <a_samp>
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
 
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_FIRE))
{
new State = GetPlayerState(playerid);
if(State == PLAYER_STATE_DRIVER)
{
   new JarmuID = GetPlayerVehicleID(playerid);
   new Float: sbX, Float: sbY, Float: sbZ;
   GetVehicleVelocity( JarmuID, sbX, sbY, sbZ );
   SetVehicleVelocity( JarmuID, sbX * 1.15, sbY * 1.15, sbZ);
   }
}
if(PRESSED(KEY_WALK))
{
new State = GetPlayerState(playerid);
if(State == PLAYER_STATE_DRIVER)
{
   new vehicleID = GetPlayerVehicleID(playerid);
   new Float: cjX, Float: cjY, Float: cjZ;
   GetVehicleVelocity(vehicleID, cjX, cjY, cjZ );
   SetVehicleVelocity(vehicleID, cjX , cjY , cjZ + 0.2);
}
}
if(PRESSED(KEY_JUMP))
{
    new State = GetPlayerState(playerid);
    if(State == PLAYER_STATE_DRIVER)
    {
        new vehicleID = GetPlayerVehicleID(playerid);
        new Float: tbA;
        GetVehicleZAngle(vehicleID, tbA);
        SetVehicleZAngle(vehicleID, tbA+180);
    }
}
if(PRESSED(KEY_SUBMISSION))
{
new State = GetPlayerState(playerid);
if(State == PLAYER_STATE_DRIVER)
{
   new vehicleID = GetPlayerVehicleID(playerid);
   SetVehicleVelocity(vehicleID,0.0,0.0,0.0);
}
}
return 1;
}

Vehicle Key Funkció(vkey)
« Válasz #2 Dátum: 2011. Február 05. - 11:56:58 »
0
Létszives valaki írja meg ezt olyanra hogy
a speedboost-ot /speedboost on -al bekapcsolja, /speedboost off -al kikapcsolja,
a jump-ot /carjump-on -al be, carjump-off -al kikapcsolja,
és a 180 fokos fordulást /180 on -al be, /180-off -al kikapcsolja.

Nem elérhető ►ѕтa

  • 2016
  • Newbie
    • Profil megtekintése
Vehicle Key Funkció(vkey)
« Válasz #3 Dátum: 2011. Február 05. - 13:34:37 »
0
Ezt se teszteltem, sscanf2.inc és sscanf.so/dll kell hozzá (+a server.cfgben egy új sorba: plugins sscanf)
 

#include <a_samp>
#include <sscanf2>
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
new SB[MAX_PLAYERS] = 1;
new CJ[MAX_PLAYERS] = 1;
new TB[MAX_PLAYERS] = 1;
new B[MAX_PLAYERS] = 1;
 
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_FIRE))
{
    if(SB[playerid] == 0)
    {
   new State = GetPlayerState(playerid);
   if(State == PLAYER_STATE_DRIVER)
   {
      new JarmuID = GetPlayerVehicleID(playerid);
      new Float: sbX, Float: sbY, Float: sbZ;
      GetVehicleVelocity( JarmuID, sbX, sbY, sbZ );
      SetVehicleVelocity( JarmuID, sbX * 1.15, sbY * 1.15, sbZ);
       }
}
}
if(PRESSED(KEY_WALK))
{
    if(CJ[playerid] == 0)
    {
   new State = GetPlayerState(playerid);
   if(State == PLAYER_STATE_DRIVER)
   {
      new vehicleID = GetPlayerVehicleID(playerid);
      new Float: cjX, Float: cjY, Float: cjZ;
      GetVehicleVelocity(vehicleID, cjX, cjY, cjZ );
      SetVehicleVelocity(vehicleID, cjX , cjY , cjZ + 0.2);
   }
}
}
if(PRESSED(KEY_JUMP))
{
    if(TB[playerid] == 0)
    {
    new State = GetPlayerState(playerid);
    if(State == PLAYER_STATE_DRIVER)
    {
        new vehicleID = GetPlayerVehicleID(playerid);
        new Float: tbA;
        GetVehicleZAngle(vehicleID, tbA);
        SetVehicleZAngle(vehicleID, tbA+180);
    }
}
}
if(PRESSED(KEY_SUBMISSION))
{
    if(B[playerid] == 0)
    {
   new State = GetPlayerState(playerid);
   if(State == PLAYER_STATE_DRIVER)
   {
      new vehicleID = GetPlayerVehicleID(playerid);
      SetVehicleVelocity(vehicleID,0.0,0.0,0.0);
   }
}
}
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext, \"/speedboost\", true) == 0)
    {
        new i_str[4];
    if(sscanf(cmdtext, \"s[4]\", i_str))
    {
        SendClientMessage(playerid, 0x00FFFFAA, \"Használat: /speedboost [on/off]\");
        return 1;
}
if(strcmp(i_str, \"on\", true) == 0)
{
    if(SB[playerid] == 0)
    {
        SendClientMessage(playerid, 0x00FFFFAA, \"Te már bekapcsoltad! /speedboost off\");
    } else {
        SB[playerid] = 0;
    }
}
if(strcmp(i_str, \"off\", true) == 0)
{
    if(SB[playerid] == 1)
    {
        SendClientMessage(playerid, 0x00FFFFAA, \"Ki van kapcsolva! /speedboost on\");
    } else {
        SB[playerid] = 1;
    }
}
return 1;
}
    if(strcmp(cmdtext, \"/carjump\", true) == 0)
    {
        new i_str[4];
    if(sscanf(cmdtext, \"s[4]\", i_str))
    {
        SendClientMessage(playerid, 0x00FFFFAA, \"Használat: /carjump [on/off]\");
        return 1;
}
if(strcmp(i_str, \"on\", true) == 0)
{
    if(CJ[playerid] == 0)
    {
        SendClientMessage(playerid, 0x00FFFFAA, \"Te már bekapcsoltad! /carjump off\");
    } else {
        CJ[playerid] = 0;
    }
}
if(strcmp(i_str, \"off\", true) == 0)
{
    if(CJ[playerid] == 1)
    {
        SendClientMessage(playerid, 0x00FFFFAA, \"Ki van kapcsolva! /carjump on\");
    } else {
        CJ[playerid] = 1;
    }
}
return 1;
}
if(strcmp(cmdtext, \"/180\", true) == 0)
    {
        new i_str[4];
    if(sscanf(cmdtext, \"s[4]\", i_str))
    {
        SendClientMessage(playerid, 0x00FFFFAA, \"Használat: /180 [on/off]\");
        return 1;
}
if(strcmp(i_str, \"on\", true) == 0)
{
    if(TB[playerid] == 0)
    {
        SendClientMessage(playerid, 0x00FFFFAA, \"Te már bekapcsoltad! /180 off\");
    } else {
        TB[playerid] = 0;
    }
}
if(strcmp(i_str, \"off\", true) == 0)
{
    if(TB[playerid] == 1)
    {
        SendClientMessage(playerid, 0x00FFFFAA, \"Ki van kapcsolva! /180 on\");
    } else {
        TB[playerid] = 1;
    }
}
return 1;
}
if(strcmp(cmdtext, \"/break\", true) == 0)
    {
        new i_str[4];
    if(sscanf(cmdtext, \"s[4]\", i_str))
    {
        SendClientMessage(playerid, 0x00FFFFAA, \"Használat: /break [on/off]\");
        return 1;
}
if(strcmp(i_str, \"on\", true) == 0)
{
    if(B[playerid] == 0)
    {
        SendClientMessage(playerid, 0x00FFFFAA, \"Te már bekapcsoltad! /break off\");
    } else {
        B[playerid] = 0;
    }
}
if(strcmp(i_str, \"off\", true) == 0)
{
    if(B[playerid] == 1)
    {
        SendClientMessage(playerid, 0x00FFFFAA, \"Ki van kapcsolva! /break on\");
    } else {
        B[playerid] = 1;
    }
}
return 1;
}
return 0;
}

Vehicle Key Funkció(vkey)
« Válasz #4 Dátum: 2011. Február 05. - 14:34:43 »
0
Köszönöm szépen!! :D

Vehicle Key Funkció(vkey)
« Válasz #5 Dátum: 2011. Február 05. - 14:54:15 »
0
Teszteltem, de az a baj, hogy a /speedboost on -ra  Unknow command -t ír ki, és hiába kattintgatok, nem csinál semmit. A szervernél meg azt írja h sscanf warning: String buffer overflow.

Nem elérhető Denzel

  • 116
    • Profil megtekintése
Vehicle Key Funkció(vkey)
« Válasz #6 Dátum: 2011. Február 05. - 20:11:40 »
0
Ez nekem is jól jönne

Vehicle Key Funkció(vkey)
« Válasz #7 Dátum: 2011. Február 05. - 23:17:25 »
0
sscanf-ot töltsétek le és rakjátok be... :-* :-* :-*

Vehicle Key Funkció(vkey)
« Válasz #8 Dátum: 2011. Február 06. - 07:37:45 »
0
Már beraktam mielõtt írtam az elõzõ kommentemet.

Nem elérhető DrAkE

  • 2078
    • Profil megtekintése
Vehicle Key Funkció(vkey)
« Válasz #9 Dátum: 2011. Február 06. - 09:40:19 »
0
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#define PRESSED(%0) \\
   (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
new bool:SB[MAX_PLAYERS] = false;
new bool:CJ[MAX_PLAYERS] = false;
new bool:TB[MAX_PLAYERS] = false;
new bool:B[MAX_PLAYERS] = false;
 
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
   if(PRESSED(KEY_FIRE))
   {
       if(SB[playerid] == true)
       {
         new State = GetPlayerState(playerid);
         if(State == PLAYER_STATE_DRIVER)
         {
            new JarmuID = GetPlayerVehicleID(playerid);
            new Float: sbX, Float: sbY, Float: sbZ;
            GetVehicleVelocity( JarmuID, sbX, sbY, sbZ );
            SetVehicleVelocity( JarmuID, sbX * 1.15, sbY * 1.15, sbZ);
          }
      }
   }
   if(PRESSED(KEY_WALK))
   {
       if(CJ[playerid] == true)
       {
         new State = GetPlayerState(playerid);
         if(State == PLAYER_STATE_DRIVER)
         {
            new vehicleID = GetPlayerVehicleID(playerid);
            new Float: cjX, Float: cjY, Float: cjZ;
            GetVehicleVelocity(vehicleID, cjX, cjY, cjZ );
            SetVehicleVelocity(vehicleID, cjX , cjY , cjZ + 0.2);
         }
      }
   }
   if(PRESSED(KEY_JUMP))
   {
       if(TB[playerid] == true)
       {
          new State = GetPlayerState(playerid);
          if(State == PLAYER_STATE_DRIVER)
          {
              new vehicleID = GetPlayerVehicleID(playerid);
              new Float: tbA;
              GetVehicleZAngle(vehicleID, tbA);
              SetVehicleZAngle(vehicleID, tbA+180);
          }
      }
   }
   if(PRESSED(KEY_SUBMISSION))
   {
       if(B[playerid] == true)
       {
         new State = GetPlayerState(playerid);
         if(State == PLAYER_STATE_DRIVER)
         {
            new vehicleID = GetPlayerVehicleID(playerid);
            SetVehicleVelocity(vehicleID,0.0,0.0,0.0);
         }
      }
   }
   return 1;
}
CMD:speedboost(playerid, params[])
{
      new i_str[4];
if(sscanf(params, \"s\", i_str)) return SendClientMessage(playerid, 0x00FFFFAA, \"Használat: /speedboost [on/off]\");
      if(strcmp(i_str, \"on\", true) == 0)
      {
          if(SB[playerid] == true) SendClientMessage(playerid, 0x00FFFFAA, \"Te már bekapcsoltad! /speedboost off\");
          else SB[playerid] = true;
}
else if(strcmp(i_str, \"off\", true) == 0)
{
if(SB[playerid] == false) SendClientMessage(playerid, 0x00FFFFAA, \"Ki van kapcsolva! /speedboost on\");
else SB[playerid] = false;
      }
      return 1;
}
CMD:carjump(playerid, params[])
{
new i_str[4];
      if(sscanf(params, \"s\", i_str)) return SendClientMessage(playerid, 0x00FFFFAA, \"Használat: /carjump [on/off]\");
      if(strcmp(i_str, \"on\", true) == 0)
      {
if(CJ[playerid] == true) SendClientMessage(playerid, 0x00FFFFAA, \"Te már bekapcsoltad! /carjump off\");
else CJ[playerid] = true;
}
else if(strcmp(i_str, \"off\", true) == 0)
{
if(CJ[playerid] == false) SendClientMessage(playerid, 0x00FFFFAA, \"Ki van kapcsolva! /carjump on\");
else CJ[playerid] = false;
}
return 1;
}
CMD:180(playerid, params[])
{
new i_str[4];
if(sscanf(params, \"s\", i_str)) return SendClientMessage(playerid, 0x00FFFFAA, \"Használat: /180 [on/off]\");
if(strcmp(i_str, \"on\", true) == 0)
{
if(TB[playerid] == true) SendClientMessage(playerid, 0x00FFFFAA, \"Te már bekapcsoltad! /180 off\");
else TB[playerid] = true;
}
else if(strcmp(i_str, \"off\", true) == 0)
{
if(TB[playerid] == false) SendClientMessage(playerid, 0x00FFFFAA, \"Ki van kapcsolva! /180 on\");
else TB[playerid] = false;
}
return 1;
}
CMD:break(playerid, params[])
{
new i_str[4];
if(sscanf(params, \"s\", i_str)) return SendClientMessage(playerid, 0x00FFFFAA, \"Használat: /break [on/off]\");
if(strcmp(i_str, \"on\", true) == 0)
{
if(B[playerid] == true) SendClientMessage(playerid, 0x00FFFFAA, \"Te már bekapcsoltad! /break off\");
   else B[playerid] = true;
     }
else if(strcmp(i_str, \"off\", true) == 0)
{
if(B[playerid] == false) SendClientMessage(playerid, 0x00FFFFAA, \"Ki van kapcsolva! /break on\");
else B[playerid] = false;
}
return 1;
}
« Utoljára szerkesztve: 2011. Február 06. - 09:43:36 írta DrAkE »

Vehicle Key Funkció(vkey)
« Válasz #10 Dátum: 2011. Február 07. - 06:21:19 »
0
ha kész minden akk lezárom a témát:D :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal