Advertisement
matheusspohr

FS Label Creator in-game

Dec 4th, 2015
301
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.08 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. #define MAX_LABELS (100)
  3. #define PASTA_LABELS "Labels/%d.lbl"
  4. #define SISTEMA_VERSAO "1.0"
  5. #define Dialog_Nova_Label_Cor 10001
  6. #define Dialog_Nova_Label_Distancia 10002
  7. #define Amarelo 0xFFFF00FF
  8. #define AzulForte 0x0000FFFF
  9. #define Laranja 0xFF5604FF
  10. #define Vermelho 0xFF0000FF
  11. #define Cyan 0x00F9F9FF
  12. #define Cinza 0xC0C0C0FF
  13. #define Verde 0x80FF80FF
  14. #define Rosa 0xFF00FFFF
  15. #define AmareloClaro 0xFFFF00FF
  16. #define AzulClaroI 0x00FFFFFF
  17. #define AzulClaroII 0x33CCFFFF
  18. #define Roxo 0xA02DD2FF
  19. #define RoxoClaro 0xE285FAFF
  20. #define VerdeClaro 0x00FF00FF
  21. #define Branco 0xFFFFFFFF
  22. #define Preto 0x000000FF
  23. #define VerdeOliva 0x9DAD80FF
  24. #include <a_samp>
  25. #include <DOF2>
  26. #include <ZCMD>
  27. #include <sscanf2>
  28.  
  29. #if defined FILTERSCRIPT
  30. new LabelID;
  31. enum InfoLabel
  32. {
  33. Texto[500],
  34. Cor,
  35. Float:LocX,
  36. Float:LocY,
  37. Float:LocZ,
  38. Distancia,
  39. Mundo
  40. }
  41. new LabelInfo[MAX_LABELS][InfoLabel];
  42.  
  43. public OnFilterScriptInit()
  44. {
  45. print("Sistema de criação de label in-gane Carregado!");
  46. print(SISTEMA_VERSAO);
  47. for(new i;i<MAX_LABELS;i++)
  48. {
  49. new Pasta[128];
  50. format(Pasta, 128, PASTA_LABELS, i);
  51. Create3DTextLabel(DOF2_GetString(Pasta, "Texto"), DOF2_GetInt(Pasta, "Cor"), DOF2_GetFloat(Pasta, "PosicaoX"), DOF2_GetFloat(Pasta, "PosicaoY"), DOF2_GetFloat(Pasta, "PosicaoZ"), DOF2_GetInt(Pasta, "Distancia"), DOF2_GetInt(Pasta, "Mundo"), 0);
  52. }
  53. if(!DOF2_FileExists("Labels/LabelsCriadas.ini"))
  54. {
  55. DOF2_CreateFile("Labels/LabelsCriadas.ini");
  56. DOF2_SetInt("Labels/LabelsCriadas.ini", "Total de 3DTextLabels criadas", 0);
  57. DOF2_SaveFile();
  58. }
  59. else
  60. return 0;
  61. LabelID = DOF2_GetInt("Labels/LabelsCriadas.ini", "Total de 3DTextLabels criadas")+1;
  62. return 1;
  63. }
  64.  
  65. public OnFilterScriptExit()
  66. {
  67. DOF2_Exit();
  68. return 1;
  69. }
  70.  
  71. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  72. {
  73. new Pasta[128], Float:Pos[3];
  74. LabelID = DOF2_GetInt("Labels/LabelsCriadas.ini", "Total de 3DTextLabels criadas")+1;
  75. format(Pasta, 128, PASTA_LABELS, LabelID);
  76. if(dialogid == Dialog_Nova_Label_Cor)
  77. {
  78. if(!response)return 0;
  79. if(response)
  80. {
  81. if(listitem == 0) LabelInfo[LabelID][Cor] = Amarelo; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  82. if(listitem == 1) LabelInfo[LabelID][Cor] = AzulForte; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  83. if(listitem == 2) LabelInfo[LabelID][Cor] = Laranja; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  84. if(listitem == 3) LabelInfo[LabelID][Cor] = Vermelho; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  85. if(listitem == 4) LabelInfo[LabelID][Cor] = Cyan; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  86. if(listitem == 5) LabelInfo[LabelID][Cor] = Cinza; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  87. if(listitem == 6) LabelInfo[LabelID][Cor] = Verde; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  88. if(listitem == 7) LabelInfo[LabelID][Cor] = Rosa; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  89. if(listitem == 8) LabelInfo[LabelID][Cor] = AzulClaroI; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  90. if(listitem == 9) LabelInfo[LabelID][Cor] = AzulClaroII; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  91. if(listitem == 10) LabelInfo[LabelID][Cor] = Roxo; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  92. if(listitem == 11) LabelInfo[LabelID][Cor] = RoxoClaro; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  93. if(listitem == 12) LabelInfo[LabelID][Cor] = Branco; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  94. if(listitem == 13) LabelInfo[LabelID][Cor] = Preto; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  95. if(listitem == 14) LabelInfo[LabelID][Cor] = VerdeOliva; ShowPlayerDialog(playerid, Dialog_Nova_Label_Distancia, DIALOG_STYLE_INPUT, "{FFFF00}Distância:", "{FFFFFF}Abaixo, insira a distância para o player ver a nova label!", "Criar", "");
  96. DOF2_SetInt(Pasta, "Cor", LabelInfo[LabelID][Cor]);
  97. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  98. DOF2_SetFloat(Pasta, "PosicaoX", Pos[0]);
  99. DOF2_SetFloat(Pasta, "PosicaoY", Pos[1]);
  100. DOF2_SetFloat(Pasta, "PosicaoZ", Pos[2]);
  101. DOF2_SetInt(Pasta, "Mundo", GetPlayerVirtualWorld(playerid));
  102. }
  103. return 1;
  104. }
  105. if(dialogid == Dialog_Nova_Label_Distancia)
  106. {
  107. new Msg[128];
  108. DOF2_SetInt(Pasta, "Distancia", strval(inputtext));
  109. DOF2_SaveFile();
  110. Create3DTextLabel(DOF2_GetString(Pasta, "Texto"), DOF2_GetInt(Pasta, "Cor"), DOF2_GetFloat(Pasta, "PosicaoX"), DOF2_GetFloat(Pasta, "PosicaoY"), DOF2_GetFloat(Pasta, "PosicaoZ"), DOF2_GetInt(Pasta, "Distancia"), DOF2_GetInt(Pasta, "Mundo"), 0);
  111. DOF2_SetInt("Labels/LabelsCriadas.ini", "Total de 3DTextLabels criadas", LabelID);
  112. format(Msg, 128, "{00FF00}Label ID: %d criada.", LabelID);
  113. SendClientMessage(playerid, -1, Msg);
  114. return 1;
  115. }
  116. return 1;
  117. }
  118. CMD:criarlabel(playerid, params[])
  119. {
  120. new TextoLabel[500], Pasta[128];
  121. LabelID = DOF2_GetInt("Labels/LabelsCriadas.ini", "Total de 3DTextLabels criadas")+1;
  122. format(Pasta, 128, PASTA_LABELS, LabelID);
  123. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "{FF0000}Esse comando só pode ser executado por um admin RCON!");
  124. if(sscanf(params, "s[500]", TextoLabel))return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /CriarLabel [Texto]");
  125. ShowPlayerDialog(playerid, Dialog_Nova_Label_Cor, DIALOG_STYLE_LIST, "{FFFF00}Cor:", "{FFFF00}Amarelo\n\
  126. {0000FF}Azul Forte\n\
  127. {FF5604}Laranja\n\
  128. {FF0000}Vermelho\n\
  129. {00F9F9}Cyan\n\
  130. {C0C0C0}Cinza\n\
  131. {80FF80}Verde\n\
  132. {FF00FF}Rosa\n\
  133. {00FFFF}Azul Claro I\n\
  134. {33CCFF}Azul Claro II\n\
  135. {A02DD2}Roxo\n\
  136. {E285FA}Roxo Claro\n\
  137. {FFFFFF}Branco\n\
  138. {000000}Preto\n\
  139. {9DAD80}Verde Oliva", "Selecionar", "");
  140. if(!DOF2_FileExists(Pasta))
  141. {
  142. DOF2_CreateFile(Pasta);
  143. DOF2_SetString(Pasta, "Texto", TextoLabel);
  144. DOF2_SaveFile();
  145. }
  146. else
  147. {
  148. DOF2_SetString(Pasta, "Texto", TextoLabel);
  149. DOF2_SaveFile();
  150. }
  151. return 1;
  152. }
  153. stock CarregarLabel(a)
  154. {
  155. new Pasta[128];
  156. format(Pasta, 128, PASTA_LABELS, LabelInfo[a]);
  157. strpack(LabelInfo[a][Texto], DOF2_GetString(Pasta, "Texto"));
  158. LabelInfo[a][Cor] = DOF2_GetInt(Pasta, "Cor");
  159. LabelInfo[a][LocX] = DOF2_GetFloat(Pasta, "PosicaoX");
  160. LabelInfo[a][LocY] = DOF2_GetFloat(Pasta, "PosicaoY");
  161. LabelInfo[a][LocZ] = DOF2_GetFloat(Pasta, "PosicaoZ");
  162. LabelInfo[a][Distancia] = DOF2_GetInt(Pasta, "Distancia");
  163. LabelInfo[a][Mundo] =DOF2_GetInt(Pasta, "Mundo");
  164. }
  165. stock DeletarLabel(a)
  166. {
  167. new Pasta[128];
  168. format(Pasta, 128, PASTA_LABELS, LabelInfo[a]);
  169. DOF2_SetString(Pasta, "Texto", "Empty");
  170. DOF2_SetInt(Pasta, "Cor", "0xFFFFFFFF");
  171. DOF2_SetFloat(Pasta, "PosicaoX", "0.0");
  172. DOF2_SetFloat(Pasta, "PosicaoY", "0.0");
  173. DOF2_SetFloat(Pasta, "PosicaoZ", "0.0");
  174. DOF2_SetInt(Pasta, "Distancia", "0.0");
  175. DOF2_SetInt(Pasta, "Mundo", "0");
  176. DOF2_RemoveFile(Pasta);
  177. }
  178. #else
  179.  
  180. main(){}
  181.  
  182. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement