Advertisement
matheusspohr

FS Label Creator in-game

Nov 30th, 2015
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.09 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. for(new i;i<MAX_LABELS;i++)
  46. {
  47. CarregarLabel(i);
  48. Create3DTextLabel(LabelInfo[i][Texto], LabelInfo[i][Cor], LabelInfo[i][LocX], LabelInfo[i][LocY], LabelInfo[i][LocZ], LabelInfo[i][Distancia], LabelInfo[i][Mundo], 0);
  49. }
  50. if(!DOF2_FileExists("Labels/LabelsCriadas.ini"))
  51. {
  52. DOF2_CreateFile("Labels/LabelsCriadas.ini");
  53. DOF2_SetInt("Labels/LabelsCriadas.ini", "Total de 3DTextLabels criadas", 0);
  54. DOF2_SaveFile();
  55. }
  56. else
  57. return 0;
  58. LabelID = DOF2_GetInt("Labels/LabelsCriadas.ini", "Total de 3DTextLabels criadas")+1;
  59. return 1;
  60. }
  61.  
  62. public OnFilterScriptExit()
  63. {
  64. for(new i;i<MAX_LABELS;i++)SalvarLabel(i);
  65. DOF2_Exit();
  66. return 1;
  67. }
  68.  
  69. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  70. {
  71. new Pasta[128], Float:Pos[3];
  72. LabelID = DOF2_GetInt("Labels/LabelsCriadas.ini", "Total de 3DTextLabels criadas")+1;
  73. format(Pasta, 128, PASTA_LABELS, LabelID);
  74. if(dialogid == Dialog_Nova_Label_Cor)
  75. {
  76. if(!response)return 0;
  77. if(response)
  78. {
  79. 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", "");
  80. 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", "");
  81. 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", "");
  82. 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", "");
  83. 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", "");
  84. 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", "");
  85. 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", "");
  86. 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", "");
  87. 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", "");
  88. 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", "");
  89. 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", "");
  90. 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", "");
  91. 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", "");
  92. 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", "");
  93. 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", "");
  94. DOF2_SetInt(Pasta, "Cor", LabelInfo[LabelID][Cor]);
  95. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  96. LabelInfo[LabelID][LocX] = Pos[0];
  97. DOF2_SetFloat(Pasta, "PosicaoX", LabelInfo[LabelID][LocX]);
  98. LabelInfo[LabelID][LocY] = Pos[1];
  99. DOF2_SetFloat(Pasta, "PosicaoY", LabelInfo[LabelID][LocY]);
  100. LabelInfo[LabelID][LocZ] = Pos[2];
  101. DOF2_SetFloat(Pasta, "PosicaoZ", LabelInfo[LabelID][LocZ]);
  102. LabelInfo[LabelID][Mundo] = GetPlayerVirtualWorld(playerid);
  103. DOF2_SetInt(Pasta, "Mundo", LabelInfo[LabelID][Mundo]);
  104. }
  105. return 1;
  106. }
  107. if(dialogid == Dialog_Nova_Label_Distancia)
  108. {
  109. //new Pasta[128];
  110. LabelID = DOF2_GetInt("Labels/LabelsCriadas.ini", "Total de 3DTextLabels criadas")+1;
  111. format(Pasta, 128, PASTA_LABELS, LabelID);
  112. LabelInfo[LabelID][Distancia] = strval(inputtext);
  113. DOF2_SetInt(Pasta, "Distancia", LabelInfo[LabelID][Distancia]);
  114. Create3DTextLabel(LabelInfo[LabelID][Texto], LabelInfo[LabelID][Cor], LabelInfo[LabelID][LocX], LabelInfo[LabelID][LocY], LabelInfo[LabelID][LocZ], LabelInfo[LabelID][Distancia], LabelInfo[LabelID][Mundo], 0);
  115. DOF2_SetInt("Labels/LabelsCriadas.ini", "Total de 3DTextLabels criadas", LabelID);
  116. new Msg[128];
  117. format(Msg, 128, "{00FF00}Label ID: %d criada.", LabelID);
  118. SendClientMessage(playerid, -1, Msg);
  119. DOF2_SaveFile();
  120. SalvarLabel(LabelID);
  121. return 1;
  122. }
  123. return 1;
  124. }
  125. CMD:criarlabel(playerid, params[])
  126. {
  127. new TextoLabel[500], Pasta[128];
  128. LabelID = DOF2_GetInt("Labels/LabelsCriadas.ini", "Total de 3DTextLabels criadas")+1;
  129. format(Pasta, 128, PASTA_LABELS, LabelID);
  130. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "{FF0000}Esse comando só pode ser executado por um admin RCON!");
  131. if(sscanf(params, "s[500]", TextoLabel))return SendClientMessage(playerid, -1, "{FF00FF}#{FFFFFF} Uso: /CriarLabel [Texto]");
  132. ShowPlayerDialog(playerid, Dialog_Nova_Label_Cor, DIALOG_STYLE_LIST, "{FFFF00}Cor:", "{FFFF00}Amarelo\n\
  133. {0000FF}Azul Forte\n\
  134. {FF5604}Laranja\n\
  135. {FF0000}Vermelho\n\
  136. {00F9F9}Cyan\n\
  137. {C0C0C0}Cinza\n\
  138. {80FF80}Verde\n\
  139. {FF00FF}Rosa\n\
  140. {00FFFF}Azul Claro I\n\
  141. {33CCFF}Azul Claro II\n\
  142. {A02DD2}Roxo\n\
  143. {E285FA}Roxo Claro\n\
  144. {FFFFFF}Branco\n\
  145. {000000}Preto\n\
  146. {9DAD80}Verde Oliva", "Selecionar", "");
  147. if(!DOF2_FileExists(Pasta))
  148. {
  149. DOF2_CreateFile(Pasta);
  150. strpack(LabelInfo[LabelID][Texto], TextoLabel);
  151. DOF2_SetString(Pasta, "Texto", LabelInfo[LabelID][Texto]);
  152. DOF2_SaveFile();
  153. }
  154. else
  155. {
  156. strpack(LabelInfo[LabelID][Texto], TextoLabel);
  157. DOF2_SetString(Pasta, "Texto", LabelInfo[LabelID][Texto]);
  158. DOF2_SaveFile();
  159. }
  160. return 1;
  161. }
  162. stock SalvarLabel(a)
  163. {
  164. new Pasta[128];
  165. format(Pasta, 128, PASTA_LABELS, LabelInfo[a]);
  166. if(!DOF2_FileExists(Pasta)) DOF2_CreateFile(Pasta);
  167. DOF2_SetString(Pasta, "Texto", LabelInfo[a][Texto]);
  168. DOF2_SetInt(Pasta, "Cor", LabelInfo[a][Cor]);
  169. DOF2_SetFloat(Pasta, "PosicaoX", LabelInfo[a][LocX]);
  170. DOF2_SetFloat(Pasta, "PosicaoY", LabelInfo[a][LocY]);
  171. DOF2_SetFloat(Pasta, "PosicaoZ", LabelInfo[a][LocZ]);
  172. DOF2_SetInt(Pasta, "Distancia", LabelInfo[a][Distancia]);
  173. DOF2_SetInt(Pasta, "Mundo", LabelInfo[a][Mundo]);
  174. }
  175. stock CarregarLabel(a)
  176. {
  177. new Pasta[128];
  178. format(Pasta, 128, PASTA_LABELS, LabelInfo[a]);
  179. strpack(LabelInfo[a][Texto], DOF2_GetString(Pasta, "Texto"));
  180. LabelInfo[a][Cor] = DOF2_GetInt(Pasta, "Cor");
  181. LabelInfo[a][LocX] = DOF2_GetFloat(Pasta, "PosicaoX");
  182. LabelInfo[a][LocY] = DOF2_GetFloat(Pasta, "PosicaoY");
  183. LabelInfo[a][LocZ] = DOF2_GetFloat(Pasta, "PosicaoZ");
  184. LabelInfo[a][Distancia] = DOF2_GetInt(Pasta, "Distancia");
  185. LabelInfo[a][Mundo] =DOF2_GetInt(Pasta, "Mundo");
  186. }
  187. stock DeletarLabel(a)
  188. {
  189. new Pasta[128];
  190. format(Pasta, 128, PASTA_LABELS, LabelInfo[a]);
  191. DOF2_SetString(Pasta, "Texto", "Empty");
  192. DOF2_SetInt(Pasta, "Cor", "0xFFFFFFFF");
  193. DOF2_SetFloat(Pasta, "PosicaoX", "0.0");
  194. DOF2_SetFloat(Pasta, "PosicaoY", "0.0");
  195. DOF2_SetFloat(Pasta, "PosicaoZ", "0.0");
  196. DOF2_SetInt(Pasta, "Distancia", "0.0");
  197. DOF2_SetInt(Pasta, "Mundo", "0");
  198. DOF2_RemoveFile(Pasta);
  199. }
  200. #else
  201.  
  202. main()
  203. {
  204. print("Sistema de criação de label in-gane Carregado!");
  205. print(SISMTEMA_VERSAO);
  206. }
  207.  
  208. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement