DucK196

Untitled

May 26th, 2012
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.84 KB | None | 0 0
  1. /*############################################################################################################################
  2.   ##             ____                    __  __      ______  ____    ____                     __                            ##
  3.   ##            /\  _`\                 /\ \/\ \    /\__  _\/\  _`\ /\  _`\                  /\ \__                         ##
  4.   ##            \ \ \/\ \  __  __    ___\ \ \/'/'   \/_/\ \/\ \ \L\ \ \,\L\_\  __  __    ____\ \ ,_\    __    ___ ___       ##
  5.   ##             \ \ \ \ \/\ \/\ \  /'___\ \ , <       \ \ \ \ \ ,__/\/_\__ \ /\ \/\ \  /',__\\ \ \/  /'__`\/' __` __`\     ##
  6.   ##              \ \ \_\ \ \ \_\ \/\ \__/\ \ \\`\      \ \ \ \ \ \/   /\ \L\ \ \ \_\ \/\__, `\\ \ \_/\  __//\ \/\ \/\ \    ##
  7.   ##               \ \____/\ \____/\ \____\\ \_\ \_\     \ \_\ \ \_\   \ `\____\/`____ \/\____/ \ \__\ \____\ \_\ \_\ \_\   ##
  8.   ##                \/___/  \/___/  \/____/ \/_/\/_/      \/_/  \/_/    \/_____/`/___/> \/___/   \/__/\/____/\/_/\/_/\/_/   ##
  9.   ##                                                                               /\___/                                   ##
  10.   ##                                                                               \/__/                                    ##
  11.   ##                                              DucK's Teleport System. V2                                                ##
  12.   ##  How To Add New Teleport:                                                                                              ##
  13.   ##    Command: Command Name. Example: "/Race"                                                                             ##
  14.   ##    Teleport Message: The Message That Will Be Send. Example: "Welcome To The Race Area"                                ##
  15.   ##    Description (For Teles Dialog). Example: "Race Area"                                                                ##
  16.   ##    X, Y, Z, A, - Location. Example: 1253.1231, 3535.1212, 10.3513, 254.395                                             ##
  17.   ##    MinHP - Minimum Health For Teleporting. Example: 30.0 (Doesn't Matter? 0.0)                                         ##
  18.   ##    Price - How Much Money Will It Coast To Teleport. Example: 100  (For Free: 0)                                       ##
  19.   ##    AllowVehicle - Can Teleport With Vehicle. (only true/false) Example: true                                           ##
  20.   ##    FullHealth - Full Health On Teleport? (only true/false) Example: false                                              ##
  21.   ##    FullArmour - Full Armour On Teleport? (only true/false) Example: true                                               ##
  22.   ##    LimitUses - Limit The Amount Of Times You Can Use The Command? (only true/false) Example: false                     ##
  23.   ##    MaxUses - Amount Of Times You Can Use The Command. Example: 5                                                       ##
  24.   ##                                                                                                                        ##
  25.   ############################################################################################################################
  26. */
  27.  
  28. #include <a_samp>
  29. #define TDialog 198
  30. #define MessageC 0xFFFF00
  31.  
  32. enum TeleInfo
  33. {
  34.     Teleport[40],
  35.     Message[128],
  36.     DescriptionForDialog[128],
  37.     Float:PosX,
  38.     Float:PosY,
  39.     Float:PosZ,
  40.     Float:PosA,
  41.     Float:MinHP,
  42.     Price,
  43.     bool:AllowVehicle,
  44.     bool:FullHealth,
  45.     bool:FullArmour,
  46.     bool:LimitUses,
  47.     MaxUses
  48. };
  49.  
  50. new TeleVar[][TeleInfo] =
  51. {
  52. //  {"/Command", "Teleport Message", "Description", X, Y, Z, A, MinHP, Price, AllowVehicle T/F, FullHealth T/F, FullArmr T/F, LimitUses T/F, MaxUses},
  53.     {"/Fire", "Welcome To LV Fire Dept.", "Fire Departement", 1769.8323,2077.5061,11.0557,180.9239, 10.0, 70, false, false, true, false, 3},
  54.     {"/Ap", "Welcome To LV Airport", "3rd City Airport", 1690.1625,1586.6245,10.8203,301.0207, 0.0, 0, true, true, true, false, 100},
  55.     {"/Pizza", "Welcome To Pizza", "3rd City Pizzeria", 2086.8240,2221.6465,10.8203,359.2769, 0.0, 700, false, true, false, true, 3},
  56.     {"/Race", "Welcome To LV Race", "Racing Area", 2041.9771,827.3279,6.3358,310.3958, 0.0, 1000, true, false, false, true, 2}
  57. };
  58.  
  59. new Used[MAX_PLAYERS][sizeof(TeleVar)];
  60.  
  61. public OnPlayerConnect(playerid)
  62. {
  63.     for(new i = 0; i < sizeof(TeleVar); i++)
  64.     {
  65.         Used[playerid][i] = 0;
  66.     }
  67.     return 1;
  68. }
  69.  
  70. public OnPlayerCommandText(playerid, cmdtext[])
  71. {
  72.     for(new i = 0; i<sizeof(TeleVar); i++)
  73.     {
  74.         if(!strcmp(cmdtext, TeleVar[i][Teleport], true))
  75.         {
  76.             new Float:HPS;
  77.             GetPlayerHealth(playerid, HPS);
  78.             if(Used[playerid][i] >= TeleVar[i][MaxUses] && TeleVar[i][LimitUses]) return SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}You Have Used The Maximum Allowed Uses Of This Teleport");
  79.             if(HPS < TeleVar[i][MinHP]) return SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}You Don't Have Enough Health To Teleport");
  80.             if(GetPlayerMoney(playerid) < TeleVar[i][Price]) return SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}You Don't Have Enough Money To Teleport");
  81.             if(IsPlayerInAnyVehicle(playerid) && !TeleVar[i][AllowVehicle]) return SendClientMessage(playerid, -1, "{FF0000}Error: {FFFFFF}You Can't Teleport With Vehicle");
  82.             Used[playerid][i]++;
  83.             GivePlayerMoney(playerid, -TeleVar[i][Price]);
  84.             if(TeleVar[i][FullHealth]) SetPlayerHealth(playerid, 100.0);
  85.             if(TeleVar[i][FullArmour]) SetPlayerArmour(playerid, 100.0);
  86.             SendClientMessage(playerid, MessageC, TeleVar[i][Message]);
  87.             if(IsPlayerInAnyVehicle(playerid))
  88.             {
  89.                 SetVehiclePos(GetPlayerVehicleID(playerid), TeleVar[i][PosX], TeleVar[i][PosY], TeleVar[i][PosZ]);
  90.                 SetVehicleZAngle(GetPlayerVehicleID(playerid), TeleVar[i][PosA]);
  91.             }
  92.             else
  93.             {
  94.                 SetPlayerPos(playerid, TeleVar[i][PosX], TeleVar[i][PosY], TeleVar[i][PosZ]);
  95.                 SetPlayerFacingAngle(playerid, TeleVar[i][PosA]);
  96.             }
  97.             return 1;
  98.         }
  99.     }
  100.     if(!strcmp(cmdtext, "/Teles", true))
  101.     {
  102.         new str[1024];
  103.         format(str, sizeof(str), "");
  104.         for(new i = 0; i<sizeof(TeleVar); i++)
  105.         {
  106.             format(str, sizeof(str), "%s\n{FFFF00}%s {FFFFFF}(%s)", str, TeleVar[i][Teleport], TeleVar[i][DescriptionForDialog]);
  107.             ShowPlayerDialog(playerid, TDialog, DIALOG_STYLE_LIST, "{FF0000}Teleports Dialog", str, "Teleport", "Cancel");
  108.         }
  109.         return 1;
  110.     }          
  111.     return 0;
  112. }
  113.  
  114. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  115. {
  116.     if(dialogid == TDialog && response) return OnPlayerCommandText(playerid, TeleVar[listitem][Teleport]);
  117.     return 1;
  118. }
Advertisement
Add Comment
Please, Sign In to add comment