| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- //BINDS by D4RKKNIGH7
- // I do not take all credit for this, some of these functions belong to other people, unsure of location, if its you tell me and ill add you to credits
- //This was only a quick version to make, I will be updating in the future to make script smaller and tidyer.
- //Thanks for using.
- //Any bugs/ideas please put on the forum.
- //I have tested with YCMD only, but no reason it wont work with zcmd.
- #if !defined isnull
- #define isnull(%1) \
- ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
- #endif
- #include <a_samp>
- #include <sscanf>
- #include <YSI\y_commands>
- //#include <zcmd>
- new PlayersBind[MAX_PLAYERS][24][128];
- new ToBind[MAX_PLAYERS];
- #define DIALOG_BIND 300
- #define DIALOG_BIND2 400
- #define RELEASED(%0) (((newkeys & (%0)) != (%0)) && ((oldkeys & (%0)) == (%0)))
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" D4RKKNIGH7's Bind Script");
- print("--------------------------------------\n");
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(RELEASED(KEY_ACTION)) if(!isnull(PlayersBind[playerid][0])) DoBind(playerid, PlayersBind[playerid][0]);
- if(RELEASED(KEY_CROUCH)) if(!isnull(PlayersBind[playerid][1])) DoBind(playerid, PlayersBind[playerid][1]);
- if(RELEASED(KEY_FIRE)) if(!isnull(PlayersBind[playerid][2])) DoBind(playerid, PlayersBind[playerid][2]);
- if(RELEASED(KEY_SPRINT)) if(!isnull(PlayersBind[playerid][3])) DoBind(playerid, PlayersBind[playerid][3]);
- if(RELEASED(KEY_SECONDARY_ATTACK)) if(!isnull(PlayersBind[playerid][4])) DoBind(playerid, PlayersBind[playerid][4]);
- if(RELEASED(KEY_JUMP)) if(!isnull(PlayersBind[playerid][5])) DoBind(playerid, PlayersBind[playerid][5]);
- if(RELEASED(KEY_LOOK_RIGHT)) if(!isnull(PlayersBind[playerid][6])) DoBind(playerid, PlayersBind[playerid][6]);
- if(RELEASED(KEY_HANDBRAKE)) if(!isnull(PlayersBind[playerid][7])) DoBind(playerid, PlayersBind[playerid][7]);
- if(RELEASED(KEY_LOOK_LEFT)) if(!isnull(PlayersBind[playerid][8])) DoBind(playerid, PlayersBind[playerid][8]);
- if(RELEASED(KEY_SUBMISSION)) if(!isnull(PlayersBind[playerid][9])) DoBind(playerid, PlayersBind[playerid][9]);
- if(RELEASED(KEY_LOOK_BEHIND)) if(!isnull(PlayersBind[playerid][10])) DoBind(playerid, PlayersBind[playerid][10]);
- if(RELEASED(KEY_WALK)) if(!isnull(PlayersBind[playerid][11])) DoBind(playerid, PlayersBind[playerid][11]);
- if(RELEASED(KEY_ANALOG_UP)) if(!isnull(PlayersBind[playerid][12])) DoBind(playerid, PlayersBind[playerid][12]);
- if(RELEASED(KEY_ANALOG_DOWN)) if(!isnull(PlayersBind[playerid][13])) DoBind(playerid, PlayersBind[playerid][13]);
- if(RELEASED(KEY_ANALOG_LEFT)) if(!isnull(PlayersBind[playerid][14])) DoBind(playerid, PlayersBind[playerid][14]);
- if(RELEASED(KEY_ANALOG_RIGHT)) if(!isnull(PlayersBind[playerid][15])) DoBind(playerid, PlayersBind[playerid][15]);
- if(RELEASED(KEY_YES)) if(!isnull(PlayersBind[playerid][16])) DoBind(playerid, PlayersBind[playerid][16]);
- if(RELEASED(KEY_NO)) if(!isnull(PlayersBind[playerid][17])) DoBind(playerid, PlayersBind[playerid][17]);
- if(RELEASED(KEY_CTRL_BACK)) if(!isnull(PlayersBind[playerid][18])) DoBind(playerid, PlayersBind[playerid][18]);
- if(RELEASED(KEY_UP)) if(!isnull(PlayersBind[playerid][19])) DoBind(playerid, PlayersBind[playerid][19]);
- if(RELEASED(KEY_DOWN)) if(!isnull(PlayersBind[playerid][20])) DoBind(playerid, PlayersBind[playerid][20]);
- if(RELEASED(KEY_LEFT)) if(!isnull(PlayersBind[playerid][21])) DoBind(playerid, PlayersBind[playerid][21]);
- if(RELEASED(KEY_RIGHT)) if(!isnull(PlayersBind[playerid][22])) DoBind(playerid, PlayersBind[playerid][22]);
-
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- CMD:bind(playerid, params[])
- {
- ShowBindDialog(playerid);
- return 1;
- }
- DoBind(playerid, text[])
- {
- if(text[0] != '/') return OnPlayerText(playerid, text);
- else return CallRemoteFunction("OnPlayerCommandText", "is", playerid, text);
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_BIND:
- {
- if( !response ) return 1;
- switch( listitem )
- {
- case 0: ToBind[playerid] = 0, ShowBind2Dialog(playerid);
- case 1: ToBind[playerid] = 1, ShowBind2Dialog(playerid);
- case 2: ToBind[playerid] = 2, ShowBind2Dialog(playerid);
- case 3: ToBind[playerid] = 3, ShowBind2Dialog(playerid);
- case 4: ToBind[playerid] = 4, ShowBind2Dialog(playerid);
- case 5: ToBind[playerid] = 5, ShowBind2Dialog(playerid);
- case 6: ToBind[playerid] = 6, ShowBind2Dialog(playerid);
- case 7: ToBind[playerid] = 7, ShowBind2Dialog(playerid);
- case 8: ToBind[playerid] = 8, ShowBind2Dialog(playerid);
- case 9: ToBind[playerid] = 9, ShowBind2Dialog(playerid);
- case 10: ToBind[playerid] = 10, ShowBind2Dialog(playerid);
- case 11: ToBind[playerid] = 11, ShowBind2Dialog(playerid);
- case 12: ToBind[playerid] = 12, ShowBind2Dialog(playerid);
- case 13: ToBind[playerid] = 13, ShowBind2Dialog(playerid);
- case 14: ToBind[playerid] = 14, ShowBind2Dialog(playerid);
- case 15: ToBind[playerid] = 15, ShowBind2Dialog(playerid);
- case 16: ToBind[playerid] = 16, ShowBind2Dialog(playerid);
- case 17: ToBind[playerid] = 17, ShowBind2Dialog(playerid);
- case 18: ToBind[playerid] = 18, ShowBind2Dialog(playerid);
- case 19: ToBind[playerid] = 19, ShowBind2Dialog(playerid);
- case 20: ToBind[playerid] = 20, ShowBind2Dialog(playerid);
- case 21: ToBind[playerid] = 21, ShowBind2Dialog(playerid);
- case 22: ToBind[playerid] = 22, ShowBind2Dialog(playerid);
- case 23: ToBind[playerid] = 23, ShowBind2Dialog(playerid);
- }
- }
- case DIALOG_BIND2:
- {
- if( !response ) return 1;
- if(strlen(inputtext) == 0) ShowBind2Dialog(playerid);
- else
- {
- format(PlayersBind[playerid][ToBind[playerid]], 128, "%s", inputtext);
- }
- }
- }
- return 1;
- }
- ShowBindDialog(playerid) return ShowPlayerDialog( playerid, DIALOG_BIND, DIALOG_STYLE_LIST, "What key would you like to Bind", "KEY_ACTION\nKEY_CROUCH\nKEY_FIRE\nKEY_SPRINT\nKEY_SECONDARY_ATTACK\nKEY_JUMP\nKEY_LOOK_RIGHT\nKEY_HANDBRAKE\nKEY_LOOK_LEFT\nKEY_SUBMISSION\nKEY_LOOK_BEHIND\nKEY_WALK\nKEY_ANALOG_UP\nKEY_ANALOG_DOWN\nKEY_ANALOG_LEFT\nKEY_ANALOG_RIGHT\nKEY_YES\nKEY_NO\nKEY_CTRL_BACK\nKEY_UP\nKEY_DOWN\nKEY_LEFT\nKEY_RIGHT", "Choose", "Cancel" );
- ShowBind2Dialog(playerid) return ShowPlayerDialog( playerid, DIALOG_BIND2, DIALOG_STYLE_INPUT, "Bind", "What would you like to bind?\n you can bind something to say or a command", "Bind", "Cancel" );
|