Guest User

Untitled

a guest
Jun 13th, 2011
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.26 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. #define FILTERSCRIPT
  4.  
  5. #include <a_samp>
  6.  
  7. #define DIALOG_ID 0
  8. #define PARROT_PRICE 5000
  9. #define INDEX 0
  10.  
  11. #define white 0xFFFFFFAA
  12. #define COLOR_FADE1 0xE6E6E6E6
  13. #define COLOR_FADE2 0xC8C8C8C8
  14. #define COLOR_FADE3 0xAAAAAAAA
  15. #define COLOR_FADE4 0x8C8C8C8C
  16. #define COLOR_FADE5 0x6E6E6E6E
  17.  
  18. new stringp[MAX_PLAYERS][256];
  19.  
  20. new pHasParrot[MAX_PLAYERS];
  21. new pPapagajevoime[MAX_PLAYERS];
  22. new pPapagajevarecenica[MAX_PLAYERS][5][35];
  23. new PAPAGAJEVA_CIJENA[MAX_PLAYERS];
  24.  
  25.  
  26. forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
  27. forward SendParrotMessage(playerid);
  28. #if defined FILTERSCRIPT
  29.  
  30. public OnFilterScriptInit()
  31. {
  32. print("\n--------------------------------------");
  33. print(" Ludi Papagaj By Danijel Učitan");
  34. print("--------------------------------------\n");
  35. return 1;
  36. }
  37.  
  38. public OnFilterScriptExit()
  39. {
  40. for(new i=0;i<MAX_PLAYERS;i++)
  41. {
  42. if(pHasParrot[i] == 1)
  43. {
  44. RemovePlayerAttachedObject(i,INDEX);
  45. }
  46. }
  47. print("\n--------------------------------------");
  48. print(" Ludi Papagaj By Danijel Unloaded");
  49. print("--------------------------------------\n");
  50. return 1;
  51. }
  52.  
  53. #endif
  54.  
  55. public OnPlayerConnect(playerid)
  56. {
  57. new string[2];
  58. format(string,sizeof(string)," ");
  59. strmid(pPapagajevarecenica[playerid][0],string,0,strlen(string),255);
  60. strmid(pPapagajevarecenica[playerid][1],string,0,strlen(string),255);
  61. strmid(pPapagajevarecenica[playerid][2],string,0,strlen(string),255);
  62. strmid(pPapagajevarecenica[playerid][3],string,0,strlen(string),255);
  63. strmid(pPapagajevarecenica[playerid][4],string,0,strlen(string),255);
  64. strmid(pPapagajevoime,string,0,strlen(string),255);
  65. pHasParrot[playerid] = 0;
  66. return 1;
  67. }
  68.  
  69. public OnPlayerDisconnect(playerid, reason)
  70. {
  71. if(pHasParrot[playerid] == 1)
  72. {
  73. RemovePlayerAttachedObject(playerid,INDEX);
  74. }
  75. new string[2];
  76. format(string,sizeof(string)," ");
  77. strmid(pPapagajevarecenica[playerid][0],string,0,strlen(string),255);
  78. strmid(pPapagajevarecenica[playerid][1],string,0,strlen(string),255);
  79. strmid(pPapagajevarecenica[playerid][2],string,0,strlen(string),255);
  80. strmid(pPapagajevarecenica[playerid][3],string,0,strlen(string),255);
  81. strmid(pPapagajevarecenica[playerid][4],string,0,strlen(string),255);
  82. strmid(pPapagajevoime,string,0,strlen(string),255);
  83. pHasParrot[playerid] = 0;
  84. return 1;
  85. }
  86.  
  87. public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
  88. {
  89. if(IsPlayerConnected(playerid))
  90. {
  91. new Float:posx, Float:posy, Float:posz;
  92. new Float:oldposx, Float:oldposy, Float:oldposz;
  93. new Float:tempposx, Float:tempposy, Float:tempposz;
  94. GetPlayerPos(playerid, oldposx, oldposy, oldposz);
  95. //radi = 2.0; //Trigger Radius
  96. for(new i = 0; i < MAX_PLAYERS; i++)
  97. {
  98. if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
  99. {
  100. GetPlayerPos(i, posx, posy, posz);
  101. tempposx = (oldposx -posx);
  102. tempposy = (oldposy -posy);
  103. tempposz = (oldposz -posz);
  104. //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
  105. if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
  106. {
  107. SendClientMessage(i, col1, string);
  108. }
  109. else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
  110. {
  111. SendClientMessage(i, col2, string);
  112. }
  113. else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
  114. {
  115. SendClientMessage(i, col3, string);
  116. }
  117. else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
  118. {
  119. SendClientMessage(i, col4, string);
  120. }
  121. else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
  122. {
  123. SendClientMessage(i, col5, string);
  124. }
  125. }
  126. }
  127. }//not connected
  128. return 1;
  129. }
  130. public OnPlayerText(playerid, text[])
  131. {
  132. new Float:X,Float:Y,Float:Z;
  133. for(new p=0;p<MAX_PLAYERS;p++)
  134. {
  135. if(strfind(text,pPapagajevoime[p],true)!=-1)
  136. {
  137. GetPlayerPos(playerid,X,Y,Z);
  138. if(IsPlayerInRangeOfPoint(p,20.0,X,Y,Z))
  139. {
  140. new sent = random(4);
  141. switch(sent)
  142. {
  143. case 0:
  144. {
  145. if(strlen(pPapagajevarecenica[p][0]) > 3)
  146. {
  147. format(stringp[playerid],256,"%s says: %s",pPapagajevoime[p],pPapagajevarecenica[p][0]);
  148. SetTimerEx("SendParrotMessage",180,0,"i", playerid);
  149. }
  150. }
  151. case 1:
  152. {
  153. if(strlen(pPapagajevarecenica[p][1]) > 3)
  154. {
  155. format(stringp[playerid],256,"%s says: %s",pPapagajevoime[p],pPapagajevarecenica[p][1]);
  156. SetTimerEx("SendParrotMessage",180,0,"i", playerid);
  157. }
  158. }
  159. case 2:
  160. {
  161. if(strlen(pPapagajevarecenica[p][2]) > 3)
  162. {
  163. format(stringp[playerid],256,"%s says: %s",pPapagajevoime[p],pPapagajevarecenica[p][2]);
  164. SetTimerEx("SendParrotMessage",180,0,"i", playerid);
  165. }
  166. }
  167. case 3:
  168. {
  169. if(strlen(pPapagajevarecenica[p][3]) > 3)
  170. {
  171. format(stringp[playerid],256,"%s says: %s",pPapagajevoime[p],pPapagajevarecenica[p][3]);
  172. SetTimerEx("SendParrotMessage",180,0,"i", playerid);
  173. }
  174. }
  175. case 4:
  176. {
  177. if(strlen(pPapagajevarecenica[p][4]) > 3)
  178. {
  179. format(stringp[playerid],256,"%s says: %s",pPapagajevoime[p],pPapagajevarecenica[p][4]);
  180. SetTimerEx("SendParrotMessage",180,0,"i", playerid);
  181. }
  182. }
  183. }
  184. }
  185. }
  186. }
  187. return 1;
  188. }
  189.  
  190. public SendParrotMessage(playerid)
  191. {
  192. ProxDetector(20.0, playerid, stringp[playerid],COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
  193. }
  194.  
  195. public OnPlayerCommandText(playerid, cmdtext[])
  196. {
  197. new string[128];
  198. if (strcmp("/kupipapagaja", cmdtext, true) == 0)
  199. {
  200. if(GetPlayerMoney(playerid) >= PARROT_PRICE)
  201. {
  202. GivePlayerMoney(playerid,-PARROT_PRICE);
  203. format(string,sizeof(string)," Ti si kupio Papagaja {F70C47}koji priča{FFFFFF} za {6CE61C}${FFFFFF}%i.",PAPAGAJEVA_CIJENA);
  204. SendClientMessage(playerid,white,string);
  205. SendClientMessage(playerid,white," Nauči ga pričati korištenju komande {F70C47}/nauci{FFFFFF}.");
  206. pHasParrot[playerid] = 1;
  207. SetPlayerAttachedObject(playerid,INDEX,19078,1,0.320722,-0.067912,-0.165151,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000); // Papagaj
  208. ShowPlayerDialog(playerid,DIALOG_ID,DIALOG_STYLE_INPUT,"Papagajevo ime"," Molimo vas ukucajte ime vašeg papagaja od 3 slova do 20 slova:","Namjesti","");
  209. }
  210. else
  211. {
  212. format(string,sizeof(string),"Papagaj koji priča košta {6CE61C}${FFFFFF}%i.",PAPAGAJEVA_CIJENA);
  213. SendClientMessage(playerid,white,string);
  214. }
  215. return 1;
  216. }
  217. if (strcmp("/nauci", cmdtext, true) == 0)
  218. {
  219. if(pHasParrot[playerid] == 1)
  220. {
  221. new string1[256];
  222. format(string1,sizeof(string1),"1.%s\n2.%s\n3.%s\n4.%s\n5.%s",
  223. pPapagajevarecenica[playerid][0],
  224. pPapagajevarecenica[playerid][1],
  225. pPapagajevarecenica[playerid][2],
  226. pPapagajevarecenica[playerid][3],
  227. pPapagajevarecenica[playerid][4]);
  228. ShowPlayerDialog(playerid,DIALOG_ID+1,DIALOG_STYLE_LIST,"Papagajeve recenice",string1,"Promijeni","Izađi");
  229. }
  230. else
  231. {
  232. SendClientMessage(playerid,white," Ti nemaš Papagaja {F70C47}koji priča{FFFFFF}.");
  233. }
  234. return 1;
  235. }
  236. return 0;
  237. }
  238.  
  239. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  240. {
  241. if(dialogid == DIALOG_ID)
  242. {
  243. if(response)
  244. {
  245. if(strlen(inputtext) < 3 || strlen(inputtext) > 20)
  246. {
  247. ShowPlayerDialog(playerid,DIALOG_ID,DIALOG_STYLE_INPUT," Papagajevo ime"," Molimo vas unesite papagajevo ime od 3 slova do 20 slova:","Namjesti","");
  248. }
  249. else
  250. {
  251. strmid(pPapagajevoime[playerid],inputtext,0,strlen(inputtext),255);
  252. SendClientMessage(playerid,white," Papagajevo ime promijenjeno!");
  253. }
  254. }
  255. else
  256. {
  257. ShowPlayerDialog(playerid,DIALOG_ID,DIALOG_STYLE_INPUT," Papagajevo ime"," Molimo vas unesite papagajevo ime od 3 slova do 20 slova:","Namjesti","");
  258. }
  259. }
  260. if(dialogid == DIALOG_ID+1)
  261. {
  262. if(response)
  263. {
  264. if(listitem == 0)
  265. {
  266. ShowPlayerDialog(playerid,DIALOG_ID+2,DIALOG_STYLE_INPUT," Promijeni recenicu"," Molimo vas napisite novu recenicu sa više od 3 slova\n i manje od 35 slova:","Promijeni","Odustani");
  267. }
  268. else if(listitem == 1)
  269. {
  270. ShowPlayerDialog(playerid,DIALOG_ID+3,DIALOG_STYLE_INPUT," Promijeni recenicu"," Molimo vas napisite novu recenicu sa više od 3 slova\n i manje od 35 slova:","Promijeni","Odustani");
  271. }
  272. else if(listitem == 2)
  273. {
  274. ShowPlayerDialog(playerid,DIALOG_ID+4,DIALOG_STYLE_INPUT," Promijeni recenicu"," Molimo vas napisite novu recenicu sa više od 3 slova\n i manje od 35 slova:","Promijeni","Odustani");
  275. }
  276. else if(listitem == 3)
  277. {
  278. ShowPlayerDialog(playerid,DIALOG_ID+5,DIALOG_STYLE_INPUT," Promijeni recenicu"," Molimo vas napisite novu recenicu sa više od 3 slova\n i manje od 35 slova:","Promijeni","Odustani");
  279. }
  280. else if(listitem == 4)
  281. {
  282. ShowPlayerDialog(playerid,DIALOG_ID+6,DIALOG_STYLE_INPUT," Promijeni recenicu"," Molimo vas napisite novu recenicu sa više od 3 slova\n i manje od 35 slova:","Promijeni","Odustani");
  283. }
  284. }
  285. }
  286. else if(dialogid == DIALOG_ID+2)
  287. {
  288. if(response)
  289. {
  290. if(strlen(inputtext) < 3 || strlen(inputtext) > 35)
  291. {
  292. ShowPlayerDialog(playerid,DIALOG_ID+2,DIALOG_STYLE_INPUT," Promijeni recenicu"," Molimo vas napisite novu recenicu sa više od 3 slova\n i manje od 35 slova:","Promijeni","Odustani");
  293. }
  294. else
  295. {
  296. strmid(pPapagajevarecenica[playerid][0],inputtext,0,strlen(inputtext),255);
  297. SendClientMessage(playerid,white," Recenica No.1 Promijenja!");
  298. }
  299. }
  300. }
  301. else if(dialogid == DIALOG_ID+3)
  302. {
  303. if(response)
  304. {
  305. if(strlen(inputtext) < 3 || strlen(inputtext) > 35)
  306. {
  307. ShowPlayerDialog(playerid,DIALOG_ID+3,DIALOG_STYLE_INPUT," Promijeni recenicu"," Molimo vas napisite novu recenicu sa više od 3 slova\n i manje od 35 slova:","Promijeni","Odustani");
  308. }
  309. else
  310. {
  311. strmid(pPapagajevarecenica[playerid][1],inputtext,0,strlen(inputtext),255);
  312. SendClientMessage(playerid,white," Recenica No.2 Promijenjena!");
  313. }
  314. }
  315. }
  316. else if(dialogid == DIALOG_ID+4)
  317. {
  318. if(response)
  319. {
  320. if(strlen(inputtext) < 3 || strlen(inputtext) > 35)
  321. {
  322. ShowPlayerDialog(playerid,DIALOG_ID+4,DIALOG_STYLE_INPUT," Promijeni recenicu"," Molimo vas napisite novu recenicu sa više od 3 slova\n i manje od 35 slova:","Promijeni","Odustani");
  323. }
  324. else
  325. {
  326. strmid(pPapagajevarecenica[playerid][2],inputtext,0,strlen(inputtext),255);
  327. SendClientMessage(playerid,white," Recenica No.3 Promijenjena!");
  328. }
  329. }
  330. }
  331. else if(dialogid == DIALOG_ID+5)
  332. {
  333. if(response)
  334. {
  335. if(strlen(inputtext) < 3 || strlen(inputtext) > 35)
  336. {
  337. ShowPlayerDialog(playerid,DIALOG_ID+5,DIALOG_STYLE_INPUT," Promijeni recenicu"," Molimo vas napisite novu recenicu sa više od 3 slova\n i manje od 35 slova:","Promijeni","Odustani");
  338. }
  339. else
  340. {
  341. strmid(pPapagajevarecenica[playerid][3],inputtext,0,strlen(inputtext),255);
  342. SendClientMessage(playerid,white," Recenica No.4 Promijenjena!");
  343. }
  344. }
  345. }
  346. else if(dialogid == DIALOG_ID+6)
  347. {
  348. if(response)
  349. {
  350. if(strlen(inputtext) < 3 || strlen(inputtext) > 35)
  351. {
  352. ShowPlayerDialog(playerid,DIALOG_ID+6,DIALOG_STYLE_INPUT," Promijeni recenicu"," Molimo vas napisite novu recenicu sa više od 3 slova\n i manje od 35 slova:","Promijeni","Odustani");
  353. }
  354. else
  355. {
  356. strmid(pPapagajevarecenica[playerid][4],inputtext,0,strlen(inputtext),255);
  357. SendClientMessage(playerid,white," Recenica No.5 Promijenjena!");
  358. }
  359. }
  360. }
  361. return 1;
  362. }
Advertisement
Add Comment
Please, Sign In to add comment