Advertisement
Guest User

Plugin Source

a guest
Jan 6th, 2013
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.25 KB | None | 0 0
  1. #include <sampgdk/a_objects.h>
  2. #include <sampgdk/a_players.h>
  3. #include <sampgdk/a_samp.h>
  4. #include <sampgdk/a_vehicles.h>
  5. #include <sampgdk/core.h>
  6. #include <sampgdk/plugin.h>
  7.  
  8. int AText[MAX_PLAYERS];
  9. int AText0;
  10. int AText1;
  11. int AText2;
  12. int AText3;
  13. int AText4;
  14. int AText5;
  15. int AText6;
  16. int AText7;
  17. int AText8;
  18. int AText9;
  19. int AText10;
  20.  
  21. typedef void (*logprintf_t)(char* format, ...);
  22.  
  23. //#pragma comment(lib, "C:/Program Files (x86)/sampgdk 3.1/lib/sampgdk3.lib") // musst die bibiliothek noch linken ;)
  24.  
  25. logprintf_t logprintf;
  26.  
  27. cell AMX_NATIVE_CALL SetJetpackForAll(AMX* amx, cell* params)
  28. {
  29. for(int i = NULL;i<MAX_PLAYERS;i++)
  30. {
  31. if(!IsPlayerConnected(i))continue;
  32. if(params[2] == 1) { SetPlayerSpecialAction(i,SPECIAL_ACTION_USEJETPACK); }
  33. if(params[2] == 0) { ClearAnimations(i, 1); }
  34. }
  35. return 1;
  36. }
  37.  
  38. cell AMX_NATIVE_CALL SetJetpackForPlayer(AMX* amx, cell* params)
  39. {
  40. if(params[2] == 0)return ClearAnimations(params[1], 1);
  41. return SetPlayerSpecialAction(params[1],SPECIAL_ACTION_USEJETPACK);
  42. }
  43.  
  44.  
  45. cell AMX_NATIVE_CALL GetADialogID(AMX* amx, cell* params)
  46. {
  47. return AText[params[1]];
  48. return 0;
  49. }
  50.  
  51. cell AMX_NATIVE_CALL ReturnADialogStatus(AMX* amx, cell* params)
  52. {
  53. if(params[1] == AText6) { return 1; }
  54. if(params[1] == AText7) { return 2; }
  55. if(params[1] == AText8) { return 3; }
  56. if(params[1] == AText9) { return 4; }
  57. return 0;
  58. }
  59.  
  60.  
  61. cell AMX_NATIVE_CALL LoadADialog(AMX* amx, cell* params)
  62. {
  63. AText0 = TextDrawCreate(543.000000, 136.000000, "_");
  64. TextDrawBackgroundColor(AText0, 255);
  65. TextDrawFont(AText0, 1);
  66. TextDrawLetterSize(AText0, (float)0.830000, (float)24.000000);
  67. TextDrawColor(AText0, -1);
  68. TextDrawSetOutline(AText0, 0);
  69. TextDrawSetProportional(AText0, 1);
  70. TextDrawSetShadow(AText0, 1);
  71. TextDrawUseBox(AText0, 1);
  72. TextDrawBoxColor(AText0, 136);
  73. TextDrawTextSize(AText0, 130.000000, 80.000000);
  74.  
  75. AText1 = TextDrawCreate(527.000000, 150.000000, "_");
  76. TextDrawBackgroundColor(AText1, 255);
  77. TextDrawFont(AText1, 1);
  78. TextDrawLetterSize(AText1, 0.500000, 18.000000);
  79. TextDrawColor(AText1, -1);
  80. TextDrawSetOutline(AText1, 0);
  81. TextDrawSetProportional(AText1, 1);
  82. TextDrawSetShadow(AText1, 1);
  83. TextDrawUseBox(AText1, 1);
  84. TextDrawBoxColor(AText1, 255);
  85. TextDrawTextSize(AText1, 143.000000, 0.000000);
  86.  
  87. AText2 = TextDrawCreate(154.000000, 327.000000, "1");
  88. TextDrawBackgroundColor(AText2, 255);
  89. TextDrawFont(AText2, 0);
  90. TextDrawLetterSize(AText2, (float)0.700000, (float)1.899999);
  91. TextDrawColor(AText2, -1);
  92. TextDrawSetOutline(AText2, 0);
  93. TextDrawSetProportional(AText2, 1);
  94. TextDrawSetShadow(AText2, 1);
  95. TextDrawUseBox(AText2, 1);
  96. TextDrawBoxColor(AText2, 255);
  97. TextDrawTextSize(AText2, 169.000000, 0.000000);
  98.  
  99. AText3 = TextDrawCreate(278.000000, 327.000000, "2");
  100. TextDrawBackgroundColor(AText3, 255);
  101. TextDrawFont(AText3, 0);
  102. TextDrawLetterSize(AText3, (float)0.700000, (float)1.899999);
  103. TextDrawColor(AText3, -1);
  104. TextDrawSetOutline(AText3, 0);
  105. TextDrawSetProportional(AText3, 1);
  106. TextDrawSetShadow(AText3, 1);
  107. TextDrawUseBox(AText3, 1);
  108. TextDrawBoxColor(AText3, 255);
  109. TextDrawTextSize(AText3, 297.000000, 0.000000);
  110.  
  111. AText4 = TextDrawCreate(356.000000, 327.000000, "3");
  112. TextDrawBackgroundColor(AText4, 255);
  113. TextDrawFont(AText4, 0);
  114. TextDrawLetterSize(AText4, (float)0.700000, (float)1.899999);
  115. TextDrawColor(AText4, -1);
  116. TextDrawSetOutline(AText4, 0);
  117. TextDrawSetProportional(AText4, 1);
  118. TextDrawSetShadow(AText4, 1);
  119. TextDrawUseBox(AText4, 1);
  120. TextDrawBoxColor(AText4, 255);
  121. TextDrawTextSize(AText4, 373.000000, -3.000000);
  122.  
  123. AText5 = TextDrawCreate(493.000000, 327.000000, "4");
  124. TextDrawBackgroundColor(AText5, 255);
  125. TextDrawFont(AText5, 0);
  126. TextDrawLetterSize(AText5, (float)0.700000, (float)1.899999);
  127. TextDrawColor(AText5, -1);
  128. TextDrawSetOutline(AText5, 0);
  129. TextDrawSetProportional(AText5, 1);
  130. TextDrawSetShadow(AText5, 1);
  131. TextDrawUseBox(AText5, 1);
  132. TextDrawBoxColor(AText5, 255);
  133. TextDrawTextSize(AText5, 511.000000, -3.000000);
  134.  
  135. AText6 = TextDrawCreate(150.000000, 170.000000, "1.)");
  136. TextDrawBackgroundColor(AText6, 255);
  137. TextDrawFont(AText6, 1);
  138. TextDrawLetterSize(AText6, 0.500000, 1.000000);
  139. TextDrawColor(AText6, -1);
  140. TextDrawSetOutline(AText6, 0);
  141. TextDrawSetProportional(AText6, 1);
  142. TextDrawSetShadow(AText6, 1);
  143.  
  144. AText7 = TextDrawCreate(150.000000, 200.000000, "2.)");
  145. TextDrawBackgroundColor(AText7, 255);
  146. TextDrawFont(AText7, 1);
  147. TextDrawLetterSize(AText7, 0.500000, 1.000000);
  148. TextDrawColor(AText7, -1);
  149. TextDrawSetOutline(AText7, 0);
  150. TextDrawSetProportional(AText7, 1);
  151. TextDrawSetShadow(AText7, 1);
  152.  
  153. AText8 = TextDrawCreate(150.000000, 233.000000, "3.)");
  154. TextDrawBackgroundColor(AText8, 255);
  155. TextDrawFont(AText8, 1);
  156. TextDrawLetterSize(AText8, 0.500000, 1.000000);
  157. TextDrawColor(AText8, -1);
  158. TextDrawSetOutline(AText8, 0);
  159. TextDrawSetProportional(AText8, 1);
  160. TextDrawSetShadow(AText8, 1);
  161.  
  162. AText9 = TextDrawCreate(150.000000, 272.000000, "4.)");
  163. TextDrawBackgroundColor(AText9, 255);
  164. TextDrawFont(AText9, 1);
  165. TextDrawLetterSize(AText9, 0.500000, 1.000000);
  166. TextDrawColor(AText9, -1);
  167. TextDrawSetOutline(AText9, 0);
  168. TextDrawSetProportional(AText9, 1);
  169. TextDrawSetShadow(AText9, 1);
  170.  
  171. AText10 = TextDrawCreate(255.000000, 118.000000, "Titel");
  172. TextDrawBackgroundColor(AText10, 255);
  173. TextDrawFont(AText10, 2);
  174. TextDrawLetterSize(AText10, 0.500000, 1.500000);
  175. TextDrawColor(AText10, -1);
  176. TextDrawSetOutline(AText10, 0);
  177. TextDrawSetProportional(AText10, 1);
  178. TextDrawSetShadow(AText10, 1);
  179. TextDrawUseBox(AText10, 1);
  180. TextDrawBoxColor(AText10, 255);
  181. TextDrawTextSize(AText10, 410.000000, 0.000000);
  182. TextDrawSetSelectable(AText6,true);
  183. TextDrawSetSelectable(AText7,true);
  184. TextDrawSetSelectable(AText8,true);
  185. TextDrawSetSelectable(AText9,true);
  186. return 1;
  187.  
  188. }
  189.  
  190.  
  191. cell AMX_NATIVE_CALL ShowADialog(AMX* amx, cell* params)
  192. {
  193. //ShowADialog(playerid, stringueberschrift,string1, string2, string3, string4, COLORCODE(Interger));
  194. //sechs Bis neun = Antworte
  195. int index = NULL;
  196. cell *addr = NULL;
  197. amx_GetAddr(amx, params[3], &addr);
  198. amx_StrLen(addr, &index);
  199. char* ueberschrift = new char[index];
  200. amx_GetString(ueberschrift, addr, 0, index);
  201. amx_GetAddr(amx, params[4], &addr);
  202. amx_StrLen(addr, &index);
  203. char* eins = new char[index];
  204. amx_GetString(eins, addr, 0, index);
  205. amx_GetAddr(amx, params[5], &addr);
  206. amx_StrLen(addr, &index);
  207. char* zwei = new char[index];
  208. amx_GetString(zwei, addr, 0, index);
  209. amx_GetAddr(amx, params[6], &addr);
  210. amx_StrLen(addr, &index);
  211. char* drei = new char[index];
  212. amx_GetString(drei, addr, 0, index);
  213. amx_GetAddr(amx, params[7], &addr);
  214. amx_StrLen(addr, &index);
  215. char* vier = new char[index];
  216. amx_GetString(vier, addr, 0, index);
  217.  
  218. AText[params[1]] = params[2];
  219. TextDrawSetString(AText6,eins);
  220. TextDrawSetString(AText7,zwei);
  221. TextDrawSetString(AText8,drei);
  222. TextDrawSetString(AText9,vier);
  223. TextDrawSetString(AText10,ueberschrift);
  224. TextDrawShowForPlayer(params[1],AText0);
  225. TextDrawShowForPlayer(params[1],AText1);
  226. TextDrawShowForPlayer(params[1],AText2);
  227. TextDrawShowForPlayer(params[1],AText3);
  228. TextDrawShowForPlayer(params[1],AText4);
  229. TextDrawShowForPlayer(params[1],AText5);
  230. TextDrawShowForPlayer(params[1],AText6);
  231. TextDrawShowForPlayer(params[1],AText7);
  232. TextDrawShowForPlayer(params[1],AText8);
  233. TextDrawShowForPlayer(params[1],AText9);
  234. TextDrawShowForPlayer(params[1],AText10);
  235. SelectTextDraw(params[1], params[8]);
  236. return 1;
  237. }
  238.  
  239.  
  240. cell AMX_NATIVE_CALL HideADialog(AMX* amx, cell* params)
  241. {
  242. TextDrawHideForPlayer(params[1],AText0);
  243. TextDrawHideForPlayer(params[1],AText1);
  244. TextDrawHideForPlayer(params[1],AText2);
  245. TextDrawHideForPlayer(params[1],AText3);
  246. TextDrawHideForPlayer(params[1],AText4);
  247. TextDrawHideForPlayer(params[1],AText5);
  248. TextDrawHideForPlayer(params[1],AText6);
  249. TextDrawHideForPlayer(params[1],AText7);
  250. TextDrawHideForPlayer(params[1],AText8);
  251. TextDrawHideForPlayer(params[1],AText9);
  252. TextDrawHideForPlayer(params[1],AText10);
  253. CancelSelectTextDraw(params[1]);
  254. return 1;
  255. }
  256.  
  257.  
  258.  
  259. PLUGIN_EXPORT unsigned int PLUGIN_CALL Supports()
  260. {
  261. return SUPPORTS_VERSION | SUPPORTS_AMX_NATIVES;
  262. }
  263.  
  264. PLUGIN_EXPORT bool PLUGIN_CALL Load(void **ppPluginData)
  265. {
  266. sampgdk_initialize_plugin(ppPluginData);
  267. logprintf = (logprintf_t) ppPluginData[PLUGIN_DATA_LOGPRINTF];
  268. logprintf(" * Dialog plugin by Arendium was loaded.");
  269.  
  270. return true;
  271. }
  272.  
  273. PLUGIN_EXPORT void PLUGIN_CALL Unload()
  274. {
  275. logprintf(" * Test plugin was unloaded Max Players: %d");
  276. }
  277.  
  278. AMX_NATIVE_INFO PluginNatives[] =
  279. {
  280. {"HideADialog",HideADialog},
  281. {"ShowADialog",ShowADialog},
  282. {"ReturnADialogStatus",ReturnADialogStatus},
  283. {"GetADialogID",GetADialogID},
  284. {"LoadADialog",LoadADialog},
  285. {"SetJetpackForPlayer",SetJetpackForPlayer},
  286. {"SetJetpackForAll",SetJetpackForAll},
  287. {0, 0}
  288. };
  289.  
  290. PLUGIN_EXPORT int PLUGIN_CALL AmxLoad( AMX *amx )
  291. {
  292. return amx_Register(amx, PluginNatives, -1);
  293. }
  294.  
  295.  
  296. PLUGIN_EXPORT int PLUGIN_CALL AmxUnload( AMX *amx )
  297. {
  298. return AMX_ERR_NONE;
  299. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement