Guest User

Untitled

a guest
Aug 27th, 2012
773
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 15.54 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd_sscanf>
  3. #define COLOR_RED 0xFF0000FF
  4. #define ERROR               0xF80519FF
  5. #define LGreenColor   0x00FF04FF
  6. #define RedColor      0xE81010FF
  7. new dm[MAX_PLAYERS];
  8. new dmon[MAX_PLAYERS];
  9. new IDSended, zID;
  10. new suma;
  11. new dmuzimtas;
  12. new     Float:Coord                 [ MAX_PLAYERS  ][ 3 ];//Home cordinates
  13. new Text:Textdraw0[MAX_PLAYERS];
  14. new Text:Textdraw1[MAX_PLAYERS];
  15. new Text:Textdraw2[MAX_PLAYERS];
  16. new Text:Textdraw3[MAX_PLAYERS];
  17. new Text:Textdraw4[MAX_PLAYERS];
  18. new Text:Textdraw5[MAX_PLAYERS];
  19. stock PlayerName(id)
  20. {
  21.     new name[MAX_PLAYER_NAME];
  22.     GetPlayerName(id, name, MAX_PLAYER_NAME);
  23.     return name;
  24. }
  25. public OnFilterScriptInit()
  26. {
  27.     print("\n--------------------------------------");
  28.     print(" DM System BY DreDas");
  29.     print("--------------------------------------\n");
  30.    
  31.     for(new i; i < MAX_PLAYERS; ++i)
  32.     {
  33.     Textdraw0[i] = TextDrawCreate(97.000000, 298.000000, " ");
  34.     TextDrawBackgroundColor(Textdraw0[i], 255);
  35.     TextDrawFont(Textdraw0[i], 1);
  36.     TextDrawLetterSize(Textdraw0[i], 0.310000, 1.100000);
  37.     TextDrawColor(Textdraw0[i], -16776961);
  38.     TextDrawSetOutline(Textdraw0[i], 0);
  39.     TextDrawSetProportional(Textdraw0[i], 1);
  40.     TextDrawSetShadow(Textdraw0[i], 1);
  41.  
  42.     Textdraw1[i] = TextDrawCreate(146.000000, 310.000000, "");
  43.     TextDrawBackgroundColor(Textdraw1[i], 255);
  44.     TextDrawFont(Textdraw1[i], 1);
  45.     TextDrawLetterSize(Textdraw1[i], 0.420000, 2.200000);
  46.     TextDrawColor(Textdraw1[i], -65281);
  47.     TextDrawSetOutline(Textdraw1[i], 0);
  48.     TextDrawSetProportional(Textdraw1[i], 1);
  49.     TextDrawSetShadow(Textdraw1[i], 1);
  50.  
  51.     Textdraw2[i] = TextDrawCreate(170.000000, 315.000000, "");
  52.     TextDrawBackgroundColor(Textdraw2[i], 255);
  53.     TextDrawFont(Textdraw2[i], 1);
  54.     TextDrawLetterSize(Textdraw2[i], 0.500000, 1.000000);
  55.     TextDrawColor(Textdraw2[i], -1);
  56.     TextDrawSetOutline(Textdraw2[i], 0);
  57.     TextDrawSetProportional(Textdraw2[i], 1);
  58.     TextDrawSetShadow(Textdraw2[i], 1);
  59.  
  60.     Textdraw3[i] = TextDrawCreate(461.000000, 298.000000, "Labas_Bibauskaitisasasas");
  61.     TextDrawBackgroundColor(Textdraw3[i], 255);
  62.     TextDrawFont(Textdraw3[i], 1);
  63.     TextDrawLetterSize(Textdraw3[i], 0.310000, 1.100000);
  64.     TextDrawColor(Textdraw3[i], -16776961);
  65.     TextDrawSetOutline(Textdraw3[i], 0);
  66.     TextDrawSetProportional(Textdraw3[i], 1);
  67.     TextDrawSetShadow(Textdraw3[i], 1);
  68.  
  69.     Textdraw4[i] = TextDrawCreate(506.000000, 310.000000, "99");
  70.     TextDrawBackgroundColor(Textdraw4[i], 255);
  71.     TextDrawFont(Textdraw4[i], 1);
  72.     TextDrawLetterSize(Textdraw4[i], 0.420000, 2.200000);
  73.     TextDrawColor(Textdraw4[i], -65281);
  74.     TextDrawSetOutline(Textdraw4[i], 0);
  75.     TextDrawSetProportional(Textdraw4[i], 1);
  76.     TextDrawSetShadow(Textdraw4[i], 1);
  77.  
  78.     Textdraw5[i] = TextDrawCreate(529.000000, 315.000000, "Desert Eagle");
  79.     TextDrawBackgroundColor(Textdraw5[i], 255);
  80.     TextDrawFont(Textdraw5[i], 1);
  81.     TextDrawLetterSize(Textdraw5[i], 0.500000, 1.000000);
  82.     TextDrawColor(Textdraw5[i], -1);
  83.     TextDrawSetOutline(Textdraw5[i], 0);
  84.     TextDrawSetProportional(Textdraw5[i], 1);
  85.     TextDrawSetShadow(Textdraw5[i], 1);
  86.     }
  87.     IDSended = 0;
  88.     zID = 0;
  89.     dmuzimtas = 0;
  90.     return 1;
  91. }
  92.  
  93. public OnFilterScriptExit()
  94. {
  95.     IDSended = 0;
  96.     zID = 0;
  97.     dmuzimtas = 0;
  98.     return 1;
  99. }
  100.  
  101. public OnPlayerConnect(playerid)
  102. {
  103.     SendClientMessage(playerid,COLOR_RED,"Server has DM system created BY DreDas. If you want invite friend to dm type /dm [PlayerID] [Price]");
  104.     dm[playerid] = 0;
  105.     dmon[playerid] = 0;
  106.     return 1;
  107. }
  108.  
  109. public OnPlayerDisconnect(playerid, reason)
  110. {
  111.     dm[playerid] = 0;
  112.     dmon[playerid] = 0;
  113.     if(dm[IDSended] == 1 || dm[zID] == 1)
  114.     {
  115.     dmuzimtas = 0;
  116.     dm[IDSended] = 0;
  117.     dm[zID] = 0;
  118.     SetPlayerPos( IDSended, Coord[ IDSended ][ 0 ], Coord[ IDSended ][ 1 ], Coord[ IDSended ][ 2 ] );
  119.     SetPlayerPos( zID, Coord[ zID ][ 0 ], Coord[ zID ][ 1 ], Coord[ zID ][ 2 ] );
  120.     ResetPlayerWeapons(IDSended);
  121.     ResetPlayerWeapons(zID);
  122.     SetPlayerHealth(IDSended,100.0);
  123.     SetPlayerHealth(zID,100.0);
  124.     TogglePlayerControllable(IDSended,1);
  125.     TogglePlayerControllable(zID,1);
  126.     }
  127.     return 1;
  128. }
  129.  
  130.  
  131. public OnPlayerDeath(playerid, killerid, reason)
  132. {
  133.     SendDeathMessage(killerid, playerid, reason);
  134.     if(dm[killerid] == 1 || dm[playerid] == 1)
  135.     {
  136.     GameTextForPlayer(killerid, "Winner", 1000, 1);
  137.     GameTextForPlayer(playerid, "Loser", 1000, 1);
  138.     GivePlayerMoney(killerid,suma);
  139.     GivePlayerMoney(playerid,-suma);
  140.     dm[playerid] = 0;
  141.     dm[killerid] = 0;
  142.     dmuzimtas = 0;
  143.     ResetPlayerWeapons(killerid);
  144.     ResetPlayerWeapons(playerid);
  145.     SetPlayerHealth(killerid,100.0);
  146.     SetPlayerHealth(playerid,100.0);
  147.     SetPlayerPos( killerid, Coord[ killerid ][ 0 ], Coord[ killerid ][ 1 ], Coord[ killerid ][ 2 ] );
  148.     }
  149.     return 1;
  150.  }
  151.  
  152. COMMAND:dm(playerid, params[])
  153. {
  154.     IDSended = playerid;
  155.     if(sscanf(params,"dd", zID, suma)) return SendClientMessage(IDSended, ERROR, "** /dm [PlayerID] [Price].");
  156.     if(suma < 1000) return SendClientMessage(IDSended, ERROR, "* Minimum Price is 1000$");
  157.     if(dm[zID] == 1) return  SendClientMessage(IDSended, ERROR, "* Player Already is in DM.");
  158.     if(suma > GetPlayerMoney(IDSended)) return SendClientMessage(IDSended, ERROR, "* You don`t have enough money.");
  159.     if(dmon[zID] == 1) return SendClientMessage(IDSended, ERROR, "* Player is off his DM invites. He don`t wanna be invited to dm.");
  160.     if(zID == INVALID_PLAYER_ID && !IsPlayerNPC(zID)) return SendClientMessage(IDSended, ERROR, "** Player with this ID is not exist in this server.");
  161.     if(zID == IDSended) return SendClientMessage(IDSended, ERROR, " You can`t invite yourself to DM.");
  162.     new String[128],String1[128];
  163.     format(String1, 128, "%s wants invite you to DM for %d$.",PlayerName(IDSended), suma);
  164.     //SendClientMessage(zID, COLOR_RED, String1);
  165.     format(String, 128, "** You invited %s , to DM for %d$.", PlayerName(zID), suma);
  166.     SendClientMessage(IDSended, COLOR_RED,String);
  167.     ShowPlayerDialog(zID, 10, DIALOG_STYLE_MSGBOX,"DM INVITE", String1, "Accept", "Decline");
  168.     GetPlayerPos( IDSended, Coord[ IDSended ][ 0 ], Coord[ IDSended ][ 1 ], Coord[ IDSended ][ 2 ] );
  169.     GetPlayerPos( zID, Coord[ zID ][ 0 ], Coord[ zID ][ 1 ], Coord[ zID ][ 2 ] );
  170.     return 1;
  171. }
  172. COMMAND:pinigai(playerid,params[])
  173. {
  174. GivePlayerMoney(playerid,10000);
  175. return 1;
  176. }
  177. COMMAND:dmoff(playerid,params[])
  178. {
  179. dmon[playerid] = 1;
  180. SendClientMessage(playerid, ERROR, "* You turned off dm if you want on it, type /dmon ");
  181. return 1;
  182. }
  183. COMMAND:dmon(playerid,params[])
  184. {
  185. dmon[playerid] = 0;
  186. SendClientMessage(playerid, ERROR, "* You turned on dm if you want off it, type /dmoff ");
  187. return 1;
  188. }
  189. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  190. {
  191.     if(dialogid == 10) //Jei dialogid bus lygus 0
  192.     {
  193.         if(response) //Jei paspaudë mygtukà "Sutinku"
  194.         {
  195.             new String[128];
  196.             if(dmuzimtas == 1)
  197.             {
  198.             SendClientMessage(IDSended, ERROR, "* DM Base is using other players, wait some minutes");
  199.             SendClientMessage(zID, ERROR, "* DM Base is using other players, wait some minutes");
  200.             return 1;
  201.             }
  202.             if(suma > GetPlayerMoney(zID))
  203.             {
  204.             SendClientMessage(zID, ERROR, "* You Don`t Have so much as needed");
  205.             SendClientMessage(IDSended, ERROR, "* He don`t have so much as needed");
  206.             return 0;
  207.             }
  208.             dm[IDSended] = 1;
  209.             dm[zID] = 1;
  210.             dmuzimtas = 1;
  211.             format(String, 128, "** %s Accepted DM invite.", PlayerName(zID));
  212.             SendClientMessage(IDSended, COLOR_RED,String);
  213.             SendClientMessage(zID, COLOR_RED,"** You Accepted invite.");
  214.             SetPlayerPos(IDSended,1128.8048,-1433.8384,15.7969);
  215.             SetPlayerPos(zID,1129.3468,-1515.7078,15.7994);
  216.             TogglePlayerControllable(IDSended,0);
  217.             TogglePlayerControllable(zID,0);
  218.             ShowPlayerDialog(IDSended,11,DIALOG_STYLE_LIST,"Weapons 1/2","M4\nAK47\nShotgun\nSniper Rifle\nDeagle","Choose","");
  219.         }
  220.         if(!response) //Jei paspaudë mygtukà "Nesutinku"
  221.         {
  222.             new String1[128];
  223.             format(String1, 128, "** %s Declined your invite.", PlayerName(zID));
  224.             SendClientMessage(IDSended, COLOR_RED,String1);
  225.             SendClientMessage(zID, COLOR_RED,"** You Declined invite.");
  226.         }
  227.         return 1;
  228.     }
  229.     if(dialogid == 11) //Jei dialogid bus lygus 0
  230.     {
  231.         if(response) //Jei paspaudë mygtukà "Sutinku"
  232.         {
  233.             if(listitem == 0) //Jei pirmas pasirinkimas
  234.             {
  235.                 GivePlayerWeapon(IDSended,31,9999);
  236.                 GivePlayerWeapon(zID,31,9999);
  237.                 ShowPlayerDialog(IDSended,12,DIALOG_STYLE_LIST,"Weapons 2/2","M4\nAK47\nShotgun\nSniper Rifle\nDeagle","Choose","Back");
  238.             }
  239.             else if(listitem == 1) //Jei antras pasirinkimas
  240.             {
  241.                 GivePlayerWeapon(IDSended,30,9999);
  242.                 GivePlayerWeapon(zID,30,9999);
  243.                 ShowPlayerDialog(IDSended,12,DIALOG_STYLE_LIST,"Weapons 2/2","M4\nAK47\nShotgun\nSniper Rifle\nDeagle","Choose","Back");
  244.             }
  245.             else if(listitem == 2) //Jei antras pasirinkimas
  246.             {
  247.                 GivePlayerWeapon(IDSended,25,9999);
  248.                 GivePlayerWeapon(zID,25,9999);
  249.                 ShowPlayerDialog(IDSended,12,DIALOG_STYLE_LIST,"Weapons 2/2","M4\nAK47\nShotgun\nSniper Rifle\nDeagle","Choose","Back");
  250.             }
  251.             else if(listitem == 3) //Jei antras pasirinkimas
  252.             {
  253.                 GivePlayerWeapon(IDSended,34,9999);
  254.                 GivePlayerWeapon(zID,34,9999);
  255.                 ShowPlayerDialog(IDSended,12,DIALOG_STYLE_LIST,"Weapons 2/2","M4\nAK47\nShotgun\nSniper Rifle\nDeagle","Choose","Back");
  256.             }
  257.             else if(listitem == 4) //Jei antras pasirinkimas
  258.             {
  259.                 GivePlayerWeapon(IDSended,24,9999);
  260.                 GivePlayerWeapon(zID,24,9999);
  261.                 ShowPlayerDialog(IDSended,12,DIALOG_STYLE_LIST,"Weapons 2/2","M4\nAK47\nShotgun\nSniper Rifle\nDeagle","Choose","Back");
  262.             }
  263.         }
  264.         return 1;
  265.     }
  266.     if(dialogid == 12) //Jei dialogid bus lygus 0
  267.     {
  268.         if(response) //Jei paspaudë mygtukà "Sutinku"
  269.         {
  270.             if(listitem == 0) //Jei pirmas pasirinkimas
  271.             {
  272.                 GivePlayerWeapon(IDSended,31,9999);
  273.                 GivePlayerWeapon(zID,31,9999);
  274.                 GameTextForPlayer(IDSended, "GO GO GO", 1000, 1);
  275.                 GameTextForPlayer(zID, "GO GO GO", 1000, 1);
  276.                 TogglePlayerControllable(IDSended,1);
  277.                 TogglePlayerControllable(zID,1);
  278.                 SetPlayerHealth(IDSended,100.0);
  279.                 SetPlayerHealth(zID,100.0);
  280.                 SetPlayerArmour(IDSended,100.0);
  281.                 SetPlayerArmour(zID,100.0);
  282.             }
  283.             else if(listitem == 1) //Jei antras pasirinkimas
  284.             {
  285.                 GivePlayerWeapon(IDSended,30,9999);
  286.                 GivePlayerWeapon(zID,30,9999);
  287.                 GameTextForPlayer(IDSended, "GO GO GO", 1000, 1);
  288.                 GameTextForPlayer(zID, "GO GO GO", 1000, 1);
  289.                 TogglePlayerControllable(IDSended,1);
  290.                 TogglePlayerControllable(zID,1);
  291.                 SetPlayerHealth(IDSended,100.0);
  292.                 SetPlayerHealth(zID,100.0);
  293.                 SetPlayerArmour(IDSended,100.0);
  294.                 SetPlayerArmour(zID,100.0);
  295.             }
  296.             else if(listitem == 2) //Jei antras pasirinkimas
  297.             {
  298.                 GivePlayerWeapon(IDSended,25,9999);
  299.                 GivePlayerWeapon(zID,25,9999);
  300.                 GameTextForPlayer(IDSended, "GO GO GO", 1000, 1);
  301.                 GameTextForPlayer(zID, "GO GO GO", 1000, 1);
  302.                 TogglePlayerControllable(IDSended,1);
  303.                 TogglePlayerControllable(zID,1);
  304.                 SetPlayerHealth(IDSended,100.0);
  305.                 SetPlayerHealth(zID,100.0);
  306.                 SetPlayerArmour(IDSended,100.0);
  307.                 SetPlayerArmour(zID,100.0);
  308.             }
  309.             else if(listitem == 3) //Jei antras pasirinkimas
  310.             {
  311.                 GivePlayerWeapon(IDSended,34,9999);
  312.                 GivePlayerWeapon(zID,34,9999);
  313.                 GameTextForPlayer(IDSended, "GO GO GO", 1000, 1);
  314.                 GameTextForPlayer(zID, "GO GO GO", 1000, 1);
  315.                 TogglePlayerControllable(IDSended,1);
  316.                 TogglePlayerControllable(zID,1);
  317.                 SetPlayerHealth(IDSended,100.0);
  318.                 SetPlayerHealth(zID,100.0);
  319.                 SetPlayerArmour(IDSended,100.0);
  320.                 SetPlayerArmour(zID,100.0);
  321.             }
  322.             else if(listitem == 4) //Jei antras pasirinkimas
  323.             {
  324.                 GivePlayerWeapon(IDSended,24,9999);
  325.                 GivePlayerWeapon(zID,24,9999);
  326.                 GameTextForPlayer(IDSended, "GO GO GO", 1000, 1);
  327.                 GameTextForPlayer(zID, "GO GO GO", 1000, 1);
  328.                 TogglePlayerControllable(IDSended,1);
  329.                 TogglePlayerControllable(zID,1);
  330.                 SetPlayerHealth(IDSended,100.0);
  331.                 SetPlayerHealth(zID,100.0);
  332.                 SetPlayerArmour(IDSended,100.0);
  333.                 SetPlayerArmour(zID,100.0);
  334.             }
  335.         }
  336.         if(!response)
  337.         {
  338.             IDSended = playerid;
  339.             ShowPlayerDialog(playerid,11,DIALOG_STYLE_LIST,"Weapons 1/2","M4\nAK47\nShotgun\nSniper Rifle\nDeagle","Choose","");
  340.             ResetPlayerWeapons(IDSended);
  341.             ResetPlayerWeapons(zID);
  342.         }
  343.         return 1;
  344.     }
  345.     return 0;
  346. }
  347. forward OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid);
  348. public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
  349. {
  350.     new s[32],s1[3],s2[35];
  351.     new weaponname[35];
  352.     GetWeaponName(weaponid, weaponname, sizeof (weaponname));
  353.     format(s, 32, "%s", PlayerName(damagedid));
  354.     TextDrawSetString(Textdraw0[playerid], s);
  355.     TextDrawShowForPlayer(playerid, Textdraw0[playerid]);
  356.     format(s1, 3, "%.0f", amount);
  357.     TextDrawSetString(Textdraw1[playerid], s1);
  358.     TextDrawShowForPlayer(playerid, Textdraw1[playerid]);
  359.     format(s2, 35, "%s", weaponname);
  360.     TextDrawSetString(Textdraw2[playerid], s2);
  361.     TextDrawShowForPlayer(playerid, Textdraw2[playerid]);
  362.     PlayerPlaySound(playerid,17802,0.0,0.0,0.0);
  363.     SetTimerEx("DestruirTextoDraw", 2500, false, "i", playerid);
  364.     return 1;
  365. }
  366.  
  367. forward OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid);
  368. public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
  369. {
  370.     new s[32],s1[3],s2[35];
  371.     new weaponname[35];
  372.     GetWeaponName(weaponid, weaponname, sizeof (weaponname));
  373.     format(s, 32, "%s", PlayerName(issuerid));
  374.     TextDrawSetString(Textdraw3[playerid], s);
  375.     TextDrawShowForPlayer(playerid, Textdraw3[playerid]);
  376.     format(s1, 3, "%.0f", amount);
  377.     TextDrawSetString(Textdraw4[playerid], s1);
  378.     TextDrawShowForPlayer(playerid, Textdraw4[playerid]);
  379.     format(s2, 35, "%s", weaponname);
  380.     TextDrawSetString(Textdraw5[playerid], s2);
  381.     TextDrawShowForPlayer(playerid, Textdraw5[playerid]);
  382.     SetTimerEx("DestruirTextoDraw", 2500, false, "i", playerid);
  383.     return 1;
  384. }
  385.  
  386. forward DestruirTextoDraw(playerid);
  387. public DestruirTextoDraw(playerid)
  388. {
  389.     TextDrawHideForPlayer(playerid, Textdraw0[playerid]);
  390.     TextDrawHideForPlayer(playerid, Textdraw1[playerid]);
  391.     TextDrawHideForPlayer(playerid, Textdraw2[playerid]);
  392.     TextDrawHideForPlayer(playerid, Textdraw3[playerid]);
  393.     TextDrawHideForPlayer(playerid, Textdraw4[playerid]);
  394.     TextDrawHideForPlayer(playerid, Textdraw5[playerid]);
  395.     return 1;
  396. }
Advertisement
Add Comment
Please, Sign In to add comment