Advertisement
Guest User

Plugin Source 1.0.2

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