Advertisement
ricop522

[PAWN] Sistema de Concessionaria

Sep 3rd, 2011
800
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 17.56 KB | None | 0 0
  1. /* Criado por Ricardo Brasil , obrigado em especial para Bruno por análisar o código e checar se está funcional ou não
  2.  
  3.  
  4.  
  5.  Não foi completamente testado; o Bruno falou que está funcional então eu resolvi postar.
  6.  
  7.  
  8.  dv: Ricop522
  9.  
  10. E: Troque o PlayerInfo[playerid][pLogado] pela variavel de logado do seu gamemode.
  11. */
  12.  
  13.  
  14. enum vehicle_Info {
  15.     vOwner[MAX_PLAYER_NAME],
  16.     Float:vPos[4],
  17.     vCor[2],
  18.     vModelo,
  19.     vInterior,
  20.     vVirWorld,
  21.     vComponente[14],
  22.     vID,
  23.  
  24.     vOwner2[MAX_PLAYER_NAME],
  25.     Float:vPos2[4],
  26.     vCor2[2],
  27.     vModelo2,
  28.     vInterior2,
  29.     vVirWorld2,
  30.     vComponente2[14],
  31.     vID2,
  32.  
  33.     vOwner3[MAX_PLAYER_NAME],
  34.     Float:vPos3[4],
  35.     vCor3[2],
  36.     vModelo3,
  37.     vInterior3,
  38.     vVirWorld3,
  39.     vComponente3[14],
  40.     vID3,
  41. }
  42. new vehicleInfo[MAX_PLAYERS][vehicle_Info];
  43.  
  44. forward salvarVeiculo(playerid);
  45. public salvarVeiculo(playerid) {
  46.     if ( IsPlayerConnected(playerid) && PlayerInfo[playerid][pLogado] > 0 ) {
  47.  
  48.         new vstring[50];
  49.         format(vstring, sizeof(vstring), "RICO/Carros/%s.ricop522", getNome(playerid) )
  50.         if ( !dini_Exists(vstring) ) {
  51.             dini_Create(vstring)
  52.         }
  53.         // Chave 1
  54.         dini_Set(vstring, "nome_1", getNome(playerid))
  55.         dini_FloatSet(vstring, "posx_1", vehicleInfo[playerid][vPos][0]);
  56.         dini_FloatSet(vstring, "posy_1", vehicleInfo[playerid][vPos][1]);
  57.         dini_FloatSet(vstring, "posz_1", vehicleInfo[playerid][vPos][2]);
  58.         dini_FloatSet(vstring, "angulo_1", vehicleInfo[playerid][vPos][3]);
  59.         dini_IntSet(vstring, "cor_1", vehicleInfo[playerid][vCor][0]);
  60.         dini_IntSet(vstring, "cor_1.1", vehicleInfo[playerid][vCor][1]);
  61.         dini_IntSet(vstring, "modelo_1", vehicleInfo[playerid][vModelo]);
  62.         dini_IntSet(vstring, "interior_1", vehicleInfo[playerid][vInterior]);
  63.         dini_IntSet(vstring, "vw_1", vehicleInfo[playerid][vVirWorld]);
  64.         new i = 0;
  65.         for ( ; i <= 13; ++i ) {
  66.             static lstr[15];
  67.             format(lstr, "tuning_%i", i);
  68.             dini_IntSet(vstring, lstr, vehicleInfo[playerid][vComponente][i]);
  69.         }
  70.         dini_IntSet(vstring, "id_1", vehicleInfo[playerid][vID]);
  71.         // Chave 2
  72.         dini_Set(vstring, "nome_2", getNome(playerid))
  73.         dini_FloatSet(vstring, "posx_2", vehicleInfo[playerid][vPos2][0]);
  74.         dini_FloatSet(vstring, "posy_2", vehicleInfo[playerid][vPos2][1]);
  75.         dini_FloatSet(vstring, "posz_2", vehicleInfo[playerid][vPos2][2]);
  76.         dini_FloatSet(vstring, "angulo_2", vehicleInfo[playerid][vPos2][3]);
  77.         dini_IntSet(vstring, "cor_2", vehicleInfo[playerid][vCor2][0]);
  78.         dini_IntSet(vstring, "cor_2.2", vehicleInfo[playerid][vCor2][1]);
  79.         dini_IntSet(vstring, "modelo_2", vehicleInfo[playerid][vModelo2]);
  80.         dini_IntSet(vstring, "interior_2", vehicleInfo[playerid][vInterior2]);
  81.         dini_IntSet(vstring, "vw_2", vehicleInfo[playerid][vVirWorld2]);
  82.         new i = 0;
  83.         for ( ; i <= 13; ++i ) {
  84.             static lstr[15];
  85.             format(lstr, "tuning2_%i", i);
  86.             dini_IntSet(vstring, lstr, vehicleInfo[playerid][vComponente2][i]);
  87.         }
  88.         dini_IntSet(vstring, "id_2", vehicleInfo[playerid][vID2]);
  89.         //Chave 3
  90.         dini_Set(vstring, "nome_3", getNome(playerid))
  91.         dini_FloatSet(vstring, "posx_3", vehicleInfo[playerid][vPos3][0]);
  92.         dini_FloatSet(vstring, "posy_3", vehicleInfo[playerid][vPos3][1]);
  93.         dini_FloatSet(vstring, "posz_3", vehicleInfo[playerid][vPos3][2]);
  94.         dini_FloatSet(vstring, "angulo_3", vehicleInfo[playerid][vPos3][3]);
  95.         dini_IntSet(vstring, "cor_3", vehicleInfo[playerid][vCor3][0]);
  96.         dini_IntSet(vstring, "cor_3.3", vehicleInfo[playerid][vCor3][1]);
  97.         dini_IntSet(vstring, "modelo_3", vehicleInfo[playerid][vModelo3]);
  98.         dini_IntSet(vstring, "interior_3", vehicleInfo[playerid][vInterior3]);
  99.         dini_IntSet(vstring, "vw_3", vehicleInfo[playerid][vVirWorld3]);
  100.         new i = 0;
  101.         for ( ; i <= 13; ++i ) {
  102.             static lstr[15];
  103.             format(lstr, "tuning3_%i", i);
  104.             dini_IntSet(vstring, lstr, vehicleInfo[playerid][vComponente][i]);
  105.         }
  106.         dini_IntSet(vstring, "id_3", vehicleInfo[playerid][vID]);
  107.         printf("%s vehicle saved.", getNome(playerid));
  108.     }
  109.     return 1;
  110. }
  111. forward carregarVeiculo(playerid);
  112. public carregarVeiculo(playerid) {
  113.     if ( IsPlayerConnected(playerid) && PlayerInfo[playerid][pLogado] > 0 ) {
  114.  
  115.         new vstring[50], vowned;
  116.         format(vstring, sizeof(vstring), "RICO/Carros/%s.ricop522", getNome(playerid) )
  117.         if ( dini_Exists(vstring) ) {
  118.             if ( vehicleInfo[playerid][vModelo] > 400 && vehicleInfo[playerid][vModelo] < 611) {
  119.                 vehicleInfo[playerid][vOwner]  = dini_Get(vstring, "nome_1")
  120.                 vehicleInfo[playerid][vPos][0]  = dini_Float(vstring, "posx_1");
  121.                 vehicleInfo[playerid][vPos][1]  = dini_Float(vstring, "posy_1");
  122.                 vehicleInfo[playerid][vPos][2]  = dini_Float(vstring, "posz_1");
  123.                 vehicleInfo[playerid][vPos][3]  = dini_Float(vstring, "angulo_1");
  124.                 vehicleInfo[playerid][vCor][0]  = dini_Int(vstring, "cor_1");
  125.                 vehicleInfo[playerid][vCor][1]  = dini_Int(vstring, "cor_1.1");
  126.                 vehicleInfo[playerid][vModelo]  = dini_Int(vstring, "modelo_1");
  127.                 vehicleInfo[playerid][vInterior]  = dini_Int(vstring, "interior_1");
  128.                 vehicleInfo[playerid][vVirWorld]  = dini_Int(vstring, "vw_1");
  129.                 new i = 0;
  130.                 for ( ; i <= 13; ++i ) {
  131.                     new lstr[15];
  132.                     format(lstr, "tuning_%i", i);
  133.                     vehicleInfo[playerid][vComponente][i] = dini_Int(vstring, lstr);
  134.                 }
  135.                 vehicleInfo[playerid][vID] = AddStaticVehicleEx(vehicleInfo[playerid][vPos][0], vehicleInfo[playerid][vPos][1], vehicleInfo[playerid][vPos][2], vehicleInfo[playerid][vPos][3], vehicleInfo[playerid][vCor][0], vehicleInfo[playerid][vCor][1], 60000);
  136.                 SetVehicleVirtualWorld(vehicleInfo[playerid][vID], vehicleInfo[playerid][vVirWorld]);
  137.                 setComponentes(vehicleInfo[playerid][vID], 1)
  138.             }
  139.  
  140.  
  141.             //chave 2
  142.             if ( vehicleInfo[playerid][vModelo2] > 400 && vehicleInfo[playerid][vModelo2] < 611) {
  143.                 vehicleInfo[playerid][vOwner2]  = dini_Get(vstring, "nome_2")
  144.                 vehicleInfo[playerid][vPos2][0]  = dini_Float(vstring, "posx_2");
  145.                 vehicleInfo[playerid][vPos2][1]  = dini_Float(vstring, "posy_2");
  146.                 vehicleInfo[playerid][vPos2][2]  = dini_Float(vstring, "posz_2");
  147.                 vehicleInfo[playerid][vPos2][3]  = dini_Float(vstring, "angulo_2");
  148.                 vehicleInfo[playerid][vCor2][0]  = dini_Int(vstring, "cor_2");
  149.                 vehicleInfo[playerid][vCor2][1]  = dini_Int(vstring, "cor_2.2");
  150.                 vehicleInfo[playerid][vModelo2]  = dini_Int(vstring, "modelo_2");
  151.                 vehicleInfo[playerid][vInterior2]  = dini_Int(vstring, "interior_2");
  152.                 vehicleInfo[playerid][vVirWorld2]  = dini_Int(vstring, "vw_2");
  153.                 new i = 0;
  154.                 for ( ; i <= 13; ++i ) {
  155.                     new lstr[15];
  156.                     format(lstr, "tuning2_%i", i);
  157.                     vehicleInfo[playerid][vComponente2][i] = dini_Int(vstring, lstr);
  158.                 }
  159.                 vehicleInfo[playerid][vID2] = AddStaticVehicleEx(vehicleInfo[playerid][vPos2][0], vehicleInfo[playerid][vPos2][1], vehicleInfo[playerid][vPos2][2], vehicleInfo[playerid][vPos2][3], vehicleInfo[playerid][vCor2][0], vehicleInfo[playerid][vCor2][1], 60000);
  160.                 SetVehicleVirtualWorld(vehicleInfo[playerid][vID2], vehicleInfo[playerid][vVirWorld2]);
  161.                 setComponentes(vehicleInfo[playerid][vID2], 2)
  162.             }
  163.                 //chave 3
  164.             if ( vehicleInfo[playerid][vModelo3] > 400 && vehicleInfo[playerid][vModelo3] < 611) {
  165.                 vehicleInfo[playerid][vOwner3]  = dini_Get(vstring, "nome_3")
  166.                 vehicleInfo[playerid][vPos3][0]  = dini_Float(vstring, "posx_3");
  167.                 vehicleInfo[playerid][vPos3][1]  = dini_Float(vstring, "posy_3");
  168.                 vehicleInfo[playerid][vPos3][2]  = dini_Float(vstring, "posz_3");
  169.                 vehicleInfo[playerid][vPos3][3]  = dini_Float(vstring, "angulo_3");
  170.                 vehicleInfo[playerid][vCor3][0]  = dini_Int(vstring, "cor_3");
  171.                 vehicleInfo[playerid][vCor3][1]  = dini_Int(vstring, "cor_3.3");
  172.                 vehicleInfo[playerid][vModelo3]  = dini_Int(vstring, "modelo_3");
  173.                 vehicleInfo[playerid][vInterior3]  = dini_Int(vstring, "interior_3");
  174.                 vehicleInfo[playerid][vVirWorld3]  = dini_Int(vstring, "vw_3");
  175.                 new i = 0;
  176.                 for ( ; i <= 13; ++i ) {
  177.                     new lstr[15];
  178.                     format(lstr, "tuning3_%i", i);
  179.                     vehicleInfo[playerid][vComponente3][i] = dini_Int(vstring, lstr);
  180.                 }
  181.                 vehicleInfo[playerid][vID] = AddStaticVehicleEx(vehicleInfo[playerid][vPos3][0], vehicleInfo[playerid][vPos3][1], vehicleInfo[playerid][vPos3][2], vehicleInfo[playerid][vPos3][3], vehicleInfo[playerid][vCor3][0], vehicleInfo[playerid][vCor3][1], 60000);
  182.                 SetVehicleVirtualWorld(vehicleInfo[playerid][vID3], vehicleInfo[playerid][vVirWorld3]);
  183.                 setComponentes(vehicleInfo[playerid][vID3], 3)
  184.             }
  185.             printf("%s vehicle loaded.", getNome(playerid));
  186.         }
  187.         return 1;
  188.     }
  189.     return 1;
  190. }
  191. checarDono(carroid, playerid) {
  192.     return  ( carroid == vehicleInfo[playerid][vID] ) ;
  193. }
  194.  
  195.  
  196. stock setComponentes(carid, id) {
  197.     if ( id == 1 ) {
  198.        if(vehicleInfo[carid][cComponente][0] >= 0) {
  199.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][0])
  200.        }
  201.        if(vehicleInfo[carid][cComponente][1] >= 0) {
  202.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][1])
  203.        }
  204.        if(vehicleInfo[carid][cComponente][2] >= 0) {
  205.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][2])
  206.        }
  207.        if(vehicleInfo[carid][cComponente][3] >= 0) {
  208.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][3])
  209.        }
  210.        if(vehicleInfo[carid][cComponente][4] >= 0) {
  211.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][4])
  212.        }
  213.        if(vehicleInfo[carid][cComponente][5] >= 0) {
  214.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][5])
  215.        }
  216.        if(vehicleInfo[carid][cComponente][6] >= 0) {
  217.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][6])
  218.        }
  219.        if(vehicleInfo[carid][cComponente][7] >= 0) {
  220.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][7])
  221.        }
  222.        if(vehicleInfo[carid][cComponente][8] >= 0) {
  223.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][8])
  224.        }
  225.        if(vehicleInfo[carid][cComponente][9] >= 0) {
  226.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][9])
  227.        }
  228.        if(vehicleInfo[carid][cComponente][10] >= 0) {
  229.             AddVehicleComponent(carid, vehicleInfo[carid][cComponente][10])
  230.        }
  231.        if(vehicleInfo[carid][cComponente][11] >= 0) {
  232.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][11])
  233.        }
  234.        if(vehicleInfo[carid][cComponente][12] >= 0) {
  235.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][12])
  236.        }
  237.        if(vehicleInfo[carid][cComponente][13] >= 0) {
  238.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente][13])
  239.        }
  240.     }
  241.     if ( id == 2 ) {
  242.        if(vehicleInfo[carid][cComponente][0] >= 0) {
  243.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][0])
  244.        }
  245.        if(vehicleInfo[carid][cComponente2][1] >= 0) {
  246.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][1])
  247.        }
  248.        if(vehicleInfo[carid][cComponente2][2] >= 0) {
  249.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][2])
  250.        }
  251.        if(vehicleInfo[carid][cComponente2][3] >= 0) {
  252.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][3])
  253.        }
  254.        if(vehicleInfo[carid][cComponente2][4] >= 0) {
  255.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][4])
  256.        }
  257.        if(vehicleInfo[carid][cComponente2][5] >= 0) {
  258.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][5])
  259.        }
  260.        if(vehicleInfo[carid][cComponente2][6] >= 0) {
  261.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][6])
  262.        }
  263.        if(vehicleInfo[carid][cComponente2][7] >= 0) {
  264.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][7])
  265.        }
  266.        if(vehicleInfo[carid][cComponente2][8] >= 0) {
  267.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][8])
  268.        }
  269.        if(vehicleInfo[carid][cComponente2][9] >= 0) {
  270.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][9])
  271.        }
  272.        if(vehicleInfo[carid][cComponente2][10] >= 0) {
  273.             AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][10])
  274.        }
  275.        if(vehicleInfo[carid][cComponente2][11] >= 0) {
  276.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][11])
  277.        }
  278.        if(vehicleInfo[carid][cComponente2][12] >= 0) {
  279.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][12])
  280.        }
  281.        if(vehicleInfo[carid][cComponente2][13] >= 0) {
  282.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente2][13])
  283.        }
  284.     }
  285.     if ( id == 3 ) {
  286.        if(vehicleInfo[carid][cComponente3][0] >= 0) {
  287.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][0])
  288.        }
  289.        if(vehicleInfo[carid][cComponente3][1] >= 0) {
  290.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][1])
  291.        }
  292.        if(vehicleInfo[carid][cComponente3][2] >= 0) {
  293.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][2])
  294.        }
  295.        if(vehicleInfo[carid][cComponente3][3] >= 0) {
  296.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][3])
  297.        }
  298.        if(vehicleInfo[carid][cComponente3][4] >= 0) {
  299.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][4])
  300.        }
  301.        if(vehicleInfo[carid][cComponente3][5] >= 0) {
  302.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][5])
  303.        }
  304.        if(vehicleInfo[carid][cComponente3][6] >= 0) {
  305.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][6])
  306.        }
  307.        if(vehicleInfo[carid][cComponente3][7] >= 0) {
  308.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][7])
  309.        }
  310.        if(vehicleInfo[carid][cComponente3][8] >= 0) {
  311.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][8])
  312.        }
  313.        if(vehicleInfo[carid][cComponente3][9] >= 0) {
  314.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][9])
  315.        }
  316.        if(vehicleInfo[carid][cComponente3][10] >= 0) {
  317.             AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][10])
  318.        }
  319.        if(vehicleInfo[carid][cComponente3][11] >= 0) {
  320.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][11])
  321.        }
  322.        if(vehicleInfo[carid][cComponente3][12] >= 0) {
  323.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][12])
  324.        }
  325.        if(vehicleInfo[carid][cComponente3][13] >= 0) {
  326.            AddVehicleComponent(carid, vehicleInfo[carid][cComponente3][13])
  327.        }
  328.     }
  329. }
  330.  
  331.  
  332. stock deletarLogoutVehicle(playerid) {
  333.     if ( IsPlayerConnected(playerid ) {
  334.         if ( vehicleInfo[playerid][vModelo] > 400 && vehicleInfo[playerid][vModelo] < 611 && vehicleInfo[playerid][vID] > 0) {
  335.             DestroyVehicle(playerid, vehicleInfo[playerid][vID]);
  336.             vehicleInfo[playerid][vID] = 0;
  337.             salvarVeiculos(playerid);
  338.         }
  339.         if ( vehicleInfo[playerid][vModelo2] > 400 && vehicleInfo[playerid][vModelo2] < 611  && vehicleInfo[playerid][vID] > 0) {
  340.             DestroyVehicle(playerid, vehicleInfo[playerid][vID2]);
  341.             vehicleInfo[playerid][vID2] = 0;
  342.             salvarVeiculos(playerid);
  343.         }
  344.         if ( vehicleInfo[playerid][vModelo3] > 400 && vehicleInfo[playerid][vModelo3] < 611  && vehicleInfo[playerid][vID] > 0) {
  345.             DestroyVehicle(playerid, vehicleInfo[playerid][vID3]);
  346.             vehicleInfo[playerid][vID3] = 0;
  347.             salvarVeiculos(playerid);
  348.         }
  349.         return 1;
  350.     }
  351.     return 1;
  352. }
  353.  
  354. stock comprarVeiculo ( playerid, modeloid, cor1, cor2) {
  355.     if ( vehicleInfo[playerid][vModelo] < 400 && vehicleInfo[playerid][vModelo] > 611 ) {
  356.         if ( vehicleInfo[playerid][vModelo] ) {
  357.             vehicleInfo[playerid][vModelo] = modeloid;
  358.             vehicleInfo[playerid][vCor][0] = cor1;
  359.             vehicleInfo[playerid][vCor][1] = cor2;
  360.             salvarVeiculos(playerid);
  361.             SendClientMessage(playerid, -1, " Relogue e o seu veículo irá nascer ! ");
  362.             return 1;
  363.         }
  364.         if ( vehicleInfo[playerid][vModelo2] ) {
  365.             vehicleInfo[playerid][vModelo2] = modeloid;
  366.             vehicleInfo[playerid][vCor2][0] = cor1;
  367.             vehicleInfo[playerid][vCor2][1] = cor2;
  368.             salvarVeiculos(playerid);
  369.             SendClientMessage(playerid, -1, " Relogue e o seu veículo irá nascer ! ");
  370.             return 1;
  371.         }
  372.         if ( vehicleInfo[playerid][vModelo3] ) {
  373.             vehicleInfo[playerid][vModelo3] = modeloid;
  374.             vehicleInfo[playerid][vCor3][0] = cor1;
  375.             vehicleInfo[playerid][vCor3][1] = cor2;
  376.             salvarVeiculos(playerid);
  377.             SendClientMessage(playerid, -1, " Relogue e o seu veículo irá nascer ! ");
  378.             return 1;
  379.         }
  380.         return 1;
  381.     }
  382.     return 1;
  383. }
  384. stock getNome(playerid) {
  385.     new nome[24];
  386.     GetPlayerName(playerid, nome, 24);
  387.     return nome;
  388. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement