Advertisement
CyclePWN

Sistema de CASH & VIP - Cycle

Sep 29th, 2017
386
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 8.37 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>                                                             //FILTERSCRIPT DEVELOPED BY CYCLE
  3. #include <sscanf>
  4. #include <dof2>
  5.  
  6. #define MAIN_CASH   1
  7. #define MY_CASH     2
  8. #define CMD_VIP     3
  9. #define FILTERSCRIPT
  10. #if defined FILTERSCRIPT
  11.  
  12. enum CyInfo
  13. {
  14.     CASH,
  15.     bool:VIP
  16. };
  17. new Player[MAX_PLAYERS][CyInfo];
  18. new bool:CarON[MAX_PLAYERS];
  19. new Car[MAX_PLAYERS];
  20. new Text3D:TextInCar[MAX_PLAYERS];
  21. new Float:X,Float:Y,Float:X1,Float:Y1,Float:Z,Float:A;
  22.  
  23. public OnPlayerConnect(playerid)
  24. {
  25.     new save[38];
  26.     format(save, sizeof(save), "Contas/%s.ini", nome(playerid));
  27.     if(!fexist(save))
  28.     {
  29.         DOF2_CreateFile(save);
  30.         DOF2_SetInt(save, "CASH", Player[playerid][CASH]);
  31.         DOF2_SetBool(save, "VIP", Player[playerid][VIP]);
  32.         DOF2_SaveFile();
  33.     }
  34.     else
  35.     {
  36.         Player[playerid][CASH] = DOF2_GetInt(save, "CASH");
  37.         Player[playerid][VIP] = DOF2_GetBool(save, "VIP");
  38.     }
  39.     if(Player[playerid][VIP] == true)
  40.     {
  41.         SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Você é um jogador VIP!");
  42.     }
  43.     if(Player[playerid][CASH] > 0)
  44.     {
  45.         new str[85];
  46.         format(str, sizeof(str), "{FFD700}[CASH] {FFFFFF}- Você possui %d cash's na sua conta!", Player[playerid][CASH]);
  47.     }
  48.     return 1;
  49. }
  50.  
  51. public OnPlayerDisconnect(playerid)
  52. {
  53.     new save[38];
  54.     format(save, sizeof(save), "Contas/%s.ini", nome(playerid));
  55.     if(!fexist(save))
  56.     {
  57.         DOF2_CreateFile(save);
  58.         DOF2_SetInt(save, "CASH", Player[playerid][CASH]);
  59.         DOF2_SetBool(save, "VIP", Player[playerid][VIP]);
  60.         DOF2_SaveFile();
  61.     }
  62.     else
  63.     {
  64.         DOF2_SetInt(save, "CASH", Player[playerid][CASH]);
  65.         DOF2_SetBool(save, "VIP", Player[playerid][VIP]);
  66.         DOF2_SaveFile();
  67.     }
  68.     if(CarON[playerid] == true)
  69.     {
  70.         DestroyVehicle(Car[playerid]);
  71.         SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Veículo destruído!");
  72.         CarON[playerid] = false;
  73.     }
  74.     return 1;
  75. }
  76.  
  77. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  78. {
  79.     if(dialogid == MAIN_CASH)
  80.     {
  81.         if(response)
  82.         {
  83.             switch(listitem)
  84.             {
  85.                 case 0:
  86.                 {
  87.                     new str[67];
  88.                     format(str, sizeof(str), "{FFFFFF}Sua quantidade de {FFD700}cash's\n\n {FFD700}%d - CASH'S", Player[playerid][CASH]);
  89.                     ShowPlayerDialog(playerid, MY_CASH, DIALOG_STYLE_MSGBOX,"Sua quantidade de cash's", str, "Voltar", "");
  90.                 }
  91.             }
  92.         }
  93.     }
  94.     else if(dialogid == MY_CASH)
  95.     {
  96.         if(response)
  97.         {
  98.             ShowPlayerDialog(playerid, MAIN_CASH, DIALOG_STYLE_LIST, "{FFD700}$$ CASH $$", "Meus Cash's", "Selecionar", "Fechar");
  99.         }
  100.     }
  101.     return 1;
  102. }
  103.  
  104. public OnPlayerSpawn()
  105. {
  106.     SetTimer("Receber", 36000, true);
  107.     return 1;
  108. }
  109.  
  110. // ======================================================= [COMANDOS] ================================================================ //
  111. // =========================================== [CASH]
  112. CMD:main(playerid)
  113. {
  114.     if(Player[playerid][CASH] == 0) return SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Você não possui nenhuma quantidade de cash para utilizar este comando!");
  115.     ShowPlayerDialog(playerid, MAIN_CASH, DIALOG_STYLE_LIST, "{FFD700}$$ CASH $$", "Meus Cash's", "Selecionar", "Fechar");
  116.     return 1;
  117. }
  118.  
  119. CMD:setcash(playerid, params[])
  120. {
  121.     new id, valor, str[88];
  122.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Você não possui permissão para fazer isso");
  123.     if(sscanf(params, "dd", id, valor)) return SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Utilize /setcash [id] [quantidade de cash]");
  124.     if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- O Jogador não está presente!");
  125.     if(valor < 0 || valor > 100000) return SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Quantidade de cash's - de 0 à 100.000");
  126.     format(str, sizeof(str), "{FFD700}[CASH] {FFFFFF}- O Administrador %s te deu %d cash's", nome(playerid), valor);
  127.     SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Cash's enviados com sucesso!");
  128.     Player[id][CASH] = valor;
  129.     return 1;
  130. }
  131. // =========================================== [VIP]
  132.  
  133. CMD:setvip(playerid, params[])
  134. {
  135.     new id, str[79], str1[5];
  136.     if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Você não possui permissão para fazer isso");
  137.     if(sscanf(params, "ds", id, str1)) return SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Utilize /setvip [id] [s/n] (s = sim/n = não)");
  138.     if(strcmp(str1, "s", true) == 0)
  139.     {
  140.         if(Player[id][VIP] == true) return SendClientMessage(playerid, -1,"{FFD700}[CASH] {FFFFFF}- Este Player já possui VIP!");
  141.         Player[id][VIP] = true;
  142.     }
  143.     if(strcmp(str1, "n", true) == 0)
  144.     {
  145.         if(Player[id][VIP] == false) return SendClientMessage(playerid, -1,"{FFD700}[CASH] {FFFFFF}- Este Player não possui VIP!");
  146.         Player[id][VIP] = false;
  147.     }
  148.     if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- O Jogador não está presente!");
  149.     format(str, sizeof(str), "{FFD700}[CASH] {FFFFFF}- O Administrador %s te deu vip", nome(playerid));
  150.     SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- VIP Setado com sucesso!");
  151.     SendClientMessage(id, -1, str);
  152.     SendClientMessage(id, -1, "{FFD700}[CASH] {FFFFFF}- Utilize '/cmdsvip' para visualizar os comandos de um player vip!");
  153.     return 1;
  154. }
  155.  
  156. CMD:cmdsvip(playerid)
  157. {
  158.     if(Player[playerid][VIP] != true) return SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Você não é um player VIP para utilizar este comando!");
  159.     ShowPlayerDialog(playerid, CMD_VIP, DIALOG_STYLE_MSGBOX, "Lista de Comandos VIPS", "\n{FFD700}'/car' {FFFFFF}- Spawna um Turismo na sua frente", "Fechar", "");
  160.     return 1;
  161. }
  162.  
  163. CMD:car(playerid)
  164. {
  165.     if(Player[playerid][VIP] != true) return SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Você não é um player VIP para utilizar este comando!");
  166.     new String[59];
  167.     InFrontOfPlayer(playerid, X, Y, 3);
  168.     GetPlayerPos(playerid, X1, Y1, Z);
  169.     GetPlayerFacingAngle(playerid, A);
  170.     DestroyVehicle(Car[playerid]);
  171.     Delete3DTextLabel(TextInCar[playerid]);
  172.     Car[playerid] = CreateVehicle(451, X, Y, Z, A+90, random(127), random(127), -1);
  173.     format(String, sizeof(String), "Turismo pertencente à \n{FF0000}%s", nome(playerid));
  174.     TextInCar[playerid] = Create3DTextLabel(String, -1, X, Y, Z+1, 30, 0, 1);
  175.     Attach3DTextLabelToVehicle(TextInCar[playerid], Car[playerid], 0, 0, 0);
  176.     SendClientMessage(playerid, -1,"{FFD700}[CASH] {FFFFFF}- Seu Turismo foi spawnado na sua frente!");
  177.     SendClientMessage(playerid, -1,"{FFD700}[CASH] {FFFFFF}- Para deletar basta digitar o comando de deletar veículos ('/dc')");
  178.     CarON[playerid] = true;
  179.     return 1;
  180. }
  181.  
  182. CMD:dc(playerid)
  183. {
  184.     if(Player[playerid][VIP] != true) return SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Você não é um player VIP para utilizar este comando!");
  185.     if(CarON[playerid] == true)
  186.     {
  187.         DestroyVehicle(Car[playerid]);
  188.         SendClientMessage(playerid, -1, "{FFD700}[CASH] {FFFFFF}- Veículo destruído!");
  189.         CarON[playerid] = false;
  190.     }
  191.     return 1;
  192. }
  193. // ======================================================= [COMANDOS] ================================================================ //
  194.  
  195. stock nome(playerid)
  196. {
  197.     new pNome[MAX_PLAYER_NAME];
  198.     GetPlayerName(playerid, pNome, sizeof(pNome));
  199.     return pNome;
  200. }
  201.  
  202. stock InFrontOfPlayer( playerid, &Float:x, &Float:y, Float:distance)
  203. {
  204.     new
  205.         Float:a
  206.     ;
  207.     GetPlayerPos( playerid, x, y, a);
  208.     GetPlayerFacingAngle( playerid, a);
  209.     if(GetPlayerVehicleID( playerid ))
  210.     {
  211.         GetVehicleZAngle(GetPlayerVehicleID( playerid ), a);
  212.     }
  213.     x += (distance * floatsin(-a, degrees));
  214.     y += (distance * floatcos(-a, degrees));
  215. }
  216.  
  217. forward Receber(playerid);
  218. public Receber(playerid)
  219. {
  220.     Player[playerid][CASH] += 5;
  221.     SendClientMessage(playerid, -1, "{FFD700}|| {FFFFFFF}------------------------------------------------- {FFD700}||");
  222.     SendClientMessage(playerid, -1, "{FFFFFF}|| {FFD700}Você, recebeu +5 cash por jogar durante uma hora! {FFFFFF}||");
  223.     SendClientMessage(playerid, -1, "{FFFFFF}|| {FFD700}Para saber o que é possivel comprar com os cash's {FFFFFF}||");
  224.     SendClientMessage(playerid, -1, "{FFD700}|| {FFFFFF}----------- {FFD700}Utilize o comando '/cash'{FFFFFF} ---------- {FFD700}||");
  225.     SendClientMessage(playerid, -1, "{FFD700}|| {FFFFFF}------------------------------------------------- {FFD700}||");
  226. }
  227. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement