Szerző Téma: Gombnyomásos parancs  (Megtekintve 845 alkalommal)

Gombnyomásos parancs
« Dátum: 2014. Május 04. - 17:11:55 »
0 Show voters
Sziasztok!
Én azt szeretném kérdezni, hogy hogyan lehetne egy parancsot nyomógombra tenni.
PL: Motor indítása ne az legyen, hogy /motor hanem pl ha megnyomom az E betût akkor beinduljon a motor.
Nem fontos scriptet küldeni elég lenne egy link is ahol le vannak írva a gombokhoz a funkciók.
Elõre is köszönöm!

Gombnyomásos parancs
« Válasz #1 Dátum: 2014. Május 04. - 17:25:10 »
0 Show voters
Hali!
 
//Mód elejére:
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
 
//public OnPlayerKeyStateChange alá:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_SECONDARY_ATTACK))
{
SendClientMessage(playerid, -1, \"Megnyomtad az F betût\");
}
return 1;
}

 
Remélem ezek alapján boldogulsz....
Itt megtalálod azokat a gombokat amiket lehet használni:
http://wiki.sa-mp.com/wiki/Keys

Gombnyomásos parancs
« Válasz #2 Dátum: 2014. Május 04. - 17:44:42 »
0 Show voters
Köszönöm a segítséget:
De ebbe mi a hiba ?
 
   if(PRESSED(KEY_SPRINT))
{
        new vid = GetPlayerVehicleID(playerid);
        new engine, lights, alarm, doors, bonnet, boot, objective;
        GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(vid != INVALID_VEHICLE_ID)
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy jármûben!\");
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return SendClientMessage(playerid, COLOR_GRAD2, \"Nem te vagy a sofõr!\");
if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET)
{
            SendClientMessage(playerid, -1, \"\"#COL_WHITE\"> Motor állapota \"#COL_GREEN\"Beindítva\");
            GetPlayerName(playerid, sendername, sizeof(sendername));
   format(string, sizeof(string), \"* %s beindította a jármû motorját.\", sendername);
   ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
        }
        else if(engine == VEHICLE_PARAMS_ON)
{
            SendClientMessage(playerid, -1, \"\"#COL_WHITE\"> Motor állapota \"#COL_RED\"Leállítva\");
            GetPlayerName(playerid, sendername, sizeof(sendername));
   format(string, sizeof(string), \"* %s leállította a jármû motorját.\", sendername);
   ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
        }
return 1;
    }

Nem elérhető skyLine

  • Globális moderátor
  • 2171
  • 2020
  • Vaterán
    • Profil megtekintése
Gombnyomásos parancs
« Válasz #3 Dátum: 2014. Május 06. - 00:39:55 »
0 Show voters
Talán így jó lesz.
 
   if(PRESSED(KEY_HANDBRAKE))
{
        new vid = GetPlayerVehicleID(playerid);
        new engine, lights, alarm, doors, bonnet, boot, objective;
        GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(vid != INVALID_VEHICLE_ID)
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy jármûben!\");
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return SendClientMessage(playerid, COLOR_GRAD2, \"Nem te vagy a sofõr!\");
if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET)
{
            SendClientMessage(playerid, -1, \"\"#COL_WHITE\"> Motor állapota \"#COL_GREEN\"Beindítva\");
            GetPlayerName(playerid, sendername, sizeof(sendername));
   format(string, sizeof(string), \"* %s beindította a jármû motorját.\", sendername);
   ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
        }
        else if(engine == VEHICLE_PARAMS_ON)
{
            SendClientMessage(playerid, -1, \"\"#COL_WHITE\"> Motor állapota \"#COL_RED\"Leállítva\");
            GetPlayerName(playerid, sendername, sizeof(sendername));
   format(string, sizeof(string), \"* %s leállította a jármû motorját.\", sendername);
   ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
        }
return 1;
    }

 
Bár érdekesnek találom, hogy így oldod meg a SendClientMessage színezését.
Ajánlanám a {61ba18} dolgot.
« Utoljára szerkesztve: 2014. Május 06. - 00:41:26 írta SkyLinE »

Gombnyomásos parancs
« Válasz #4 Dátum: 2014. Május 07. - 08:29:55 »
0 Show voters
Megoldva! Köszönöm! :)

Gombnyomásos parancs
« Válasz #5 Dátum: 2014. Május 04. - 17:11:55 »
0 Show voters
Sziasztok!
Én azt szeretném kérdezni, hogy hogyan lehetne egy parancsot nyomógombra tenni.
PL: Motor indítása ne az legyen, hogy /motor hanem pl ha megnyomom az E betût akkor beinduljon a motor.
Nem fontos scriptet küldeni elég lenne egy link is ahol le vannak írva a gombokhoz a funkciók.
Elõre is köszönöm!

Gombnyomásos parancs
« Válasz #6 Dátum: 2014. Május 04. - 17:25:10 »
0 Show voters
Hali!
 
//Mód elejére:
#define PRESSED(%0) \\
(((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
 
//public OnPlayerKeyStateChange alá:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(PRESSED(KEY_SECONDARY_ATTACK))
{
SendClientMessage(playerid, -1, \"Megnyomtad az F betût\");
}
return 1;
}

 
Remélem ezek alapján boldogulsz....
Itt megtalálod azokat a gombokat amiket lehet használni:
http://wiki.sa-mp.com/wiki/Keys

Gombnyomásos parancs
« Válasz #7 Dátum: 2014. Május 04. - 17:44:42 »
0 Show voters
Köszönöm a segítséget:
De ebbe mi a hiba ?
 
   if(PRESSED(KEY_SPRINT))
{
        new vid = GetPlayerVehicleID(playerid);
        new engine, lights, alarm, doors, bonnet, boot, objective;
        GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(vid != INVALID_VEHICLE_ID)
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy jármûben!\");
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return SendClientMessage(playerid, COLOR_GRAD2, \"Nem te vagy a sofõr!\");
if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET)
{
            SendClientMessage(playerid, -1, \"\"#COL_WHITE\"> Motor állapota \"#COL_GREEN\"Beindítva\");
            GetPlayerName(playerid, sendername, sizeof(sendername));
   format(string, sizeof(string), \"* %s beindította a jármû motorját.\", sendername);
   ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
        }
        else if(engine == VEHICLE_PARAMS_ON)
{
            SendClientMessage(playerid, -1, \"\"#COL_WHITE\"> Motor állapota \"#COL_RED\"Leállítva\");
            GetPlayerName(playerid, sendername, sizeof(sendername));
   format(string, sizeof(string), \"* %s leállította a jármû motorját.\", sendername);
   ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
        }
return 1;
    }

Nem elérhető skyLine

  • Globális moderátor
  • 2171
  • 2020
  • Vaterán
    • Profil megtekintése
Gombnyomásos parancs
« Válasz #8 Dátum: 2014. Május 06. - 00:39:55 »
0 Show voters
Talán így jó lesz.
 
   if(PRESSED(KEY_HANDBRAKE))
{
        new vid = GetPlayerVehicleID(playerid);
        new engine, lights, alarm, doors, bonnet, boot, objective;
        GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(vid != INVALID_VEHICLE_ID)
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_GRAD2, \"Nem vagy jármûben!\");
if(GetPlayerState(playerid) == PLAYER_STATE_PASSENGER) return SendClientMessage(playerid, COLOR_GRAD2, \"Nem te vagy a sofõr!\");
if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET)
{
            SendClientMessage(playerid, -1, \"\"#COL_WHITE\"> Motor állapota \"#COL_GREEN\"Beindítva\");
            GetPlayerName(playerid, sendername, sizeof(sendername));
   format(string, sizeof(string), \"* %s beindította a jármû motorját.\", sendername);
   ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
        }
        else if(engine == VEHICLE_PARAMS_ON)
{
            SendClientMessage(playerid, -1, \"\"#COL_WHITE\"> Motor állapota \"#COL_RED\"Leállítva\");
            GetPlayerName(playerid, sendername, sizeof(sendername));
   format(string, sizeof(string), \"* %s leállította a jármû motorját.\", sendername);
   ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
        }
return 1;
    }

 
Bár érdekesnek találom, hogy így oldod meg a SendClientMessage színezését.
Ajánlanám a {61ba18} dolgot.
« Utoljára szerkesztve: 2014. Május 06. - 00:41:26 írta SkyLinE »

Gombnyomásos parancs
« Válasz #9 Dátum: 2014. Május 07. - 08:29:55 »
0 Show voters
Megoldva! Köszönöm! :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal