Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.90 KB | None | 0 0
  1. #include amxmodx
  2. #include amxmisc
  3. #include cstrike
  4. #include fakemeta
  5. #include hamsandwich
  6. //#include sqlx
  7. #include csx
  8. //#include SpecialGeoip
  9.  
  10. #define TASK_PRESENTS 1337
  11. #define TASK_SHOWHUD 2674
  12.  
  13. #define ID_PRESENTS (TaskIndex - TASK_PRESENTS)
  14. #define ID_SHOWHUD (TaskIndex - TASK_SHOWHUD)
  15.  
  16. // Variabile
  17. new credite[33], killuri[33], MesajSync, MesajSync2
  18.  
  19. // Cvaruri
  20. new cvar_bplant, cvar_bexp, cvar_bdef, cvar_crdammount, cvar_bonus, cvar_killneed, cvar_how_much, cvar_donate, cvar_hudenable, cvar_firstkill
  21.  
  22. // Constante
  23. new const cfgfile[] = "fm_credits.cfg"
  24. new const TAG[] = "[Furien.DarkWars.Ro]"
  25. new const logcommand[] = "fmcredits_command.log"
  26. new const logfile[] = "fmcredits_donate.log"
  27. new bool:g_bFirstKillWasMade = false, g_iMaxPlayers
  28.  
  29.  
  30. public plugin_init()
  31. {
  32. register_plugin("Depozit Nou Bani", "2.3beta", "n0talaMa")
  33.  
  34. // Register Commands
  35. register_clcmd("say /retrage", "retrage")
  36. register_clcmd("say /depozit", "depoziteaza")
  37. register_clcmd("say /credite", "credits")
  38. register_clcmd("say /points", "motdcredite");
  39. register_concmd("amx_credits", "cmdGive", ADMIN_IMMUNITY, "<nume sau #userid> [credite]")
  40.  
  41. // Hook Commands
  42. register_clcmd("say", "donare_say")
  43. register_clcmd("say_team", "donare_say")
  44.  
  45. // Register Ham
  46. RegisterHam(Ham_Killed, "player", "player_killed")
  47. register_event("HLTV", "ev_NewRound", "a", "1=0", "2=0")
  48.  
  49. // Register Cvars
  50. cvar_bplant = register_cvar("credits_bplant_reward", "5")
  51. cvar_bexp = register_cvar("credits_bexp_reward", "5")
  52. cvar_bdef = register_cvar("credits_bdef_reward", "5")
  53. cvar_crdammount = register_cvar("credits_event_reward", "3")
  54. cvar_bonus = register_cvar("credits_bonuskills", "25")
  55. cvar_killneed = register_cvar("credits_killsneed", "10")
  56. cvar_how_much = register_cvar("credits_excvalue", "16000")
  57. cvar_donate = register_cvar("credits_donate", "1")
  58. cvar_hudenable = register_cvar("credits_hudstats", "1")
  59. cvar_firstkill = register_cvar("credits_firstkill", "1")
  60.  
  61. // Register Messages
  62. MesajSync = CreateHudSyncObj()
  63. MesajSync2 = CreateHudSyncObj()
  64. g_iMaxPlayers = get_maxplayers()
  65.  
  66. register_message(get_user_msgid("SayText"), "message")
  67. }
  68.  
  69. public plugin_cfg()
  70. {
  71. new cfgdir[32]
  72. get_configsdir(cfgdir, charsmax(cfgdir))
  73.  
  74. server_cmd("exec %s/%s", cfgdir, cfgfile)
  75. }
  76.  
  77. public motdcredite(Client)
  78. show_motd(Client, "http://csoutstanding.com/server/fury/points", "Points Motd");
  79.  
  80. public ev_NewRound() g_bFirstKillWasMade = false;
  81.  
  82.  
  83. public plugin_natives()
  84. {
  85. register_native("fm_get_credits", "get_credits", 1)
  86. register_native("fm_set_credits", "set_credits", 1)
  87. }
  88.  
  89. public client_putinserver(id)
  90. {
  91.  
  92. if (is_user_bot(id) || is_user_hltv(id))
  93. {
  94. credite[id] = killuri[id] = 0;
  95. return -1;
  96. }
  97.  
  98. credite[id] = killuri[id] = 0;
  99. set_task(1.0, "MesajHUD", id+TASK_SHOWHUD, .flags = "b")
  100. set_task(60.0, "da_credite", id+TASK_PRESENTS, .flags = "b")
  101.  
  102. return 1;
  103. }
  104. public client_disconnect(id)
  105. {
  106. remove_task(id+TASK_SHOWHUD);
  107. remove_task(id+TASK_PRESENTS);
  108.  
  109.  
  110. killuri[id] = credite[id] = 0;
  111. }
  112.  
  113.  
  114. public message()
  115. {
  116. new arg[32]
  117. get_msg_arg_string(2, arg, 31)
  118. if(containi(arg,"name")!=-1)
  119. {
  120. return PLUGIN_HANDLED
  121. }
  122. return PLUGIN_CONTINUE
  123. }
  124.  
  125. public client_infochanged(id)
  126. {
  127. new newname[32],oldname[32]
  128. get_user_info(id, "name", newname,31)
  129. get_user_name(id,oldname,31)
  130. if(!is_user_connected(id) || is_user_bot(id)) return PLUGIN_CONTINUE
  131. if(!equali(newname, oldname))
  132. {
  133. set_user_info(id,"name",oldname)
  134. client_print(id , print_console , "[CSOutStanding] Prohibition of nick change!")
  135. return PLUGIN_HANDLED
  136. }
  137. return PLUGIN_CONTINUE
  138. }
  139.  
  140. public bomb_planted(id)
  141. {
  142. new nume[32];
  143. get_user_name(id, nume, 31)
  144. credite[id] += get_pcvar_num(cvar_bplant)
  145. color(0, ".v%s.e %s.g a primit.e %d.g credite pentru plantarea bombei.", TAG, nume, get_pcvar_num(cvar_bplant))
  146. }
  147.  
  148. public bomb_explode(id)
  149. {
  150. new nume[32];
  151. get_user_name(id, nume, 31)
  152. credite[id] += get_pcvar_num(cvar_bexp)
  153. color(0, ".v%s.e %s.g a primit.e %d.g credite pentru ca a explodat bomba.", TAG, nume, get_pcvar_num(cvar_bexp))
  154. }
  155.  
  156. public bomb_defused(id)
  157. {
  158. new nume[32];
  159. get_user_name(id, nume, 31)
  160. credite[id] += get_pcvar_num(cvar_bdef)
  161. color(0, ".v%s.e %s.g a primit.e %d.g credite pentru ca a dezamorsat bomba.", TAG, nume, get_pcvar_num(cvar_bdef))
  162. }
  163.  
  164. public da_credite(TaskIndex)
  165. {
  166. color(ID_PRESENTS, ".v%s.g Ai primit.e %d credite.g pentru ca ai jucat.e 1 .gminut.", TAG, get_pcvar_num(cvar_crdammount))
  167. color(ID_PRESENTS, ".v%s.g Continua sa joci si primesti .e credite .gcontinuu.", TAG)
  168. credite[ID_PRESENTS] += get_pcvar_num(cvar_crdammount)
  169. }
  170.  
  171. public donare_say(id)
  172. {
  173. new citim_mesaj[64]
  174.  
  175. read_args(citim_mesaj, charsmax(citim_mesaj))
  176. remove_quotes(citim_mesaj)
  177.  
  178. new comanda[16]
  179. new nume[32]
  180.  
  181. strbreak(citim_mesaj, comanda, charsmax(comanda), nume, charsmax(nume))
  182. if(equal(comanda, "/donate", 7))
  183. if (get_pcvar_num(cvar_donate))
  184. donate(id, nume)
  185. else
  186. color(id, ".v%s.g Functia de donate este indisponibila.", TAG)
  187. }
  188.  
  189. public donate(id, arg[])
  190. {
  191. new cui[32], count[10]
  192. strbreak(arg, cui, 31, count, 9)
  193.  
  194. if (!(get_user_flags(id) & ADMIN_RESERVATION))
  195. {
  196. color(id, ".v%s.g Comanda poate fi folosita de catre cei cu grad .v slot+", TAG)
  197. return
  198. }
  199.  
  200. if (!cui[0] || !count[0])
  201. {
  202. color(id, ".v%s.g Comanda se foloseste sub forma urmatoare:.e /donate nume credite.g.", TAG)
  203. return
  204. }
  205. new credite_trimise = credite[id]
  206. new credite2
  207. if (equal(count, "all"))
  208. credite2 = credite_trimise
  209. else
  210. credite2 = str_to_num(count)
  211.  
  212. if (credite2 <= 0)
  213. {
  214. color(id, ".v%s.g Valoarea introdusa de tine este invalida.", TAG)
  215. return
  216. }
  217. credite_trimise -= credite2
  218. if (credite_trimise < 0)
  219. {
  220. credite2 += credite_trimise
  221. credite_trimise = 0
  222.  
  223. }
  224. new primitor = cmd_target(id, cui, (CMDTARGET_ALLOW_SELF))
  225. if (!primitor || primitor == id)
  226. {
  227. color(id, ".v%s.g %s.g nu exista pe server.", TAG, cui)
  228. return
  229. }
  230.  
  231. credite[primitor] += credite2
  232. credite[id] = credite_trimise
  233.  
  234. new tNume[32], pNume[32]
  235.  
  236. get_user_name(id, tNume, 31)
  237. get_user_name(primitor, pNume, 31)
  238.  
  239. color(0, ".v%s.g %s.g ii trimite lui.e %s %d.g credite", TAG, tNume, pNume, credite2)
  240. log_to_file(logfile, "Playerul %s ii trimite %d credite lui %s", tNume, credite2, pNume)
  241. }
  242.  
  243. public retrage(id)
  244. {
  245. if(credite[id] > 0)
  246. {
  247. new bani = get_pcvar_num(cvar_how_much);
  248. if(cs_get_user_money(id) >= 16000)
  249. {
  250. color(id, ".v[%s].g Ai deja.e 16000$.g si nu poti retrage.", TAG)
  251. }
  252. else if(cs_get_user_money(id) + bani < 16000)
  253. {
  254. cs_set_user_money(id, cs_get_user_money(id) + bani)
  255. credite[id]--
  256. color(id, ".v[%s].g Ai retras 1 credit, adica.e %d$.g . Acum ai.e %d$.g", TAG, bani, cs_get_user_money(id))
  257. }
  258. else if(cs_get_user_money(id) + bani >= 16000)
  259. {
  260. cs_set_user_money(id, 16000)
  261. credite[id]--
  262. color(id, ".v[%s].g Ai retras 1 credit, adica.e %d$.g. Acum ai.e %d$.g", TAG, bani, cs_get_user_money(id))
  263. }
  264. }
  265. else
  266. {
  267. color(id, ".v[%s].g Nu ai deloc credite.", TAG)
  268. }
  269. return PLUGIN_HANDLED;
  270. }
  271.  
  272. public depoziteaza(id)
  273. {
  274. if(cs_get_user_money(id) >= get_pcvar_num(cvar_how_much))
  275. {
  276. credite[id]++
  277. cs_set_user_money(id, cs_get_user_money(id) - get_pcvar_num(cvar_how_much))
  278. color(id, ".v[%s].g Ai depozitat un credit. Ai.e %d.g credite.", TAG, credite[id])
  279. }
  280. else
  281. {
  282. color(id, ".v[%s].g Iti trebuie %d$ pentru a putea depozita un credit.", TAG, get_pcvar_num(cvar_how_much))
  283. }
  284. return PLUGIN_HANDLED;
  285. }
  286.  
  287. public credits(id)
  288. {
  289. color(id, ".v[%s].g Ai.e %d.g credite.", TAG, credite[id])
  290. return PLUGIN_HANDLED;
  291. }
  292.  
  293. public cmdGive(id, level, cid)
  294. {
  295. if(!cmd_access(id, level, cid, 3))
  296. {
  297. return PLUGIN_HANDLED;
  298. }
  299.  
  300. new arg[32], name[32];
  301. read_argv(1, arg, 31)
  302. get_user_name(id, name, 31)
  303.  
  304. new jucator = cmd_target(id, arg, 31)
  305.  
  306. if(!jucator)
  307. {
  308. return PLUGIN_HANDLED
  309. }
  310.  
  311. if(!is_user_connected(id) || !is_user_connected(jucator))
  312. {
  313. return PLUGIN_HANDLED
  314. }
  315.  
  316. new cant[4], name2[32];
  317. get_user_name(jucator, name2, 31)
  318. read_argv(2, cant, 3)
  319. new creditss = str_to_num(cant)
  320. credite[jucator] += creditss
  321. color(0, ".v%s.g Adminul.e %s.g ii daruie lui.e %s %d.g credite.", TAG, name, name2, creditss)
  322. log_to_file(logcommand, "Adminul %s ii da lui %s %d credite.", name, name2, creditss)
  323. return PLUGIN_HANDLED;
  324. }
  325.  
  326. public get_credits(id)
  327. return is_user_connected(id) ? credite[id] : -1;
  328.  
  329. public set_credits(id, cantitate)
  330. return is_user_connected(id) ? (credite[id] = cantitate) : -1;
  331.  
  332. public player_killed(victima, atacator)
  333. {
  334. if(victima == atacator || !is_user_connected(atacator) || !is_user_connected(victima))
  335. return 1;
  336.  
  337. if(killuri[atacator] > 9)
  338. {
  339. killuri[atacator] = 0
  340. credite[atacator] += get_pcvar_num(cvar_bonus)
  341. color(atacator, ".v%s.g Ai primit.e %d credite.g pentru acumularea a.e 10 ucideri.g. Joaca bine.", TAG, get_pcvar_num(cvar_bonus))
  342. }
  343.  
  344. if (get_pcvar_num(cvar_firstkill))
  345. {
  346. if( ( 1 <= atacator <= g_iMaxPlayers ) && atacator != victima )
  347. {
  348.  
  349. if( cs_get_user_team( atacator ) == CS_TEAM_T && !g_bFirstKillWasMade )
  350. {
  351. g_bFirstKillWasMade = true;
  352. credite[atacator] += 5;
  353.  
  354. static szKillerName[ 32 ], szVictimName[ 32 ];
  355.  
  356. get_user_name( atacator, szKillerName, sizeof ( szKillerName ) -1 );
  357. get_user_name( victima, szVictimName, sizeof ( szVictimName ) -1 );
  358.  
  359. set_hudmessage( 0, 255, 255, -1.0, 0.30, 0, 0.0, 4.5, 0.0, 0.0, -1 );
  360. ShowSyncHudMsg( 0, MesajSync2, "[T] %s made first frag on %s^n and recived 5 credits !", szKillerName, szVictimName );
  361.  
  362. }
  363.  
  364. else if( cs_get_user_team( atacator ) == CS_TEAM_CT && !g_bFirstKillWasMade )
  365. {
  366. g_bFirstKillWasMade = true;
  367. credite[atacator] += 5;
  368.  
  369. static szKillerName[ 32 ], szVictimName[ 32 ];
  370.  
  371. get_user_name( atacator, szKillerName, sizeof ( szKillerName ) -1 );
  372. get_user_name( victima, szVictimName, sizeof ( szVictimName ) -1 );
  373.  
  374. set_hudmessage( 0, 255, 255, -1.0, 0.30, 0, 0.0, 4.5, 0.0, 0.0, -1 );
  375. ShowSyncHudMsg( 0, MesajSync2, "[CT] %s made first frag on %s^n and recived 5 credits !", szKillerName, szVictimName );
  376. }
  377.  
  378. }
  379. }
  380. killuri[atacator]++
  381. return 1;
  382. }
  383.  
  384. public MesajHUD(TaskIndex)
  385. {
  386. static id
  387. id = ID_SHOWHUD;
  388.  
  389. if (!is_user_alive(id))
  390. {
  391. id = pev(id, pev_iuser2)
  392.  
  393. if(!is_user_alive(id)) return;
  394. }
  395.  
  396. if (get_pcvar_num(cvar_hudenable))
  397. {
  398. if(id != ID_SHOWHUD)
  399. {
  400. new nume[32], szcountry[128], szcity[128];
  401. get_user_name(id, nume, 31)
  402. //GetClientGeoData(id, CountryName, szcountry, 127)
  403. //GetClientGeoData(id, City, szcity, 127)
  404. set_hudmessage(0, 100, 250, -1.0, 0.85, 0, 6.0, 1.1, 0.0, 0.0, -1)
  405. ShowSyncHudMsg(ID_SHOWHUD, MesajSync, "Spectating %s^nHP: %d - Credits: %d - Kill for bonus: [%d/%d]^nFrom: %s , %s", nume, pev(id, pev_health), credite[id], killuri[id], get_pcvar_num(cvar_killneed), szcountry, szcity)
  406. }
  407. else
  408. {
  409. set_hudmessage(0, 100, 250, 0.01, 0.92, 0, 6.0, 1.1, 0.0, 0.0, -1)
  410. ShowSyncHudMsg(ID_SHOWHUD, MesajSync, "HP: %d | Credits: %d | Kill for bonus: [%d/%d]", pev(ID_SHOWHUD, pev_health), credite[ID_SHOWHUD], killuri[ID_SHOWHUD], get_pcvar_num(cvar_killneed))
  411. }
  412. }
  413. }
  414.  
  415. color(const id, const input[], any:...)
  416. {
  417. new count = 1, players[32]
  418. static msg[191]
  419. vformat(msg, 190, input, 3)
  420.  
  421. replace_all(msg, 190, ".v", "^4")
  422. replace_all(msg, 190, ".g", "^1")
  423. replace_all(msg, 190, ".e", "^3")
  424.  
  425. if (id) players[0] = id; else get_players(players, count, "ch")
  426. {
  427. for (new i = 0; i < count; i++)
  428. {
  429. if (is_user_connected(players[i]))
  430. {
  431. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  432. write_byte(players[i]);
  433. write_string(msg);
  434. message_end();
  435. }
  436. }
  437. }
  438. }
  439. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  440. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
  441. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement