Advertisement
Xaviour212

Ulric Skin System

Apr 10th, 2011
1,071
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.57 KB | None | 0 0
  1. //============================Clothes / Skin Shop by============================
  2. //=====================Xaviour212 / Dimas Rizward H=============================
  3. //=================Dont Remove the Credits :D===================================
  4.  
  5. #include <a_samp>
  6. #include <dini>
  7. #include <sscanf>
  8.  
  9. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  10.  
  11. #define Blue 0x0259EAAA
  12. #define Red 0xFF0000AA
  13. #define Green 0x16EB43FF
  14.  
  15. new file[256];
  16.  
  17. public OnFilterScriptInit()
  18. {
  19.     print("\n--------------------------------------");
  20.     print(" Clothes / Skin Shop by Xaviour212");
  21.     print("--------------------------------------\n");
  22.     return 1;
  23. }
  24.  
  25. public OnPlayerCommandText(playerid, cmdtext[])
  26. {
  27.     dcmd(buyskin,7,cmdtext);
  28.     dcmd(useskins,8,cmdtext);
  29.     dcmd(sellskin,8,cmdtext);
  30.     dcmd(hskin,4,cmdtext);
  31.    
  32.     return 0;
  33. }
  34.  
  35. dcmd_buyskin(playerid, params[])
  36. {
  37.     new skin;
  38.     if(!IsPlayerInRangeOfPoint(playerid, 20.0, 161.5236, -83.3203, 1001.8047)) return SendClientMessage(playerid, Red, "[ERROR]You must in ZIP to buy the skin");
  39.     if(sscanf(params,"i",skin)) return SendClientMessage(playerid,Red,"[ERROR]USAGE: /buyskin [SkinID]");
  40.     if(!IsValidSkin(skin)) return SendClientMessage(playerid,Red,"[ERROR]Invalid skinID");
  41.     SetPlayerSkin(playerid,skin);
  42.     GivePlayerMoney(playerid, -500);
  43.     if(!dini_Exists(PFile(playerid)))
  44.     {
  45.         dini_Create(PFile(playerid));
  46.         dini_IntSet(PFile(playerid),"Skin",GetPlayerSkin(playerid));
  47.     }
  48.     else if(dini_Exists(PFile(playerid)))
  49.     {
  50.         dini_IntSet(PFile(playerid),"Skin",GetPlayerSkin(playerid));
  51.     }
  52.     SendClientMessage(playerid, Green, "You has buy a skin. Every you connect you can use command /useskin");
  53.     return 1;
  54. }
  55.  
  56. dcmd_useskins(playerid, params[])
  57. {
  58.     #pragma unused params
  59.     if(!dini_Exists(PFile(playerid))) return SendClientMessage(playerid, Red, "[ERROR]You dont have a skin");
  60.     SetPlayerSkin(playerid, dini_Int(PFile(playerid),"Skin"));
  61.     SendClientMessage(playerid, Green, "Skin has been changed");
  62.     return 1;
  63. }
  64.  
  65. dcmd_sellskin(playerid, params[])
  66. {
  67.     #pragma unused params
  68.     if(!dini_Exists(PFile(playerid))) return SendClientMessage(playerid, Red, "[ERROR]You dont have a skin");
  69.     dini_IntSet(PFile(playerid),"Skin",0);
  70.     dini_Remove(PFile(playerid));
  71.     SendClientMessage(playerid, Green, "You has sell your skin");
  72.     GivePlayerMoney(playerid, 300);
  73.     return 1;
  74. }
  75.  
  76. dcmd_hskin(playerid, params[])
  77. {
  78.     #pragma unused params
  79.     SendClientMessage(playerid, Blue, "Ulric Skin System by ~Xaviour212~");
  80.     SendClientMessage(playerid, Green, "Type /buyskin to buy a skin");
  81.     SendClientMessage(playerid, Green, "Type /useskins to use you skin from Clothes Shop");
  82.     SendClientMessage(playerid, Green, "Type /sellskin to sell you skin");
  83.     SendClientMessage(playerid, Blue, "~Don't remove the credits~");
  84.     return 1;
  85. }
  86.  
  87. stock Gn(playerid)
  88. {
  89.     new pname[24];
  90.     GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
  91.     return pname;
  92. }
  93.  
  94. stock PFile(playerid)
  95. {
  96.     format(file,64,"Clothes/%s.ini",Gn(playerid));
  97.     return file;
  98. }
  99.  
  100. stock IsValidSkin(SkinID)
  101. {
  102.     if((SkinID >= 0 && SkinID <= 2)||(SkinID == 7)||(SkinID >= 9 && SkinID <= 41)||(SkinID >= 43 && SkinID <= 64)||(SkinID >= 66 && SkinID <= 73)||(SkinID >= 75 && SkinID <= 85)||(SkinID >= 87 && SkinID <= 118)||(SkinID >= 120 && SkinID <= 148)||(SkinID >= 150 && SkinID <= 207)||(SkinID >= 209 && SkinID <= 264)||(SkinID >= 274 && SkinID <= 288)||(SkinID >= 290 && SkinID <= 299)) return true;
  103.     else return false;
  104. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement