GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Szkript kérések => A témát indította: Jim Toretto - 2014. május 04. - 17:11:55

Cím: Gombnyomásos parancs
Írta: Jim Toretto - 2014. május 04. - 17:11:55
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!
Cím: Gombnyomásos parancs
Írta: HackFlux - 2014. május 04. - 17:25:10
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
Cím: Gombnyomásos parancs
Írta: Jim Toretto - 2014. május 04. - 17:44:42
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;
    }
Cím: Gombnyomásos parancs
Írta: skyLine - 2014. május 06. - 00:39:55
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.
Cím: Gombnyomásos parancs
Írta: Jim Toretto - 2014. május 07. - 08:29:55
Megoldva! Köszönöm! :)
Cím: Gombnyomásos parancs
Írta: Jim Toretto - 2014. május 04. - 17:11:55
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!
Cím: Gombnyomásos parancs
Írta: HackFlux - 2014. május 04. - 17:25:10
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
Cím: Gombnyomásos parancs
Írta: Jim Toretto - 2014. május 04. - 17:44:42
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;
    }
Cím: Gombnyomásos parancs
Írta: skyLine - 2014. május 06. - 00:39:55
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.
Cím: Gombnyomásos parancs
Írta: Jim Toretto - 2014. május 07. - 08:29:55
Megoldva! Köszönöm! :)