Advertisement
matheusspohr

FS Label Creator in-game

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