Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- By RoW do not remove credits !!
- */
- /*
- ________________________________________________________________________________
- Include's
- ________________________________________________________________________________
- */
- #include " a_samp "
- #include " zcmd "
- #include " sscanf "
- #include " streamer "
- #include " foreach "
- /*
- ________________________________________________________________________________
- Define's
- ________________________________________________________________________________
- */
- #define SPD ShowPlayerDialog
- #define SCM SendClientMessage
- #define Input DIALOG_STYLE_INPUT
- #define List DIALOG_STYLE_LIST
- #define Box DIALOG_STYLE_MSGBOX
- #define IPI INVALID_PLAYER_ID
- #define Duel_Dialog 555
- #define R "{FF0000}"
- #define O "{FF8000}"
- #define W "{FFFFFF}"
- /*
- ________________________________________________________________________________
- Enum's
- ________________________________________________________________________________
- */
- new G_Ini = -1 , G_Oponent = -1 ,
- G_BET , G_Weap1 , G_Weap2 ,
- G_Weap3 , G_str[500] ,
- IsDuel[MAX_PLAYERS] , InDuel[ MAX_PLAYERS ];
- public OnFilterScriptInit()
- {
- print("\n____________________________________\n");
- print(" ! x ! RoW duel System ! x !");
- print("______________________________________\n");
- /*
- ________________________________________________________________________________
- Map-Dm
- ________________________________________________________________________________
- */
- CreateDynamicObject(18783, 3256.39, -2852.61, 71.90, 0.00, 0.00, 0.00);
- CreateDynamicObject(18783, 3216.44, -2812.61, 71.90, 0.00, 0.00, 0.00);
- CreateDynamicObject(18783, 3216.40, -2852.56, 71.90, 0.00, 0.00, 0.00);
- CreateDynamicObject(18783, 3256.30, -2812.60, 71.90, 0.00, 0.00, 0.00);
- CreateDynamicObject(18783, 3236.39, -2852.57, 71.90, 0.00, 0.00, 0.00);
- CreateDynamicObject(18783, 3236.34, -2812.69, 71.90, 0.00, 0.00, 0.00);
- CreateDynamicObject(18783, 3256.29, -2832.60, 71.90, 0.00, 0.00, 0.00);
- CreateDynamicObject(18783, 3216.39, -2832.59, 71.90, 0.00, 0.00, 0.00);
- CreateDynamicObject(18783, 3236.38, -2832.55, 71.90, 0.00, 0.00, 0.00);
- CreateDynamicObject(8171, 3265.92, -2839.29, 90.37, 0.00, 90.00, 179.91);
- CreateDynamicObject(8171, 3210.51, -2802.54, 90.29, 0.00, 90.00, 269.69);
- CreateDynamicObject(8171, 3206.39, -2829.85, 90.37, 0.00, 90.00, 0.00);
- CreateDynamicObject(8171, 3222.43, -2862.78, 90.37, 0.00, 90.00, 90.05);
- CreateDynamicObject(8171, 3206.41, -2839.17, 108.91, 0.00, 0.00, 0.00);
- CreateDynamicObject(8171, 3246.36, -2839.31, 108.91, 0.00, 0.00, 0.00);
- CreateDynamicObject(944, 3258.22, -2837.41, 75.26, 0.00, 0.00, 0.00);
- CreateDynamicObject(944, 3212.61, -2816.46, 75.26, 0.00, 0.00, 0.00);
- CreateDynamicObject(944, 3234.08, -2850.64, 75.26, 0.00, 0.00, 0.00);
- CreateDynamicObject(944, 3231.38, -2841.40, 75.26, 0.00, 0.00, 0.00);
- CreateDynamicObject(944, 3252.87, -2820.16, 75.26, 0.00, 0.00, 0.00);
- CreateDynamicObject(944, 3230.65, -2821.35, 75.26, 0.00, 0.00, 0.00);
- CreateDynamicObject(19378, 3225.20, -2837.69, 75.96, 0.00, 0.00, 24.12);
- CreateDynamicObject(19378, 3237.31, -2837.34, 76.41, 0.00, 0.00, 335.22);
- CreateDynamicObject(944, 3217.69, -2832.38, 75.26, 0.00, 0.00, 0.00);
- CreateDynamicObject(19378, 3223.43, -2821.82, 74.97, 0.00, 0.00, 332.27);
- CreateDynamicObject(19378, 3238.42, -2823.03, 74.97, 0.00, 0.00, 32.23);
- CreateDynamicObject(944, 3245.11, -2843.43, 75.26, 0.00, 0.00, 0.00);
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect( playerid )
- {
- IsDuel[ playerid ] = 0;
- InDuel[ playerid ] = 0;
- G_Ini = -1;
- G_Oponent = -1;
- G_Weap1 = 0;
- G_Weap2 = 0;
- G_Weap3 = 0;
- G_BET = 0;
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- IsDuel[ playerid ] = 0;
- InDuel[ playerid ] = 0;
- G_Ini = -1;
- G_Oponent = -1;
- G_Weap1 = 0;
- G_Weap2 = 0;
- G_Weap3 = 0;
- G_BET = 0;
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath( playerid , killerid , reason )
- {
- if( InDuel[ playerid ] == 1 )
- {
- GivePlayerMoney( playerid , -G_BET );
- GivePlayerMoney( playerid , G_BET );
- format( G_str , sizeof( G_str ) , "[ "R"Duel "W"]"O"%s "W"a castigat iar "O"%s "W"a pierdut "R"%d $" , GetName( killerid ) , GetName( playerid ) , G_BET );
- SendClientMessageToAll( -1 , G_str );
- G_Ini = -1;G_Oponent = -1;G_Weap1 = 0;
- G_Weap2 = 0;G_Weap3 = 0;G_BET = 0;
- InDuel[ playerid ] = 0;
- InDuel[ killerid ] = 0;
- SpawnPlayer( killerid );
- ResetPlayerWeapons( killerid );
- foreach(new i: Player)return IsDuel[ i ] = 0;
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case Duel_Dialog:
- {
- switch(listitem)
- {
- case 0:
- {
- if( response )return SPD(playerid,Duel_Dialog + 1 ,Input,""R"C"W"oins-"O"B"W"et",""O"S"W"crie mai jos bet pentru duel","Select","");
- }
- case 1:
- {
- if( response )return SPD(playerid,Duel_Dialog + 2 ,List,""O"W"W"eapon 1",""O"9"W"mm\n"O"D"W"eagle\n"O"S"W"iliced","Select","");
- }
- case 2:
- {
- if( response )return SPD(playerid,Duel_Dialog + 3 ,List,""O"W"W"eapon 2",""O"U"W"zi\n"O"M"W"p5\n"O"T"W"ec-9","Select","");
- }
- case 3:
- {
- if( response )return SPD(playerid,Duel_Dialog + 4 ,List,""O"W"W"eapon 3",""O"S"W"hotGun\n"O"C"W"ombat-"O"S"W"hotGun\n"O"S"W"awnoff-"O"S"W"hotgun","Select","");
- }
- case 4:
- {
- if( response )
- {
- format(G_str,sizeof(G_str),""O"T"W"rimiti cerea de duel catre "R"%s "W"?",GetName( G_Oponent ) );
- SPD(playerid,Duel_Dialog + 5 ,Box,""R"D"W"uel-"O"I"W"nvite",G_str,"Send","Exit");
- }
- }
- }
- }
- case Duel_Dialog + 1 :
- {
- if( !response )return SPD(playerid,Duel_Dialog,DIALOG_STYLE_LIST,""R"D"W"uel-"O"O"W"ptions",""O"C"W"oins bet\n"O"W"W"eapon 1\n"O"W"W"eapon 2\n"O"W"W"eapon 3","Duel","Exit");
- if( response )
- {
- if( !strval( inputtext ) )return SPD(playerid,Duel_Dialog + 1 ,Input,""R"C"W"oins-"O"B"W"et",""O"S"W"crie mai jos bet pentru duel( "R"T"W"rebuie sa scri un bet )","Select","Back");
- if( strval( inputtext ) == 0 )return SPD(playerid,Duel_Dialog + 1 ,Input,""R"C"W"oins-"O"B"W"et",""O"S"W"crie mai jos bet pentru duel( "R"T"W"rebuie sa scri un bet )","Select","Back");
- if( strval( inputtext ) > 999999999 )return SPD(playerid,Duel_Dialog + 1 ,Input,""R"C"W"oins-"O"B"W"et",""O"S"W"crie mai jos bet pentru duel( "R"M"W"ax 999999999 )","Select","Back");
- if( strval( inputtext ) > GetPlayerMoney( G_Ini ) )return SPD(playerid,Duel_Dialog + 1 ,Input,""R"C"W"oins-"O"B"W"et",""O"S"W"crie mai jos bet pentru duel( "R"N"W"u ai atatia bani )","Select","Back");
- G_BET = strval( inputtext );
- format(G_str,sizeof(G_str),""O"C"W"oins bet \t\t\t[ "R"%d "W"]\n"O"W"W"eapon 1\n"O"W"W"eapon 2\n"O"W"W"eapon 3\n"O"S"W"tart-"R"D"W"uel",G_BET);
- ShowPlayerDialog(playerid,Duel_Dialog,List,""R"D"W"uel-"O"O"W"ptions",G_str,"Duel","Exit");
- }
- }
- case Duel_Dialog + 2 :
- {
- if( !response )return SPD(playerid,Duel_Dialog,DIALOG_STYLE_LIST,""R"D"W"uel-"O"O"W"ptions",""O"C"W"oins bet\n"O"W"W"eapon 1\n"O"W"W"eapon 2\n"O"W"W"eapon 3","Duel","Exit");
- switch( listitem )
- {
- case 0:
- {
- G_Weap1 = 22;
- format(G_str,sizeof(G_str),""O"C"W"oins bet \t\t\t[ "R"%d "W"]\n"O"W"W"eapon 1 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 2\n"O"W"W"eapon 3\n"O"S"W"tart-"R"D"W"uel",G_BET,wGetName( G_Weap1 ) );
- ShowPlayerDialog(playerid,Duel_Dialog,List,""R"D"W"uel-"O"O"W"ptions",G_str,"Duel","Exit");
- }
- case 1:
- {
- G_Weap1 = 24;
- format(G_str,sizeof(G_str),""O"C"W"oins bet \t\t\t[ "R"%d "W"]\n"O"W"W"eapon 1 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 2\n"O"W"W"eapon 3\n"O"S"W"tart-"R"D"W"uel",G_BET,wGetName( G_Weap1 ) );
- ShowPlayerDialog(playerid,Duel_Dialog,List,""R"D"W"uel-"O"O"W"ptions",G_str,"Duel","Exit");
- }
- case 2:
- {
- G_Weap1 = 23;
- format(G_str,sizeof(G_str),""O"C"W"oins bet \t\t\t[ "R"%d "W"]\n"O"W"W"eapon 1 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 2\n"O"W"W"eapon 3\n"O"S"W"tart-"R"D"W"uel",G_BET,wGetName( G_Weap1 ) );
- ShowPlayerDialog(playerid,Duel_Dialog,List,""R"D"W"uel-"O"O"W"ptions",G_str,"Duel","Exit");
- }
- }
- }
- case Duel_Dialog + 3 :
- {
- if( !response )return SPD(playerid,Duel_Dialog,DIALOG_STYLE_LIST,""R"D"W"uel-"O"O"W"ptions",""O"C"W"oins bet\n"O"W"W"eapon 1\n"O"W"W"eapon 2\n"O"W"W"eapon 3","Duel","Exit");
- switch( listitem )
- {
- case 0:
- {
- G_Weap2 = 28;
- format(G_str,sizeof(G_str),""O"C"W"oins bet \t\t\t[ "R"%d "W"]\n"O"W"W"eapon 1 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 2 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 3\n"O"S"W"tart-"R"D"W"uel",G_BET,wGetName( G_Weap1 ) ,wGetName( G_Weap2 ) );
- ShowPlayerDialog(playerid,Duel_Dialog,List,""R"D"W"uel-"O"O"W"ptions",G_str,"Duel","Exit");
- }
- case 1:
- {
- G_Weap2 = 29;
- format(G_str,sizeof(G_str),""O"C"W"oins bet \t\t\t[ "R"%d "W"]\n"O"W"W"eapon 1 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 2 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 3\n"O"S"W"tart-"R"D"W"uel",G_BET,wGetName( G_Weap1 ) ,wGetName( G_Weap2 ) );
- ShowPlayerDialog(playerid,Duel_Dialog,List,""R"D"W"uel-"O"O"W"ptions",G_str,"Duel","Exit");
- }
- case 2:
- {
- G_Weap2 = 32;
- format(G_str,sizeof(G_str),""O"C"W"oins bet \t\t\t[ "R"%d "W"]\n"O"W"W"eapon 1 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 2 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 3\n"O"S"W"tart-"R"D"W"uel",G_BET,wGetName( G_Weap1 ) ,wGetName( G_Weap2 ) );
- ShowPlayerDialog(playerid,Duel_Dialog,List,""R"D"W"uel-"O"O"W"ptions",G_str,"Duel","Exit");
- }
- }
- }
- case Duel_Dialog + 4 :
- {
- if( !response )return SPD(playerid,Duel_Dialog,DIALOG_STYLE_LIST,""R"D"W"uel-"O"O"W"ptions",""O"C"W"oins bet\n"O"W"W"eapon 1\n"O"W"W"eapon 2\n"O"W"W"eapon 3","Duel","Exit");
- switch( listitem )
- {
- case 0:
- {
- G_Weap3 = 25;
- format(G_str,sizeof(G_str),""O"C"W"oins bet \t\t\t[ "R"%d "W"]\n"O"W"W"eapon 1 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 2 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 3 \t\t\t[ "R"%s "W"]\n"O"S"W"tart-"R"D"W"uel",G_BET,wGetName( G_Weap1 ) ,wGetName( G_Weap2 ) ,wGetName( G_Weap3 ) );
- ShowPlayerDialog(playerid,Duel_Dialog,List,""R"D"W"uel-"O"O"W"ptions",G_str,"Duel","Exit");
- }
- case 1:
- {
- G_Weap3 = 27;
- format(G_str,sizeof(G_str),""O"C"W"oins bet \t\t\t[ "R"%d "W"]\n"O"W"W"eapon 1 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 2 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 3 \t\t\t[ "R"%s "W"]\n"O"S"W"tart-"R"D"W"uel",G_BET,wGetName( G_Weap1 ) ,wGetName( G_Weap2 ) ,wGetName( G_Weap3 ) );
- ShowPlayerDialog(playerid,Duel_Dialog,List,""R"D"W"uel-"O"O"W"ptions",G_str,"Duel","Exit");
- }
- case 2:
- {
- G_Weap3 = 26;
- format(G_str,sizeof(G_str),""O"C"W"oins bet \t\t\t[ "R"%d "W"]\n"O"W"W"eapon 1 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 2 \t\t\t[ "R"%s "W"]\n"O"W"W"eapon 3 \t\t\t[ "R"%s "W"]\n"O"S"W"tart-"R"D"W"uel",G_BET,wGetName( G_Weap1 ) ,wGetName( G_Weap2 ) ,wGetName( G_Weap3 ) );
- ShowPlayerDialog(playerid,Duel_Dialog,List,""R"D"W"uel-"O"O"W"ptions",G_str,"Duel","Exit");
- }
- }
- }
- case Duel_Dialog + 5 :
- {
- if( !response )return SPD(playerid,Duel_Dialog,DIALOG_STYLE_LIST,""R"D"W"uel-"O"O"W"ptions",""O"C"W"oins bet\n"O"W"W"eapon 1\n"O"W"W"eapon 2\n"O"W"W"eapon 3","Duel","Exit");
- if( response )
- {
- format( G_str , sizeof(G_str) , ""O"%s "W"doreste sa faca un duel cu tine cu armele\n* [ "R"%s"W" ] *\n* [ "R"%s"W" ] *\n* [ "R"%s"W" ] *\n\t\t\t"R"B"W"E"O"T"W" [ "R"%d"W" ]" , GetName( G_Ini ) , wGetName( G_Weap1 ) , wGetName( G_Weap2 ) , wGetName( G_Weap3 ) , G_BET);
- SPD( G_Oponent , Duel_Dialog + 6 , Box , ""R"D"W"uel-"O"I"W"nvitation" , G_str , "Accept" , "Decline" );
- }
- }
- case Duel_Dialog + 6 :
- {
- if( !response )
- {
- format( G_str , sizeof(G_str) , ""R"%s "W"a refuzat duelul" , GetName( G_Oponent ) );
- SCM( G_Ini , -1 , G_str );
- G_Ini = -1;G_Oponent = -1;G_Weap1 = 0;
- G_Weap2 = 0;G_Weap3 = 0;G_BET = 0;
- }
- if( response )
- {
- format( G_str , sizeof(G_str) , ""R"%s "W"a aceptat duelul" , GetName( G_Oponent ) );
- SCM( G_Ini , -1 , G_str );
- GivePlayerMoney(G_Ini,-G_BET);GivePlayerMoney(G_Oponent,-G_BET);
- ResetPlayerWeapons(G_Ini);ResetPlayerWeapons(G_Oponent);
- GivePlayerWeapon(G_Ini,G_Weap1,99999);GivePlayerWeapon(G_Oponent,G_Weap1,99999);
- GivePlayerWeapon(G_Ini,G_Weap2,99999);GivePlayerWeapon(G_Oponent,G_Weap2,99999);
- GivePlayerWeapon(G_Ini,G_Weap3,99999);GivePlayerWeapon(G_Oponent,G_Weap3,99999);
- SetPlayerPos(G_Ini,3234.0310,-2850.8220,76.8211);SetPlayerPos(G_Oponent,3230.7793,-2820.7405,76.8211);
- InDuel[ G_Ini ] = 1;InDuel[ G_Oponent ] = 1;foreach(new i: Player)return IsDuel[ i ] = 1;
- }
- }
- }
- return 1;
- }
- CMD:duel( playerid , params [ ] )
- {
- if( IsDuel[ playerid ] != 0 )return SCM(playerid,-1,""R"Error"W":"O"E"W"ste un duel in desfasurare !");
- new Oponenta;
- if( sscanf(params , "u" , Oponenta ) )return SCM(playerid,-1,""R"Use"W": "O"/duel "W"< "R"playerid "W">");
- G_Oponent = Oponenta;
- G_Ini = playerid;
- if( Oponenta == G_Ini )return SCM(playerid,-1,""R"N"W"u poti da duel cu tine");
- if( Oponenta == IPI )return SCM(playerid,-1,""R"Error"W": "O"P"W"layer neconectat !");
- SPD(playerid,Duel_Dialog,DIALOG_STYLE_LIST,""R"D"W"uel-"O"O"W"ptions",""O"C"W"oins bet\n"O"W"W"eapon 1\n"O"W"W"eapon 2\n"O"W"W"eapon 3","Duel","Exit");
- return 1;
- }
- stock GetName(playerid)
- {
- new name[ MAX_PLAYER_NAME ];
- GetPlayerName( playerid , name , sizeof( name ) );
- return name;
- }
- stock wGetName(weaponid)
- {
- new str[ 128 ];
- GetWeaponName(weaponid, str, 128);
- return str;
- }
Advertisement
Add Comment
Please, Sign In to add comment