Advertisement
dh240473

[FilterScript] Dynamic3dTextLabel Save & Load

Sep 15th, 2015
745
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.22 KB | None | 0 0
  1. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  2. /*.::::::::::::::::::::::::[LABEL FILTERSCRIPT BY DH240473]::::::::::::::::::.*/
  3. /*::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::*/
  4.  
  5. #include <a_samp>
  6. #include <sscanf2>
  7. #include <streamer>
  8. #include <dini>
  9. #include <zcmd>
  10. #pragma dynamic 13000
  11. #define MAX_LABELS 500
  12. // Save labels file location
  13. #define Label_Save "labels/%i.ini"
  14. // Colors
  15. #define lightgreen 0x23FF00FF
  16. #define lgreen "{6EF83C}"
  17. #define lwhite "{FFFFFF}"
  18. #define lyellow "{FFFF22}"
  19. #define lblue "{2255FF}"
  20. #define lpink "{FF0077}"
  21. #define lorange "{FF6622}"
  22. #define lred "{FF0000}"
  23. #define lgrey "{BEBEBE}"
  24. #define lyellow2 "{E1DE1C}"
  25. /*New Stuff*/
  26. new LabelID;
  27. /*Enum*/
  28. enum labelsinfo
  29. {
  30. Text3D:Label,
  31. Text[256],
  32. Color,
  33. Float:POSX,
  34. Float:POSY,
  35. Float:POSZ,
  36. }
  37. new Text3D:LabelsInfo[MAX_LABELS][labelsinfo];
  38. //============================================================================//
  39. public OnFilterScriptInit()
  40. {
  41. LoadLabels();
  42. return 1;
  43. }
  44.  
  45. public OnFilterScriptExit()
  46. {
  47. return 1;
  48. }
  49. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  50. {
  51. return 1;
  52. }
  53. CMD:clabels(playerid,params[])
  54. {
  55. if(IsPlayerAdmin(playerid))
  56. {
  57. new Float:x,Float:y,Float:z,string[64],file[128],lebel[999];
  58. GetPlayerPos(playerid,x,y,z);
  59. for(new i; i < MAX_LABELS; i++)
  60. {
  61. format(file,sizeof(file),Label_Save,i);
  62. if(!fexist(file))
  63. {
  64. LabelID = i;
  65. break;
  66. }
  67. }
  68. if(unformat(params, "s[128]",params)) return SendClientMessage(playerid, 0xFF0000FF, "{FF0000}USAGE:/clabels [Text]");
  69. format(lebel, sizeof(lebel), ""lred"%s\n"lgreen"ID:%d", params, LabelID);
  70. LabelsInfo[LabelID][Label] = CreateDynamic3DTextLabel(lebel, -1, x, y, z, 15.0);
  71. LabelsInfo[LabelID][POSX] = x;
  72. LabelsInfo[LabelID][POSY] = y;
  73. LabelsInfo[LabelID][POSZ] = z;
  74. format(file,sizeof(file),Label_Save,LabelID);
  75. dini_Create(file);
  76. dini_Set(file, "Text", params);
  77. dini_FloatSet(file, "X", LabelsInfo[LabelID][POSX]);
  78. dini_FloatSet(file, "Y", LabelsInfo[LabelID][POSY]);
  79. dini_FloatSet(file, "Z", LabelsInfo[LabelID][POSZ]);
  80. format(string,sizeof(string),"Label "lyellow2"%i "lgreen"created!", LabelID);
  81. SendClientMessage(playerid,lightgreen,string);
  82. }
  83. else return 0;
  84. return 1;
  85. }
  86. CMD:rlabels(playerid,params[])
  87. {
  88. new lId, file[999];
  89. if(!IsPlayerAdmin(playerid)) return 0;
  90. if(sscanf(params, "d", lId)) return SendClientMessage(playerid, 0x99FF00AA, "{FF0000}USAGE:/rlabels [ID]");
  91. format(file,sizeof(file),Label_Save,lId);
  92. if(!dini_Exists(file))
  93. {
  94. SendClientMessage(playerid, 0xFF0000FF, ""lred"Label Id Is Not Exist!");
  95. }
  96. else if(dini_Exists(file))
  97. {
  98. new string[999];
  99. format(string,sizeof(string),"Label "lyellow2"%i "lgreen"removed!", lId);
  100. SendClientMessage(playerid,lightgreen,string);
  101. DestroyDynamic3DTextLabel(LabelsInfo[lId][Label]);
  102. dini_Remove(file);
  103. }
  104. else return 0;
  105. return 1;
  106. }
  107. stock LoadLabels()
  108. {
  109. for(new i = 0; i < MAX_LABELS;i++)
  110. {
  111. new fail[999],lebel[999],labels[999];
  112. format(fail, sizeof(fail), Label_Save, i);
  113. if(dini_Exists(fail))
  114. {
  115. labels = dini_Get(fail, "Text");
  116. LabelsInfo[i][POSX] = dini_Float(fail, "X");
  117. LabelsInfo[i][POSY] = dini_Float(fail, "Y");
  118. LabelsInfo[i][POSZ] = dini_Float(fail, "Z");
  119. format(lebel, sizeof(lebel), ""lred"%s\n"lgreen"ID:%d", labels, i);
  120. LabelsInfo[i][Label] = CreateDynamic3DTextLabel(lebel, -1, LabelsInfo[i][POSX], LabelsInfo[i][POSY], LabelsInfo[i][POSZ], 15.0);
  121. }
  122. }
  123. return 1;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement