Advertisement
DraKiNs

[FS] Get Camera Position

Jun 26th, 2011
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 7.25 KB | None | 0 0
  1. /*
  2. Criador : [iPs]Knife
  3. Outros Creditos : [iPs]TeaM
  4. Não retire os Créditos pois é Crime !
  5.  
  6.  
  7.                      Celo Oficial da [iPs]TeaM
  8. '___      ____         ___   _______
  9. |  _| (_)|  _ \  ___  |_  | |__   __|___    ___    _ __ ___
  10. | |   | || |_) |/ __|   | |    | |  / _ \  /   \  | '_ ` _ \
  11. | |_  | ||  __/ \__ \  _| |    | | |  __/ / /_\ \ | | | | | |
  12. |___| |_||_|    |___/ |___|    |_|  \___|/ /---\_\|_| |_| |_|
  13.  
  14. */
  15.  
  16. // Includes Utilizadas !
  17.  
  18. #include <a_samp>
  19.  
  20. // Novas Criações !
  21.  
  22. new Float:CameraValor[6];
  23. new Float:Valor;
  24. new ProcurarPosicao[MAX_PLAYERS];
  25. new PressionoSeila[MAX_PLAYERS];
  26.  
  27. // Definições Usadas !
  28.  
  29. #define ESPACO 8
  30. #define VERMELHOCLARO           0xFF8080FF
  31.  
  32. // Comandos Usados
  33.  
  34. public OnPlayerCommandText(playerid, cmdtext[])
  35. {
  36.     new cmd[256];
  37.     new idx;
  38.     cmd = strtok(cmdtext, idx);
  39.  
  40.     if(strcmp(cmd, "/salvar", true) == 0)
  41.     {
  42.         SendClientMessage(playerid,0xFFFFFFAA,"[iPs]TeaM Editor Camera.");
  43.         new EURI[256];
  44.         new File:NEMRI;
  45.         format(EURI, sizeof(EURI), "SetPlayerCameraPos(playerid,%.3f,%.3f,%.3f);",CameraValor[0],CameraValor[1],CameraValor[2]);
  46.         SendClientMessage(playerid,0xFFFFFFAA,EURI);
  47.         format(EURI, sizeof(EURI), "SetPlayerCameraLookAt(playerid,%.3f,%.3f,%.3f);",CameraValor[3],CameraValor[4],CameraValor[5]);
  48.         SendClientMessage(playerid,0xFFFFFFAA,EURI);
  49.         NEMRI = fopen("Cameras Salvas.txt", io_append);
  50.         fwrite(NEMRI, EURI);
  51.         fclose(NEMRI);
  52.         return 1;
  53.     }
  54.  
  55.     if(strcmp(cmd, "/comandos", true) == 0)
  56.     {
  57.         SendClientMessage(playerid,0xFFFFFFAA,"[iPs]TeaM Editor Camera.");
  58.         SendClientMessage(playerid,VERMELHOCLARO,"Comandos Úteis : /setarcamera /encerrar /salvar /ajudacamera /mudarrot.");
  59.         return 1;
  60.     }
  61.  
  62.     if(strcmp(cmd, "/setarcamera", true) == 0)
  63.     {
  64.         ProcurarPosicao[playerid] = 1;
  65.         PressionoSeila[playerid] = 0;
  66.         SendClientMessage(playerid,0xFFFFFFAA,"[iPs]TeaM Editor Camera.");
  67.         SendClientMessage(playerid,VERMELHOCLARO,"Caso prescise de algum comando para ajuda-lo use /ajudacamera");
  68.         TogglePlayerControllable(playerid,0);
  69.         Valor = 0.1;
  70.         GetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  71.         GetPlayerPos(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  72.         SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  73.         SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  74.         return 1;
  75.     }
  76.  
  77.     if(strcmp(cmd, "/ajudacamera", true) == 0)
  78.     {
  79.         SendClientMessage(playerid,0xFFFFFFAA,"[iPs]TeaM Editor Camera.");
  80.         SendClientMessage(playerid,VERMELHOCLARO,"KEY_FIRE += X, KEY_DOWN += Y, Espaço += Z");
  81.         SendClientMessage(playerid,VERMELHOCLARO,"F -= X, ALTGR -= Y, Caps-Lock -= Z");
  82.         return 1;
  83.     }
  84.  
  85.     if(strcmp(cmd, "/mudarrot", true) == 0)
  86.     {
  87.         if(PressionoSeila[playerid] == 0)
  88.         {
  89.         PressionoSeila[playerid] = 1;
  90.         SendClientMessage(playerid,0xFFFFFFAA,"[iPs]TeaM Editor Camera.");
  91.         SendClientMessage(playerid,VERMELHOCLARO,"Sua Rotação foi Mudada para ficar mais Longe !");
  92.         }
  93.         if(PressionoSeila[playerid] == 1)
  94.         {
  95.         PressionoSeila[playerid] = 0;
  96.         SendClientMessage(playerid,0xFFFFFFAA,"[iPs]TeaM Editor Camera.");
  97.         SendClientMessage(playerid,VERMELHOCLARO,"Sua Rotação foi Mudada para ficar mais Perto !");
  98.         }
  99.         return 1;
  100.     }
  101.  
  102.     if(strcmp(cmd, "/encerrar", true) == 0)
  103.     {
  104.         TogglePlayerControllable(playerid,1);
  105.         SetCameraBehindPlayer(playerid);
  106.         ProcurarPosicao[playerid] = 0;
  107.         PressionoSeila[playerid] = 0;
  108.         SendClientMessage(playerid,0xFFFFFFAA,"[iPs]TeaM Editor Camera.");
  109.         SendClientMessage(playerid,0xFFFFFFAA,"Para salvar a Posição da Camera use /salvar");
  110.         return 1;
  111.     }
  112.  
  113.     return 0;
  114. }
  115.  
  116. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  117. {
  118.     if(newkeys == KEY_FIRE)
  119.     {
  120.         if(ProcurarPosicao[playerid] == 1)
  121.         {
  122.             CameraValor[0] += Valor;
  123.             SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  124.             SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  125.         }
  126.         else if(PressionoSeila[playerid] == 1)
  127.         {
  128.             CameraValor[3] += Valor;
  129.             SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  130.             SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  131.         }
  132.     }
  133.     if(newkeys == 16)
  134.     {
  135.         if(ProcurarPosicao[playerid] == 1)
  136.         {
  137.             CameraValor[0] -= Valor;
  138.             SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  139.             SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  140.         }
  141.         else if(PressionoSeila[playerid] == 1)
  142.         {
  143.             CameraValor[3] -= Valor;
  144.             SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  145.             SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  146.         }
  147.     }
  148.     if(newkeys == KEY_DOWN)
  149.     {
  150.         if(ProcurarPosicao[playerid] == 1)
  151.         {
  152.             CameraValor[1] += Valor;
  153.             SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  154.             SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  155.         }
  156.         else if(PressionoSeila[playerid] == 1)
  157.         {
  158.             CameraValor[4] += Valor;
  159.             SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  160.             SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  161.         }
  162.     }
  163.     if(newkeys == 4)
  164.     {
  165.         if(ProcurarPosicao[playerid] == 1)
  166.         {
  167.             CameraValor[1] -= Valor;
  168.             SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  169.             SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  170.         }
  171.         else if(PressionoSeila[playerid] == 1)
  172.         {
  173.             CameraValor[4] -= Valor;
  174.             SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  175.             SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  176.         }
  177.     }
  178.     if(newkeys == ESPACO)
  179.     {
  180.         if(ProcurarPosicao[playerid] == 1)
  181.         {
  182.             CameraValor[2] += Valor;
  183.             SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  184.             SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  185.         }
  186.         else if(PressionoSeila[playerid] == 1)
  187.         {
  188.             CameraValor[5] += Valor;
  189.             SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  190.             SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  191.         }
  192.     }
  193.     if(newkeys == 128)
  194.     {
  195.         if(ProcurarPosicao[playerid] == 1)
  196.         {
  197.             CameraValor[2] -= Valor;
  198.             SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  199.             SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  200.         }
  201.         else if(PressionoSeila[playerid] == 1)
  202.         {
  203.             CameraValor[5] -= Valor;
  204.             SetPlayerCameraPos(playerid,CameraValor[0],CameraValor[1],CameraValor[2]);
  205.             SetPlayerCameraLookAt(playerid,CameraValor[3],CameraValor[4],CameraValor[5]);
  206.         }
  207.     }
  208.     return 1;
  209. }
  210.  
  211. // Stock´s para deixar o FS com mais linhas (:
  212.  
  213. strtok(const string[], &index)
  214. {
  215.     new length = strlen(string);
  216.     while ((index < length) && (string[index] <= ' ')) { index++; }
  217.     new offset = index;
  218.     new result[20];
  219.     while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  220.     {
  221.         result[index - offset] = string[index];
  222.         index++;
  223.     }
  224.     result[index - offset] = EOS;
  225.     return result;
  226. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement