Advertisement
Guest User

Ìcones de morte

a guest
Mar 10th, 2017
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.82 KB | None | 0 0
  1. /*
  2. Ícones de morte (textdraw) por Jelly23
  3. */
  4. #define FILTERSCRIPT
  5.  
  6. /*Includes*/
  7. #include <a_samp>
  8. #include <izcmd>
  9.  
  10. /*TextDraws (Global)*/
  11. static Text:Kill_Caixa,
  12. Text:Kill_IconeCaixa,
  13. Text:Kill_Msg,
  14.  
  15. /*TextDraws (Por Jogador)*/
  16. PlayerText:Kill_Nome,
  17. PlayerText:Kill_Icone,
  18.  
  19. /*String*/
  20. nome[MAX_PLAYERS][MAX_PLAYER_NAME],
  21.  
  22. /*Banco de dados / Database*/
  23. DB:db_morte,
  24.  
  25. /*Array(s)*/
  26. IconeSelecionado[MAX_PLAYERS];
  27.  
  28. #if defined FILTERSCRIPT
  29.  
  30. public OnFilterScriptInit()
  31. {
  32. print("\n--------------------------------------");
  33. print(" ícones de morte - Jelly23");
  34. print("--------------------------------------\n");
  35.  
  36. if((db_morte = db_open("IDMorte.db")) == DB:0)
  37. {
  38. print("Nao foi possivel abrir uma conexao com o banco de dados.");
  39. SendRconCommand("exit");
  40. }
  41. else
  42. {
  43. db_free_result(db_query(db_morte, "CREATE TABLE IF NOT EXISTS `data`(`ID` INTEGER PRIMARY KEY AUTOINCREMENT,`icone` INTEGER NOT NULL, `nome` VARCHAR(24) NOT NULL)"));
  44. print("Conectado ao banco de dados \"IDMorte.db\".");
  45. }
  46.  
  47. /*Criando as textdraws*/
  48. Kill_Caixa = TextDrawCreate(225.000000, 190.000000, "box");
  49. TextDrawLetterSize(Kill_Caixa, 0.000000, 2.705498);
  50. TextDrawTextSize(Kill_Caixa, 446.989501, 0.000000);
  51. TextDrawAlignment(Kill_Caixa, 1);
  52. TextDrawColor(Kill_Caixa, -1061109505);
  53. TextDrawUseBox(Kill_Caixa, 1);
  54. TextDrawBoxColor(Kill_Caixa, 120);
  55. TextDrawSetShadow(Kill_Caixa, 0);
  56. TextDrawSetOutline(Kill_Caixa, 0);
  57. TextDrawBackgroundColor(Kill_Caixa, 255);
  58. TextDrawFont(Kill_Caixa, 1);
  59. TextDrawSetProportional(Kill_Caixa, 1);
  60. TextDrawSetShadow(Kill_Caixa, 0);
  61.  
  62. Kill_IconeCaixa = TextDrawCreate(225.000000, 190.000000, "box");
  63. TextDrawLetterSize(Kill_IconeCaixa, 0.000000, 2.644498);
  64. TextDrawTextSize(Kill_IconeCaixa, 250.654998, 0.000000);
  65. TextDrawAlignment(Kill_IconeCaixa, 1);
  66. TextDrawColor(Kill_IconeCaixa, -1);
  67. TextDrawUseBox(Kill_IconeCaixa, 1);
  68. TextDrawBoxColor(Kill_IconeCaixa, 100);
  69. TextDrawSetShadow(Kill_IconeCaixa, 0);
  70. TextDrawSetOutline(Kill_IconeCaixa, 0);
  71. TextDrawBackgroundColor(Kill_IconeCaixa, 255);
  72. TextDrawFont(Kill_IconeCaixa, 1);
  73. TextDrawSetProportional(Kill_IconeCaixa, 1);
  74. TextDrawSetShadow(Kill_IconeCaixa, 0);
  75.  
  76. Kill_Msg = TextDrawCreate(261.875000, 204.666702, "TE_MATOU");
  77. TextDrawLetterSize(Kill_Msg, 0.231249, 1.010833);
  78. TextDrawAlignment(Kill_Msg, 1);
  79. TextDrawColor(Kill_Msg, -2147483393);
  80. TextDrawSetShadow(Kill_Msg, 0);
  81. TextDrawSetOutline(Kill_Msg, 0);
  82. TextDrawBackgroundColor(Kill_Msg, 255);
  83. TextDrawFont(Kill_Msg, 1);
  84. TextDrawSetProportional(Kill_Msg, 1);
  85. TextDrawSetShadow(Kill_Msg, 0);
  86. return 1;
  87. }
  88.  
  89. public OnFilterScriptExit()
  90. {
  91. TextDrawDestroy(Kill_Caixa);
  92. TextDrawDestroy(Kill_IconeCaixa);
  93. TextDrawDestroy(Kill_Msg);
  94. return 1;
  95. }
  96.  
  97. #else
  98.  
  99. main()
  100. {
  101. print("\n----------------------------------");
  102. print(" ícones de morte - Jelly23");
  103. print("----------------------------------\n");
  104. }
  105.  
  106. #endif
  107.  
  108. /*Callbacks*/
  109. public OnPlayerConnect(playerid)
  110. {
  111. GetPlayerName(playerid,nome[playerid],24);
  112.  
  113. new DBResult: query,string[68];
  114. format(string, sizeof(string), "SELECT * FROM `data` WHERE `nome` = '%q'", nome[playerid]);
  115. query = db_query(db_morte, string);
  116. if(db_num_rows(query) > 0)
  117. {
  118. new int_icone[2];
  119. db_get_field_assoc(query, "icone", int_icone, 2);
  120. IconeSelecionado[playerid] = strval(int_icone);
  121. }
  122. else
  123. {
  124. format(string, sizeof(string), "INSERT INTO `data` (`nome`, `icone`) VALUES ('%q', '%d')", nome[playerid], 0);
  125. db_free_result(db_query(db_morte, string));
  126. IconeSelecionado[playerid] = 0;
  127. }
  128.  
  129. Kill_Icone = CreatePlayerTextDraw(playerid, 227.375000, 193.916656, "ld_shtr:pm3");
  130. PlayerTextDrawLetterSize(playerid, Kill_Icone, 0.000000, 0.000000);
  131. PlayerTextDrawTextSize(playerid, Kill_Icone, 20.000000, 15.916665);
  132. PlayerTextDrawAlignment(playerid, Kill_Icone, 1);
  133. PlayerTextDrawColor(playerid, Kill_Icone, -1);
  134. PlayerTextDrawSetShadow(playerid, Kill_Icone, 0);
  135. PlayerTextDrawSetOutline(playerid, Kill_Icone, 0);
  136. PlayerTextDrawBackgroundColor(playerid, Kill_Icone, 255);
  137. PlayerTextDrawFont(playerid, Kill_Icone, 4);
  138. PlayerTextDrawSetProportional(playerid, Kill_Icone, 0);
  139. PlayerTextDrawSetShadow(playerid, Kill_Icone, 0);
  140.  
  141. Kill_Nome = CreatePlayerTextDraw(playerid, 260.000000, 191.166702, "Name");
  142. PlayerTextDrawLetterSize(playerid, Kill_Nome, 0.278750, 1.203333);
  143. PlayerTextDrawAlignment(playerid, Kill_Nome, 1);
  144. PlayerTextDrawColor(playerid, Kill_Nome, -1);
  145. PlayerTextDrawSetShadow(playerid, Kill_Nome, 0);
  146. PlayerTextDrawSetOutline(playerid, Kill_Nome, 0);
  147. PlayerTextDrawBackgroundColor(playerid, Kill_Nome, 255);
  148. PlayerTextDrawFont(playerid, Kill_Nome, 1);
  149. PlayerTextDrawSetProportional(playerid, Kill_Nome, 1);
  150. PlayerTextDrawSetShadow(playerid, Kill_Nome, 0);
  151. return 1;
  152. }
  153.  
  154. public OnPlayerDeath(playerid, killerid, reason)
  155. {
  156. if(killerid != INVALID_PLAYER_ID)
  157. {
  158. new str[31];
  159. TextDrawShowForPlayer(playerid,Kill_Caixa);
  160. TextDrawShowForPlayer(playerid,Kill_IconeCaixa);
  161. TextDrawShowForPlayer(playerid,Kill_Msg);
  162. format(str,sizeof(str),"%s(%i)",nome[killerid],killerid);
  163. PlayerTextDrawSetString(playerid, Kill_Nome, str);
  164. PlayerTextDrawShow(playerid,Kill_Nome);
  165. UpdateIconSprite(killerid,playerid);
  166. PlayerTextDrawShow(playerid,Kill_Icone);
  167. }
  168. return 1;
  169. }
  170.  
  171. public OnPlayerSpawn(playerid)
  172. {
  173. TextDrawHideForPlayer(playerid,Kill_Caixa);
  174. TextDrawHideForPlayer(playerid,Kill_IconeCaixa);
  175. TextDrawHideForPlayer(playerid,Kill_Msg);
  176. PlayerTextDrawHide(playerid,Kill_Nome);
  177. PlayerTextDrawHide(playerid,Kill_Icone);
  178. return 1;
  179. }
  180.  
  181. /*Funções*/
  182. UpdateIconSprite(killerid,playerid)
  183. {
  184. PlayerTextDrawDestroy(playerid,Kill_Icone);
  185. switch(IconeSelecionado[killerid])
  186. {
  187. case 1: Kill_Icone = CreatePlayerTextDraw(playerid, 227.375000, 193.916656, "ld_shtr:ps1");
  188. case 2: Kill_Icone = CreatePlayerTextDraw(playerid, 227.375000, 193.916656, "ld_shtr:ps2");
  189. case 3: Kill_Icone = CreatePlayerTextDraw(playerid, 227.375000, 193.916656, "ld_shtr:ps3");
  190. case 4: Kill_Icone = CreatePlayerTextDraw(playerid, 227.375000, 193.916656, "ld_shtr:pm2");
  191. case 5: Kill_Icone = CreatePlayerTextDraw(playerid, 227.375000, 193.916656, "ld_shtr:pa");
  192. default: Kill_Icone = CreatePlayerTextDraw(playerid, 227.375000, 193.916656, "ld_shtr:pm3");
  193. }
  194. PlayerTextDrawLetterSize(playerid, Kill_Icone, 0.000000, 0.000000);
  195. PlayerTextDrawTextSize(playerid, Kill_Icone, 20.000000, 15.916665);
  196. PlayerTextDrawAlignment(playerid, Kill_Icone, 1);
  197. PlayerTextDrawColor(playerid, Kill_Icone, -1);
  198. PlayerTextDrawSetShadow(playerid, Kill_Icone, 0);
  199. PlayerTextDrawSetOutline(playerid, Kill_Icone, 0);
  200. PlayerTextDrawBackgroundColor(playerid, Kill_Icone, 255);
  201. PlayerTextDrawFont(playerid, Kill_Icone, 4);
  202. PlayerTextDrawSetProportional(playerid, Kill_Icone, 0);
  203. PlayerTextDrawSetShadow(playerid, Kill_Icone, 0);
  204. }
  205.  
  206. /*Commando(s)*/
  207. CMD:mudaricone(playerid,params[])
  208. {
  209. if(!strlen(params)) return SendClientMessage(playerid,-1,"/mudaricone [id]");
  210. if(0 < strval(params) > 5) return SendClientMessage(playerid,-1,"Ids sao entre 0-5");
  211. new str[74];
  212. IconeSelecionado[playerid] = strval(params);
  213. format(str,sizeof(str),"Mudou seu icone para %i",IconeSelecionado[playerid]);
  214. SendClientMessage(playerid,-1,str);
  215.  
  216. format(str,sizeof(str),"UPDATE `data` SET `icone` = '%d' WHERE `nome` = '%q'", IconeSelecionado[playerid], nome[playerid]);
  217. db_free_result(db_query(db_morte,str));
  218.  
  219. print(str);
  220. return 1;
  221. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement