Advertisement
Guest User

AttachVehicle Editor v1.0

a guest
Jan 28th, 2013
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 12.68 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <Dini>
  4.  
  5.  
  6.  
  7. //====================| Variaveis Globais |==================//
  8. new CriandoProjeto[MAX_PLAYERS];
  9. new TestandoProjeto[MAX_PLAYERS];
  10. new MudandoPos[MAX_PLAYERS];
  11. new STR[128];
  12. new Float:X, Float:Y, Float:Z;
  13. new Objeto;
  14. new Veiculo;
  15. new Keys, CimaBaixo, EsquerdaDireita;
  16. new File:Projeto;
  17. new Float:ObjetoPosX = 0.0000000;
  18. new Float:ObjetoPosY = 0.0000000;
  19. new Float:ObjetoPosZ = 0.0000000;
  20. new Float:ObjetoRotX = 0.0000000;
  21. new Float:ObjetoRotY = 0.0000000;
  22. new Float:ObjetoRotZ = 180.0000000;
  23. //===========================================================//
  24. public OnFilterScriptInit()
  25. {
  26.     print("\n--------------------------------------");
  27.     print("Filterscript de Objetos em Veiculos");
  28.     print("Desenvolvida por: Knife;");
  29.     print("--------------------------------------\n");
  30.     Objeto = CreateObject(770, 0.0, 0.0, 0.0, 0.0, 0.0, 180.0);
  31.     Veiculo = AddStaticVehicle(560, 0.0, 0.0, 0.0, 180.0, 158, 158);
  32.     return 1;
  33. }
  34.  
  35. public OnFilterScriptExit()
  36. {
  37.     fclose(Projeto);
  38.     print("Shutdown em 2 segundos");
  39.     sleep(2000);
  40. }
  41. public OnPlayerConnect(playerid)
  42. {
  43.     SendClientMessage(playerid, 0xFFFF00AA, "=~=~=~| AttachVehicle Editor v1.0 PT-BR  |~=~=~=");
  44.     SendClientMessage(playerid, 0xFFFF00AA, "=~=~=~=~| Desenvolvido por Knife; |~=~=~=~=");
  45.     return 1;
  46. }
  47.  
  48. public OnPlayerUpdate(playerid)
  49. {
  50.     if(MudandoPos[playerid] == 1)
  51.     {
  52.         TogglePlayerControllable(playerid, 0);
  53.         GetPlayerKeys(playerid, Keys, CimaBaixo, EsquerdaDireita);
  54.         if(CimaBaixo < 0)
  55.         {
  56.             ObjetoPosZ += 0.1000000;
  57.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  58.             format(STR, sizeof(STR), "~p~Z: ~w~%f", ObjetoPosZ);
  59.             GameTextForPlayer(playerid, STR, 5000, 3);
  60.         }
  61.         else if(CimaBaixo > 0)
  62.         {
  63.             ObjetoPosZ -= 0.1000000;
  64.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  65.             format(STR, sizeof(STR), "~p~Z: ~w~%f", ObjetoPosZ);
  66.             GameTextForPlayer(playerid, STR, 5000, 3);
  67.         }
  68.         if(EsquerdaDireita > 0)
  69.         {
  70.             ObjetoPosX += 0.1000000;
  71.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  72.             format(STR, sizeof(STR), "~p~X: ~w~%f", ObjetoPosX);
  73.             GameTextForPlayer(playerid, STR, 5000, 3);
  74.         }
  75.         else if(EsquerdaDireita < 0)
  76.         {
  77.             ObjetoPosX -= 0.1000000;
  78.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  79.             format(STR, sizeof(STR), "~p~X: ~w~%f", ObjetoPosX);
  80.             GameTextForPlayer(playerid, STR, 5000, 3);
  81.         }
  82.     }
  83.     return 1;
  84. }
  85.  
  86. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  87. {
  88.     if((newkeys == 16))
  89.     {
  90.         if(MudandoPos[playerid] == 1)
  91.         {
  92.             TogglePlayerControllable(playerid, 1);
  93.             MudandoPos[playerid] = 0;
  94.             SendClientMessage(playerid, 0xFFFF00AA, "Você encerrou a mudança de Coordenadas");
  95.         }
  96.     }
  97.     if((newkeys == 1024))
  98.     {
  99.         if(MudandoPos[playerid] == 1)
  100.         {
  101.             ObjetoPosY -= 0.1000000;
  102.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  103.             format(STR, sizeof(STR), "~p~Y: ~w~%f", ObjetoPosY);
  104.             GameTextForPlayer(playerid, STR, 5000, 3);
  105.         }
  106.     }
  107.     if((newkeys == 4))
  108.     {
  109.         if(MudandoPos[playerid] == 1)
  110.         {
  111.             ObjetoPosY += 0.1000000;
  112.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  113.             format(STR, sizeof(STR), "~p~Y: ~w~%f", ObjetoPosY);
  114.             GameTextForPlayer(playerid, STR, 5000, 3);
  115.         }
  116.     }
  117.     if((newkeys == 65536))
  118.     {
  119.         if(MudandoPos[playerid] == 1)
  120.         {
  121.             ObjetoRotZ += 1.0000000;
  122.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  123.             format(STR, sizeof(STR), "~p~RotZ: ~w~%f", ObjetoRotZ);
  124.             GameTextForPlayer(playerid, STR, 5000, 3);
  125.         }
  126.     }
  127.     if((newkeys == 131072))
  128.     {
  129.         if(MudandoPos[playerid] == 1)
  130.         {
  131.             ObjetoRotZ -= 1.0000000;
  132.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  133.             format(STR, sizeof(STR), "~p~RotZ: ~w~%f", ObjetoRotZ);
  134.             GameTextForPlayer(playerid, STR, 5000, 3);
  135.         }
  136.     }
  137.     if((newkeys == 2))
  138.     {
  139.         if(MudandoPos[playerid] == 1)
  140.         {
  141.             ObjetoRotY += 1.0000000;
  142.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  143.             format(STR, sizeof(STR), "~p~RotY: ~w~%f", ObjetoRotY);
  144.             GameTextForPlayer(playerid, STR, 5000, 3);
  145.         }
  146.     }
  147.     if((newkeys == 32))
  148.     {
  149.         if(MudandoPos[playerid] == 1)
  150.         {
  151.             ObjetoRotY -= 1.0000000;
  152.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  153.             format(STR, sizeof(STR), "~p~RotY: ~w~%f", ObjetoRotY);
  154.             GameTextForPlayer(playerid, STR, 5000, 3);
  155.         }
  156.     }
  157.     if((newkeys == 8192))
  158.     {
  159.         if(MudandoPos[playerid] == 1)
  160.         {
  161.             ObjetoRotX += 1.0000000;
  162.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  163.             format(STR, sizeof(STR), "~p~RotX: ~w~%f", ObjetoRotX);
  164.             GameTextForPlayer(playerid, STR, 5000, 3);
  165.         }
  166.     }
  167.     if((newkeys == 16384))
  168.     {
  169.         if(MudandoPos[playerid] == 1)
  170.         {
  171.             ObjetoRotX -= 1.0000000;
  172.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  173.             format(STR, sizeof(STR), "~p~RotX: ~w~%f", ObjetoRotX);
  174.             GameTextForPlayer(playerid, STR, 5000, 3);
  175.         }
  176.     }
  177.     return 1;
  178. }
  179.  
  180. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  181. {
  182.     if(dialogid == 1)
  183.     {
  184.         if(response)
  185.         {
  186.             if(listitem == 0)
  187.             {
  188.                 CriandoProjeto[playerid] = 1;
  189.                 if(CriandoProjeto[playerid] == 1)
  190.                 {
  191.                     if(TestandoProjeto[playerid] == 1)
  192.                     {
  193.                         ShowPlayerDialog(playerid, 7, DIALOG_STYLE_LIST, "{FFFFFF}Opções do Projeto", "{00FF00}Mudar Nome\n{FFFFFF}Mudar Objeto\n{00FF00}Mudar Posição\n{FFFFFF}Mudar Veiculo\n{00FF00}Finalizar Projeto\n{FFFFFF}Sair", "Selecionar", "");
  194.                         return 0;
  195.                     }
  196.                     ShowPlayerDialog(playerid, 2, DIALOG_STYLE_LIST, "{FFFFFF}Opções do Projeto", "{00FF00}Mudar Nome\n{FFFFFF}Mudar Objeto\n{00FF00}Mudar Posição\n{FFFFFF}Mudar Veiculo\n{00FF00}Iniciar Teste\n{FFFFFF}Sair", "Selecionar", "");
  197.                 }
  198.             }
  199.             if(listitem == 1)
  200.             {
  201.                 SendClientMessage(playerid, 0x00FF00AA, "Creditos à: {FFFFFF}Knife;{00FF00}.");
  202.             }
  203.         }
  204.     }
  205.     if(dialogid == 2)
  206.     {
  207.         if(response)
  208.         {
  209.             if(listitem == 0)
  210.             {
  211.                 ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "{FFFFFF}Opções do Projeto", "{FFFFFF}Digite um nome válido para mudar o nome do projeto!", "Selecionar", "Sair");
  212.             }
  213.             if(listitem == 1)
  214.             {
  215.                 ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "{FFFFFF}Opções do Projeto", "{FFFFFF}Digite um ID de Objeto válido para efetuar a mudança!", "Selecionar", "Sair");
  216.             }
  217.             if(listitem == 2)
  218.             {
  219.                 if(TestandoProjeto[playerid] == 0)
  220.                 {
  221.                     SendClientMessage(playerid, 0xFFFFFFAA, "{FF6347}Você precisa apertar em 'Iniciar Teste' para fazer isso!");
  222.                     return 1;
  223.                 }
  224.                 MudandoPos[playerid] = 1;
  225.                 TogglePlayerControllable(playerid, 0);
  226.                 SendClientMessage(playerid, 0xFFFF00AA, "Você iniciou a Mudança de Posições");
  227.             }
  228.             if(listitem == 3)
  229.             {
  230.                 ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT, "{FFFFFF}Opções do Projeto", "{FFFFFF}Digite um ID de Veiculo válido para efetuar a mudança!", "Selecionar", "Sair");
  231.             }
  232.             if(listitem == 4)
  233.             {
  234.                 ShowPlayerDialog(playerid, 6, DIALOG_STYLE_MSGBOX, "{FFFFFF}Opções do Projeto", "{FFFFFF}Você deseja testar agora os Objetos e o Veiculo ?\nOBS: Irão aparecer em sua posição", "Sim", "Não");
  235.             }
  236.         }
  237.     }
  238.     if(dialogid == 3)
  239.     {
  240.         if(response == 1)
  241.         {
  242.             dini_Create("Projeto.ini");
  243.             Projeto = fopen("Projeto.ini", io_write);
  244.             format(STR, sizeof(STR), "Nome do Projeto: %s\r\n", inputtext);
  245.             fwrite(Projeto, STR);
  246.             format(STR, sizeof(STR), "{00FF00}Novo nome do Projeto: {FFFFFF}%s", inputtext);
  247.             SendClientMessage(playerid, 0xFFFFFFAA, STR);
  248.         }
  249.         if(response == 0)
  250.         {
  251.             SendClientMessage(playerid, 0xFFFFFFAA, "{FF6347}Você cancelou o menu de opções");
  252.         }
  253.     }
  254.     if(dialogid == 4)
  255.     {
  256.         if(response == 1)
  257.         {
  258.             if(!strval(inputtext))
  259.             {
  260.                 SendClientMessage(playerid, 0xFFFFFFAA, "{FF6347}Você precisa inserir número!");
  261.                 return 1;
  262.             }
  263.             GetPlayerPos(playerid, X, Y, Z);
  264.             DestroyObject(Objeto);
  265.             Objeto = CreateObject(strval(inputtext), X, Y, Z+2.0000, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  266.             SetPlayerPos(playerid, X, Y, Z+2);
  267.             format(STR, sizeof(STR), "{00FF00}Você mudou o ID do Objeto para: {FFFFFF}%s", inputtext);
  268.             SendClientMessage(playerid, 0xFFFFFFAA, STR);
  269.         }
  270.         if(response == 0)
  271.         {
  272.             SendClientMessage(playerid, 0xFFFFFFAA, "{FF6347}Você cancelou o menu de opções");
  273.         }
  274.     }
  275.     if(dialogid == 5)
  276.     {
  277.         if(response == 1)
  278.         {
  279.             if(!strval(inputtext))
  280.             {
  281.                 SendClientMessage(playerid, 0xFFFFFFAA, "{FF6347}Você precisa inserir número!");
  282.                 return 1;
  283.             }
  284.             GetPlayerPos(playerid, X, Y, Z);
  285.             DestroyVehicle(Veiculo);
  286.             Veiculo = AddStaticVehicle(strval(inputtext), X, Y, Z, ObjetoRotZ, 158, 158);
  287.             SetPlayerPos(playerid, X, Y, Z+2);
  288.             format(STR, sizeof(STR), "{00FF00}Você mudou o ID do Veiculo para: {FFFFFF}%s", inputtext);
  289.             SendClientMessage(playerid, 0xFFFFFFAA, STR);
  290.         }
  291.         if(response == 0)
  292.         {
  293.             SendClientMessage(playerid, 0xFFFFFFAA, "{FF6347}Você cancelou o menu de opções");
  294.         }
  295.     }
  296.     if(dialogid == 6)
  297.     {
  298.         if(response == 1)
  299.         {
  300.             TestandoProjeto[playerid] = 1;
  301.             AttachObjectToVehicle(Objeto, Veiculo, ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  302.             SendClientMessage(playerid, 0xFFFFFFAA, "{00FF00}Você iniciou os testes.");
  303.         }
  304.         if(response == 0)
  305.         {
  306.         }
  307.     }
  308.     if(dialogid == 7)
  309.     {
  310.         if(response)
  311.         {
  312.             if(listitem == 0)
  313.             {
  314.                 ShowPlayerDialog(playerid, 3, DIALOG_STYLE_INPUT, "{FFFFFF}Opções do Projeto", "{FFFFFF}Digite um nome válido para mudar o nome do projeto!", "Selecionar", "Sair");
  315.             }
  316.             if(listitem == 1)
  317.             {
  318.                 ShowPlayerDialog(playerid, 4, DIALOG_STYLE_INPUT, "{FFFFFF}Opções do Projeto", "{FFFFFF}Digite um ID de Objeto válido para efetuar a mudança!", "Selecionar", "Sair");
  319.             }
  320.             if(listitem == 2)
  321.             {
  322.                 MudandoPos[playerid] = 1;
  323.                 TogglePlayerControllable(playerid, 0);
  324.             }
  325.             if(listitem == 3)
  326.             {
  327.                 ShowPlayerDialog(playerid, 5, DIALOG_STYLE_INPUT, "{FFFFFF}Opções do Projeto", "{FFFFFF}Digite um ID de Veiculo válido para efetuar a mudança!", "Selecionar", "Sair");
  328.             }
  329.             if(listitem == 4)
  330.             {
  331.                 ShowPlayerDialog(playerid, 8, DIALOG_STYLE_MSGBOX, "{FFFFFF}Opções do Projeto", "{FFFFFF}Você deseja finalizar o projeto agora ? {00FF00}O objeto e o veiculo serão apagados!\nOBS: O código irá aparecer na pasta Scriptfiles", "Sim", "Não");
  332.             }
  333.         }
  334.     }
  335.     if(dialogid == 8)
  336.     {
  337.         if(response == 1)
  338.         {
  339.             SendClientMessage(playerid, 0x00FF00AA, "Obrigado por utilizar o AttachVehicle Editor v1.0");
  340.             SendClientMessage(playerid, 0x00FF00AA, "Esse Editor foi desenvolvido por: {FFFFFF}Knife;");
  341.             DestroyObject(Objeto);
  342.             DestroyVehicle(Veiculo);
  343.             TestandoProjeto[playerid] = 0;
  344.             fwrite(Projeto, "new Objeto;\r\n");
  345.             fwrite(Projeto, "new Veiculo;\r\n");
  346.             format(STR, sizeof(STR), "Objeto = CreateObject(ID, %f, %f, %f, %f, %f, %f);\r\n", X, Y, Z, 0.0, 0.0, 0.0);
  347.             fwrite(Projeto, STR);
  348.             format(STR, sizeof(STR), "Veiculo = AddStaticVehicle(%i, %f, %f, %f, %f, 158, 158);\r\n", GetVehicleModel(Veiculo), X, Y, Z, ObjetoRotZ);
  349.             fwrite(Projeto, STR);
  350.             format(STR, sizeof(STR), "AttachObjectToVehicle(Objeto, Veiculo, %f, %f, %f, %f, %f, %f);\r\n", ObjetoPosX, ObjetoPosY, ObjetoPosZ, ObjetoRotX, ObjetoRotY, ObjetoRotZ);
  351.             fwrite(Projeto, STR);
  352.             fwrite(Projeto, "// Você deve colocar isto em OnGameModeInit!\r\n");
  353.             fwrite(Projeto, "// E sempre terá que definir o Veiculo e o Objeto em OnGameModeInit!\r\n");
  354.             fwrite(Projeto, "// Ou pode definir em outro lugar!\r\n");
  355.         }
  356.         if(response == 0)
  357.         {
  358.         }
  359.     }
  360.     return 1;
  361. }
  362.  
  363. CMD:abrirmenu(playerid)
  364. {
  365.     if(TestandoProjeto[playerid] == 1)
  366.     {
  367.         ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "{FFFFFF}Menu de Opções", "{00FF00}Ver Projeto\n{FFFFFF}Creditos\n{00FF00}Sair", "Selecionar", "");
  368.         return 1;
  369.     }
  370.     ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "{FFFFFF}Menu de Opções", "{00FF00}Criar Projeto\n{FFFFFF}Creditos\n{00FF00}Sair", "Selecionar", "");
  371.     return 1;
  372. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement