Member
|
01-26-2014
, 14:13
Kill Required instead of XP required
|
#1
|
Hello once again,
I am asking a bit much but i hope anyone will be able to help me.
This mod now requires 150xp per level, i want it so it requires 3 kills per level.
Something like as in the Gungame mod.
This is the code.
PHP Code:
#include <amxmodx> #include <amxmisc> #include <nvault> #include <colorchat> #include <cstrike> #include <fun> #include <hamsandwich> #include <fakemeta>
new Level[33], eXP[33] new KillXp, HsXp, HeXp, KnifeXp new gVault
new const VIP[] = "b" new const szPrefix[] = "[^4XP^3] -"
#define MaxLevels 506 #define IsPlayer(%1) ( 1 <= %1 <= g_iMaxPlayers ) #define TASK_SHOW_HUD 10113
new g_msgHudSync new bool:is_user_ignored[ 33 ]
new const Levels[MaxLevels] = { 150, // 1 300, 450, 600, 750, 900, 1050, 1200, 1350, 1500, 1650, 1800, 1950, 2100, 2250, //15 2400, 2550, 2700, 2850, 3000, //20 3150, 3300, 3450, 3600, 3750, 3900, 4050, 4200, 4350, 4500, //30 4650, 4800, 4950, 5100, 5250, 5400, 5550, 5700, 5850, 6000, //40 6150, 6300, 6450, 6600, 6750, 6900, 7050, 7200, 7350, 7500,//50 7650, 7800, 7950, 8100, 8250, 8400, 8550, 8700, 8850, 9000,//60 9150, 9300, 9450, 9600, 9750, 9900, 10050, 10200, 10350, 10500,//70 10650, 10800, 10950, 11100, 11250, 11400, 11550, 11700, 11850, 12000,//80 12150, 12300, 12450, 12600, 12750, 12900, 13050, 13200, 13350, 13500,//90 13650, 13800, 13950, 14100, 14250, 14400, 14550, 14700, 14850, 15000, //100 15150, 15300, 15450, 15600, 15750, 15900, 15050, 15200, 15350, 15500,//110 15650, 15800, 15950, 16050, 16200, 16350, 16500, 16750, 16900, 17050, 17200, 17350, 17500, 17650, 17800, 17950,//126 18050, 18200, 18350, 18500, 18750, 18900, 19050, 19200, 19350, 19500, 19650, 19800, 19950, 20050, 20200, 20350, 20500, 20650,//150 20800, 20950, 21050, 21200, 21350, 21500, 21650, 21800, 21950, 22050, 22200, 22350, 22500, 22650, 22800, 22950, 23050, 23200, 23350, 23500,//170 23750, 23900, 24050, 24200, 24350, 24500, 24650, 24800, 24950, 25100,//180 25350, 25500, 25750, 25900, 26050, 26200, 26350, 26500, 26650, 26800, 26950, 27050, 27200, 27350, 27500, 27650, 27800, 27950, 28100, 28250,//200 28400, 28550, 28700, 28850, 29000, 29150, 29300, 29450, 29600, 29750, 29900, 30050, 30200, 30350, 30500, 30650, 30800, 30950, 31100, 31250, 31400, 31550, 31700, 31850, 32000, 32150, 32300, 32450, 32600, 32750, 32900, 33050, 33200, 33350, 33500, 33650, 33800, 33950, 34100, 34250,//240 34400, 34550, 34700, 34850, 35000, 35150, 35300, 35450, 35600, 35750,//250 35900, 36050, 36200, 36350, 36500, 36650, 36800, 36950, 36050, 36200, 36350, 36500, 36650, 36800, 36950, 37100, 37250, 37400, 37550, 37700, 37850, 38000, 38150, 38300, 38450, 38600, 38750, 38900, 39050, 39200, 39350, 39500, 39650, 39800, 39950, 40100, 40250, 40400, 40650, 40800,//290 40950,//291 41100, 41250, 41400, 41550, 41700, 41850, 42000, 42150, 42300, 42450,//301 42600, 42750, 42900, 43050, 43200, 43350, 43500, 43650, 43800, 43950, 44100, 44250, 44400, 44550, 44700, 44850, 45000, 45150, 45300, 45450, 45600, 45750, 45900, 46050, 46200, 46350, 46500, 46650, 46800, 46950, 47100, 47250, 47400, 47550, 47700, 47850, 48000, 48150, 48300, 48450, 48600, 48750, 48900, 49050, 49200, 49350, 49500, 49650, 49800, 49950, 50100, 50250, 50400, 50550, 50750, 50900, 51050, 51200, 51350, 51500, 51650, 51800, 51950, 52100, 52250, 52400, 52550, 52700, 52850, 53000, 53150, 53300, 53450, 53600, 53750, 53900, 54050, 54200, 54350, 54500, 54650, 54800, 54950, 55100, 55250, 55400, 55650, 55800, 55950, 56100, 56250, 56400, 56550, 56700, 56850, 57000, 57150, 57300, 57450, 57600,//401 57750, 57900, 58050, 58200, 58350, 58500, 58650, 58800, 58950, 59100, 59250, 59400, 59550, 59700, 59850, 60000, 60150, 60300, 60450, 60600, 60750, 61900, 62050, 62200, 62350, 62500, 62650, 62800, 62950, 63100, 63250, 63400, 63550, 63700, 63850, 64000, 64150, 64300, 64450, 64600, 64750, 64900, 65050, 65200, 65350, 65500, 65650, 65800, 65950, 66100, 66250, 66400, 66550, 66700, 66850, 67000, 67150, 67300, 67450, 67600, 67750, 67900, 68050, 68200, 68350, 68500, 68650, 68800, 68950, 69100, 69250, 69400, 69550, 69700, 69850, 70000, 70150, 70300, 70450, 70600, 70750, 70900, 71050, 71200, 71350, 71500, 71650, 71800, 71950, 72100, 72250, 72400, 72550, 72700, 72850, 73000, 73150, 73300, 73450, 73600, 73750, 73900, 74050, 74200, 74350, 74500, 74650, 74800, 74950, 75100, 250000 }
new const Prefix[MaxLevels +1][] = { "Lvl 0", // 0 "Lvl 1", // 1 "Lvl 2", // 2 "Lvl 3", // 3 "Lvl 4", // 4 "Lvl 5", // 5 "Lvl 6", // 6 "Lvl 7", // 7 "Lvl 8", // 8 "Lvl 9", // 9 "Lvl 10", // 10 "Lvl 11", // 11 "Lvl 12", // 12 "Lvl 13", // 0 "Lvl 14", // 1 "Lvl 14", // 2 "Lvl 15", // 3 "Lvl 16", // 4 "Lvl 17", // 5 "Lvl 18", // 6 "Lvl 19", // 7 "Lvl 20", // 8 "Lvl 21", // 9 "Lvl 22", // 10 "Lvl 23", // 11 "Lvl 24", // 12 "Lvl 25", // 1 "Lvl 26", // 2 "Lvl 27", // 3 "Lvl 28", // 4 "Lvl 29", // 5 "Lvl 30", // 6 "Lvl 31", // 7 "Lvl 32", // 8 "Lvl 33", // 9 "Lvl 34", // 10 "Lvl 35", // 11 "Lvl 36", // 12 "Lvl 37", // 0 "Lvl 38", // 1 "Lvl 39", // 2 "Lvl 40", // 3 "Lvl 41", // 4 "Lvl 42", // 5 "Lvl 43", // 6 "Lvl 44", // 7 "Lvl 45", // 8 "Lvl 46", // 9 "Lvl 47", // 10 "Lvl 48", // 11 "Lvl 49", // 12 "Lvl 50", //50 "Lvl 51", // 1 "Lvl 52", // 2 "Lvl 53", // 3 "Lvl 54", // 4 "Lvl 55", // 5 "Lvl 56", // 6 "Lvl 57", // 7 "Lvl 58", // 8 "Lvl 59", // 9 "Lvl 60", // 10 "Lvl 61", // 11 "Lvl 62", // 12 "Lvl 63", // 0 "Lvl 64", // 1 "Lvl 65", // 3 "Lvl 66", // 4 "Lvl 67", // 5 "Lvl 68", // 6 "Lvl 69", // 7 "Lvl 70", // 8 "Lvl 71", // 9 "Lvl 72", // 10 "Lvl 73", // 11 "Lvl 74", // 12 "Lvl 75", // 1 "Lvl 76", // 2 "Lvl 77", // 3 "Lvl 78", // 4 "Lvl 79", // 5 "Lvl 80", // 6 "Lvl 81", // 7 "Lvl 82", // 8 "Lvl 83", // 9 "Lvl 84", // 10 "Lvl 85", // 11 "Lvl 86", // 12 "Lvl 87", // 0 "Lvl 88", // 1 "Lvl 89", // 2 "Lvl 90", // 3 "Lvl 91", // 4 "Lvl 92", // 5 "Lvl 93", // 6 "Lvl 94", // 7 "Lvl 95", // 8 "Lvl 96", // 9 "Lvl 97", // 10 "Lvl 98", // 11 "Lvl 99", // 12 "Lvl 100", //50 "Lvl 101", // 1 "Lvl 102", // 2 "Lvl 103", // 3 "Lvl 104", // 4 "Lvl 105", // 5 "Lvl 106", // 6 "Lvl 107", // 7 "Lvl 108", // 8 "Lvl 109", // 9 "Lvl 110", // 10 "Lvl 111", // 11 "Lvl 112", // 12 "Lvl 113", // 0 "Lvl 114", // 1 "Lvl 114", // 2 "Lvl 115", // 3 "Lvl 116", // 4 "Lvl 117", // 5 "Lvl 118", // 6 "Lvl 119", // 7 "Lvl 120", // 8 "Lvl 121", // 9 "Lvl 122", // 10 "Lvl 123", // 11 "Lvl 124", // 12 "Lvl 125", // 1 "Lvl 126", // 2 "Lvl 127", // 3 "Lvl 128", // 4 "Lvl 129", // 5 "Lvl 130", // 6 "Lvl 131", // 7 "Lvl 132", // 8 "Lvl 133", // 9 "Lvl 134", // 10 "Lvl 135", // 11 "Lvl 136", // 12 "Lvl 137", // 0 "Lvl 138", // 1 "Lvl 139", // 2 "Lvl 140", // 3 "Lvl 141", // 4 "Lvl 142", // 5 "Lvl 143", // 6 "Lvl 144", // 7 "Lvl 145", // 8 "Lvl 146", // 9 "Lvl 147", // 10 "Lvl 148", // 11 "Lvl 149", // 12 "Lvl 150", //50 "Lvl 151", // 1 "Lvl 152", // 2 "Lvl 153", // 3 "Lvl 154", // 4 "Lvl 155", // 5 "Lvl 156", // 6 "Lvl 157", // 7 "Lvl 158", // 8 "Lvl 159", // 9 "Lvl 160", // 10 "Lvl 161", // 11 "Lvl 162", // 12 "Lvl 163", // 0 "Lvl 164", // 1 "Lvl 165", // 3 "Lvl 166", // 4 "Lvl 167", // 5 "Lvl 168", // 6 "Lvl 169", // 7 "Lvl 170", // 8 "Lvl 171", // 9 "Lvl 172", // 10 "Lvl 173", // 11 "Lvl 174", // 12 "Lvl 175", // 1 "Lvl 176", // 2 "Lvl 177", // 3 "Lvl 178", // 4 "Lvl 179", // 5 "Lvl 180", // 6 "Lvl 181", // 7 "Lvl 182", // 8 "Lvl 183", // 9 "Lvl 184", // 10 "Lvl 185", // 11 "Lvl 186", // 12 "Lvl 187", // 0 "Lvl 188", // 1 "Lvl 189", // 2 "Lvl 190", // 3 "Lvl 191", // 4 "Lvl 192", // 5 "Lvl 193", // 6 "Lvl 194", // 7 "Lvl 195", // 8 "Lvl 196", // 9 "Lvl 197", // 10 "Lvl 198", // 11 "Lvl 199", // 12 "Lvl 200", //50 "Lvl 201", // 1 "Lvl 202", // 2 "Lvl 203", // 3 "Lvl 204", // 4 "Lvl 205", // 5 "Lvl 206", // 6 "Lvl 207", // 7 "Lvl 208", // 8 "Lvl 209", // 9 "Lvl 210", // 10 "Lvl 211", // 11 "Lvl 212", // 12 "Lvl 213", // 0 "Lvl 214", // 1 "Lvl 214", // 2 "Lvl 215", // 3 "Lvl 216", // 4 "Lvl 217", // 5 "Lvl 218", // 6 "Lvl 219", // 7 "Lvl 220", // 8 "Lvl 221", // 9 "Lvl 222", // 10 "Lvl 223", // 11 "Lvl 224", // 12 "Lvl 225", // 1 "Lvl 226", // 2 "Lvl 227", // 3 "Lvl 228", // 4 "Lvl 229", // 5 "Lvl 230", // 6 "Lvl 231", // 7 "Lvl 232", // 8 "Lvl 233", // 9 "Lvl 234", // 10 "Lvl 235", // 11 "Lvl 236", // 12 "Lvl 237", // 0 "Lvl 238", // 1 "Lvl 239", // 2 "Lvl 240", // 3 "Lvl 241", // 4 "Lvl 242", // 5 "Lvl 243", // 6 "Lvl 244", // 7 "Lvl 245", // 8 "Lvl 246", // 9 "Lvl 247", // 10 "Lvl 248", // 11 "Lvl 249", // 12 "Lvl 250", //50 "Lvl 251", // 1 "Lvl 252", // 2 "Lvl 253", // 3 "Lvl 254", // 4 "Lvl 255", // 5 "Lvl 256", // 6 "Lvl 257", // 7 "Lvl 258", // 8 "Lvl 259", // 9 "Lvl 260", // 10 "Lvl 261", // 11 "Lvl 262", // 12 "Lvl 263", // 0 "Lvl 264", // 1 "Lvl 265", // 3 "Lvl 266", // 4 "Lvl 267", // 5 "Lvl 268", // 6 "Lvl 269", // 7 "Lvl 270", // 8 "Lvl 271", // 9 "Lvl 272", // 10 "Lvl 273", // 11 "Lvl 274", // 12 "Lvl 275", // 1 "Lvl 276", // 2 "Lvl 277", // 3 "Lvl 278", // 4 "Lvl 279", // 5 "Lvl 280", // 6 "Lvl 281", // 7 "Lvl 282", // 8 "Lvl 283", // 9 "Lvl 284", // 10 "Lvl 285", // 11 "Lvl 286", // 12 "Lvl 287", // 0 "Lvl 288", // 1 "Lvl 289", // 2 "Lvl 290", // 3 "Lvl 291", // 4 "Lvl 292", // 5 "Lvl 293", // 6 "Lvl 294", // 7 "Lvl 295", // 8 "Lvl 296", // 9 "Lvl 297", // 10 "Lvl 298", // 11 "Lvl 299", // 12 "Lvl 300", //50 "Lvl 301", // 1 "Lvl 302", // 2 "Lvl 303", // 3 "Lvl 304", // 4 "Lvl 305", // 5 "Lvl 306", // 6 "Lvl 307", // 7 "Lvl 308", // 8 "Lvl 309", // 9 "Lvl 310", // 10 "Lvl 311", // 11 "Lvl 312", // 12 "Lvl 313", // 0 "Lvl 314", // 1 "Lvl 314", // 2 "Lvl 315", // 3 "Lvl 316", // 4 "Lvl 317", // 5 "Lvl 318", // 6 "Lvl 319", // 7 "Lvl 320", // 8 "Lvl 321", // 9 "Lvl 322", // 10 "Lvl 323", // 11 "Lvl 324", // 12 "Lvl 325", // 1 "Lvl 326", // 2 "Lvl 327", // 3 "Lvl 328", // 4 "Lvl 329", // 5 "Lvl 330", // 6 "Lvl 331", // 7 "Lvl 332", // 8 "Lvl 333", // 9 "Lvl 334", // 10 "Lvl 335", // 11 "Lvl 336", // 12 "Lvl 337", // 0 "Lvl 338", // 1 "Lvl 339", // 2 "Lvl 340", // 3 "Lvl 341", // 4 "Lvl 342", // 5 "Lvl 343", // 6 "Lvl 344", // 7 "Lvl 345", // 8 "Lvl 346", // 9 "Lvl 347", // 10 "Lvl 348", // 11 "Lvl 349", // 12 "Lvl 350", //50 "Lvl 351", // 1 "Lvl 352", // 2 "Lvl 353", // 3 "Lvl 354", // 4 "Lvl 355", // 5 "Lvl 356", // 6 "Lvl 357", // 7 "Lvl 358", // 8 "Lvl 359", // 9 "Lvl 360", // 10 "Lvl 361", // 11 "Lvl 362", // 12 "Lvl 363", // 0 "Lvl 364", // 1 "Lvl 365", // 3 "Lvl 366", // 4 "Lvl 367", // 5 "Lvl 368", // 6 "Lvl 369", // 7 "Lvl 370", // 8 "Lvl 371", // 9 "Lvl 372", // 10 "Lvl 373", // 11 "Lvl 374", // 12 "Lvl 375", // 1 "Lvl 376", // 2 "Lvl 377", // 3 "Lvl 378", // 4 "Lvl 379", // 5 "Lvl 380", // 6 "Lvl 381", // 7 "Lvl 382", // 8 "Lvl 383", // 9 "Lvl 384", // 10 "Lvl 385", // 11 "Lvl 386", // 12 "Lvl 387", // 0 "Lvl 388", // 1 "Lvl 389", // 2 "Lvl 390", // 3 "Lvl 391", // 4 "Lvl 392", // 5 "Lvl 393", // 6 "Lvl 394", // 7 "Lvl 395", // 8 "Lvl 396", // 9 "Lvl 397", // 10 "Lvl 398", // 11 "Lvl 399", // 12 "Lvl 400", //50 "Lvl 401", // 1 "Lvl 402", // 2 "Lvl 403", // 3 "Lvl 404", // 4 "Lvl 405", // 5 "Lvl 406", // 6 "Lvl 407", // 7 "Lvl 408", // 8 "Lvl 409", // 9 "Lvl 410", // 10 "Lvl 411", // 11 "Lvl 412", // 12 "Lvl 413", // 0 "Lvl 414", // 1 "Lvl 414", // 2 "Lvl 415", // 3 "Lvl 416", // 4 "Lvl 417", // 5 "Lvl 418", // 6 "Lvl 419", // 7 "Lvl 420", // 8 "Lvl 421", // 9 "Lvl 422", // 10 "Lvl 423", // 11 "Lvl 424", // 12 "Lvl 425", // 1 "Lvl 426", // 2 "Lvl 427", // 3 "Lvl 428", // 4 "Lvl 429", // 5 "Lvl 430", // 6 "Lvl 431", // 7 "Lvl 432", // 8 "Lvl 433", // 9 "Lvl 434", // 10 "Lvl 435", // 11 "Lvl 436", // 12 "Lvl 437", // 0 "Lvl 438", // 1 "Lvl 439", // 2 "Lvl 440", // 3 "Lvl 441", // 4 "Lvl 442", // 5 "Lvl 443", // 6 "Lvl 444", // 7 "Lvl 445", // 8 "Lvl 446", // 9 "Lvl 447", // 10 "Lvl 448", // 11 "Lvl 449", // 12 "Lvl 450", //50 "Lvl 451", // 1 "Lvl 452", // 2 "Lvl 453", // 3 "Lvl 454", // 4 "Lvl 455", // 5 "Lvl 456", // 6 "Lvl 457", // 7 "Lvl 458", // 8 "Lvl 459", // 9 "Lvl 460", // 10 "Lvl 461", // 11 "Lvl 462", // 12 "Lvl 463", // 0 "Lvl 464", // 1 "Lvl 465", // 3 "Lvl 466", // 4 "Lvl 467", // 5 "Lvl 468", // 6 "Lvl 469", // 7 "Lvl 470", // 8 "Lvl 471", // 9 "Lvl 472", // 10 "Lvl 473", // 11 "Lvl 474", // 12 "Lvl 475", // 1 "Lvl 476", // 2 "Lvl 477", // 3 "Lvl 478", // 4 "Lvl 479", // 5 "Lvl 480", // 6 "Lvl 481", // 7 "Lvl 482", // 8 "Lvl 483", // 9 "Lvl 484", // 10 "Lvl 485", // 11 "Lvl 486", // 12 "Lvl 487", // 0 "Lvl 488", // 1 "Lvl 489", // 2 "Lvl 490", // 3 "Lvl 491", // 4 "Lvl 492", // 5 "Lvl 493", // 6 "Lvl 494", // 7 "Lvl 495", // 8 "Lvl 496", // 9 "Lvl 497", // 10 "Lvl 498", // 11 "Lvl 499", // 12 "Lvl 500", //50 "MAX" }
// Bonus Stuff
new g_iMaxPlayers
// ADMIN CHAT COLORS by ConnorMcLeod enum _:ADMIN_DATAS { m_szName[32], m_iFlag }
new const AdminsDatas[][ADMIN_DATAS] = { {"Owner", ADMIN_IMMUNITY}, {"Manager", ADMIN_BAN}, // {"SuperAdmin", ADMIN_CFG}, {"Admin", ADMIN_KICK}, {"VIP", ADMIN_RESERVATION} };
public plugin_init() { register_plugin("TestLevel", "1.0.0", "Jeroen")
RegisterHam( Ham_Spawn, "player", "HamSpawnEvent", 1 )
register_message(get_user_msgid("SayText"),"Message_SayText"); // CREDITS TO ConnorMcLeod
RegisterHam ( Ham_Spawn, "player", "Ham_CheckOthers_Bonus", 1); RegisterHam ( Ham_TakeDamage, "player", "Ham_CheckDamage_Bonus", .Post = false ); RegisterHam ( Ham_Item_PreFrame, "player", "Ham_CheckSpeed_Bonus", 1);
g_iMaxPlayers = get_maxplayers( );
register_cvar( "AdminChatColors_On", "1" ); // Admin Tag - Example: [Admin] Freestyle register_cvar( "XP_Reward_MSG", "1" ); // Message of the XP Gain
// CHAT COMMANDS // register_clcmd ( "say /xp", "ShowPlayerXP") register_clcmd ( "say_team /xp", "ShowPlayerXP") register_clcmd ( "say /level", "ShowPlayerLevel") register_clcmd ( "say_team /level", "ShowPlayerLevel")
// XP SYSTEM // KillXp = register_cvar("drxp_per_kill", "50") HsXp = register_cvar("drxp_per_hs", "75") HeXp = register_cvar("drxp_per_nade_kill", "60") KnifeXp = register_cvar("drxp_per_knife_kill", "100")
// Give & Remove XP // register_concmd ( "give_xp", "CmdAddXP", ADMIN_RCON, "<nick, #userid, authid | @all> <xp>" ) register_concmd ( "remove_xp", "CmdRemoveXP", ADMIN_RCON, "<nick, #userid, authid | @all> <xp>" )
/* Bonus Stuff */
// Health Per Level //
g_msgHudSync = CreateHudSyncObj() }
public plugin_cfg( ) { gVault = nvault_open( "TAG_LVLS" )
if ( gVault == INVALID_HANDLE ) set_fail_state( "Error opening nVault" ); }
/* INFO ABOUT PERSONAL XP/LEVEL */ public ShowPlayerXP(id) { ColorChat(id, GREY, "%s You have ^4%i^3 XP and you are: ^4%s^3!", szPrefix, eXP[id], Prefix[Level[id]]) }
public ShowPlayerLevel(id) { new name[32] get_user_name(id, name, sizeof(name) -1)
ColorChat(id, GREY, "%s You are Level ^4%s^3 with ^4%i^3XP!", szPrefix, Prefix[Level[id]], eXP[id]) }
public Ham_CheckDamage_Bonus( pevVictim, pevInflictor, pevAttacker, Float:flDamage, iDmgBits ) { if( !( 1 <= pevAttacker <= g_iMaxPlayers) ) { return HAM_HANDLED; }
if( !is_user_alive( pevAttacker ) ) { return HAM_HANDLED; }
return HAM_IGNORED; }
/* Speed Check */ public Ham_CheckSpeed_Bonus( id ) { if( !is_user_alive( id ) || cs_get_user_team( id ) != CS_TEAM_T ) { return HAM_IGNORED; }
return HAM_IGNORED; }
/* HP & AP & Gravity Check */ public Ham_CheckOthers_Bonus(id) {
// HP Check
// AP Check
// Gravity
remove_task( TASK_SHOW_HUD + id );
set_task(0.1, "ShowHud", TASK_SHOW_HUD + id)
return HAM_IGNORED; }
/* Respected Player Join / Leave Stuff */
public LvL_500_PlayerJoin(id) { new name[32] get_user_name(id, name, sizeof(name) -1)
ColorChat(0, GREY, "%s ^4Respected Player : ^1%s^4 has joined with ^1%i^4 XP!", szPrefix, name, eXP[id]) }
public LvL_500_PlayerRemove(id) { new name[32] get_user_name(id, name, sizeof(name) -1)
ColorChat(0, GREY, "%s ^4Respected Player : %s has left with %i XP!", szPrefix, name, eXP[id]) }
public plugin_end( ) nvault_close( gVault )
public client_putinserver(id) { LoadData(id) set_task( 3.0, "ShowHud", id, .flags = "b" );
if(Level[id] == 500) { set_task(5.0, "LvL_500_PlayerJoin", id) } }
public client_disconnect(id) { SaveData(id)
if(Level[id] == 500) { set_task(1.0, "LvL_500_PlayerRemove", id) } }
/* XP REWARDS */ public client_death( iKiller, iVictim, wpnindex, hitplace ) { new vname[32] new kname[32]
get_user_name( iKiller, kname, charsmax( kname ) ) get_user_name( iVictim, vname, charsmax( vname ) )
if( is_user_ignored[ iKiller ] ) return PLUGIN_HANDLED_MAIN
get_user_name( iKiller, kname, charsmax( kname ) ) get_user_name( iVictim, vname, charsmax( vname ) )
if( iKiller != iVictim && ( 1 <= iKiller <= g_iMaxPlayers ) && ( 1 <= iVictim <= g_iMaxPlayers ) && !( hitplace == HIT_HEAD ) && !( wpnindex == CSW_HEGRENADE ) ) { eXP[iKiller] += get_pcvar_num(KillXp) if( get_cvar_num("XP_Reward_MSG") == 1 ) { ColorChat ( iKiller, GREY, "%s You got^4 %i^3 XP for killing^4 %s^3", szPrefix, get_pcvar_num(KillXp), vname ) } }
if( hitplace == HIT_HEAD ) { eXP[iKiller] += get_pcvar_num(HsXp) if( get_cvar_num("XP_Reward_MSG") == 1 ) { ColorChat ( iKiller, GREY, "%s You got ^4%i^3 XP for killing ^4%s^3 with a ^4HeadShot", szPrefix, get_pcvar_num (HsXp), vname ) } }
if( wpnindex == CSW_HEGRENADE && iKiller != iVictim ) { eXP[iKiller] += get_pcvar_num(HeXp) if( get_cvar_num("XP_Reward_MSG") == 1 ) { ColorChat( iKiller, GREEN, "%s^1 You got^4 %i^3 XP for killing^4 %s^3 with a ^4Grenade", szPrefix, get_pcvar_num (HeXp), vname ) } }
if( wpnindex == CSW_KNIFE && iKiller != iVictim ) { eXP[iKiller] += get_pcvar_num(KnifeXp) if( get_cvar_num("XP_Reward_MSG") == 1 ) { ColorChat( iKiller, GREEN, "%s^1 You got^4 %i^3 XP for killing^4 %s^3 with a ^4Knife", szPrefix, get_pcvar_num (KnifeXp), vname ) } }
CheckLevel(iKiller) SaveData(iKiller)
return PLUGIN_CONTINUE }
public CheckLevel(id) { if(Level[id] < MaxLevels-1) { while(eXP[id] >= Levels[Level[id]]) { Level[id] += 1 ColorChat(id, GREY, "%s Congratulations, you've leveled up! You are now level : ^4%i^3", szPrefix, Level[id]) } } }
/* HUD PERMANENT INFO */ public ShowHud(task) { new id = task - TASK_SHOW_HUD
if(!is_user_alive(id)) return;
set_hudmessage(255, 255, 0, -1.0, 0.85, 0, 6.0, 12.0) ShowSyncHudMsg (id, g_msgHudSync,"[%s] - [XP : %i / %i ]", Prefix[Level[id]], eXP[id], Levels[Level[id]]) set_task(0.1, "ShowHud", TASK_SHOW_HUD + id) }
/* nVault Stuff */ public SaveData(id) { new AuthID[35] get_user_authid(id,AuthID,34) new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s-Mod",AuthID) format(vaultdata,255,"%i#%i#",eXP[id],Level[id]) nvault_set(gVault,vaultkey,vaultdata) return PLUGIN_CONTINUE } public LoadData(id) { new AuthID[35] get_user_authid(id,AuthID,34) new vaultkey[64],vaultdata[256] format(vaultkey,63,"%s-Mod",AuthID) format(vaultdata,255,"%i#%i#",eXP[id],Level[id]) nvault_get(gVault,vaultkey,vaultdata,255) replace_all(vaultdata, 255, "#", " ") new playerxp[32], playerlevel[32] parse(vaultdata, playerxp, 31, playerlevel, 31) eXP[id] = str_to_num(playerxp) Level[id] = str_to_num(playerlevel) return PLUGIN_CONTINUE }
/* Remove And Add XP */ public CmdAddXP ( iPlayer, level, cid ) { if( !cmd_access( iPlayer, level, cid, 3 ) ) return PLUGIN_HANDLED; new arg [ 32 ] read_argv ( 1, arg, 31 ) new AddXP [ 32 ] read_argv ( 2, AddXP, charsmax ( AddXP ) ) new XPtoGive = str_to_num ( AddXP ) new AdminName [ 32 ] new TargetName [ 32 ] get_user_name ( iPlayer, AdminName, charsmax ( AdminName ) ) if( arg[0]=='@' ) { if( equali(arg[1],"All") || equali(arg[1],"ALL") ) { new players[32], totalplayers, All get_players( players, totalplayers ) for ( new i = 0; i < totalplayers; i++ ) { All = players[ i ] eXP[ All ] += XPtoGive } CheckLevel( All ) ColorChat ( 0, GREY, "%s ^1%s^3 give^1 %i^3 XP to all ^1 players^3!", szPrefix, AdminName, XPtoGive ) } else if( equali(arg[1],"T") || equali(arg[1],"t") ) { new players[32], totalplayers, T get_players( players, totalplayers ) for ( new i = 0; i < totalplayers; i++ ) { if ( get_user_team(players[ i ]) == 1 ) { T = players[ i ] eXP[ T ] += XPtoGive } } CheckLevel( T ) ColorChat ( 0, GREY, "%s ^1%s^3 give^1 %i^3 XP to all ^1 Terrorists^3!", szPrefix, AdminName, XPtoGive ) } else if( equali(arg[1],"CT") || equali(arg[1],"ct") ) { new players[32], totalplayers, CT get_players( players, totalplayers ) for( new i = 0; i < totalplayers; i++ ) { if( get_user_team(players[ i ] ) == 2 ) { CT = players[ i ] eXP[ CT ] += XPtoGive } } CheckLevel( CT ) ColorChat ( 0, GREY, "%s ^1%s^3 give^1 %i^3 XP to all ^1 Counter-Terrorists^3!", szPrefix, AdminName, XPtoGive ) } } else { new iTarget = cmd_target( iPlayer, arg, 3 ) get_user_name ( iTarget, TargetName, charsmax ( TargetName ) ) if( iTarget ) { eXP[ iTarget ] += XPtoGive CheckLevel( iTarget ) ColorChat ( 0, GREY, "%s ^1%s^3 give^1 %i^3 XP to^1 %s^3", szPrefix, AdminName, XPtoGive, TargetName ) } } return PLUGIN_HANDLED }
public CmdRemoveXP ( iPlayer, level, cid ) { if( !cmd_access(iPlayer, level, cid, 3) ) return PLUGIN_HANDLED; new arg [ 32 ] read_argv ( 1, arg, 31 ) new RemoveXP [ 32 ] read_argv ( 2, RemoveXP, charsmax ( RemoveXP ) ) new XPtoRemove = str_to_num ( RemoveXP ) new AdminName [ 32 ] new TargetName [ 32 ] get_user_name ( iPlayer, AdminName, charsmax ( AdminName ) ) if( arg[0]=='@' ) { if( equali(arg[1],"All") || equali(arg[1],"ALL") ) { new players[32], totalplayers, All get_players( players, totalplayers ) for ( new i = 0; i < totalplayers; i++ ) { All = players[ i ] eXP[ All ] -= XPtoRemove } CheckLevel( All ) ColorChat ( 0, GREY, "%s ^1%s^3 toke^1 %i^3 XP of all ^1 players^3!", szPrefix, AdminName, XPtoRemove ) } else if( equali(arg[1],"T") || equali(arg[1],"t") ) { new players[32], totalplayers, T get_players( players, totalplayers ) for ( new i = 0; i < totalplayers; i++ ) { if ( get_user_team(players[ i ]) == 1 ) { T = players[ i ] eXP[ T ] -= XPtoRemove } } CheckLevel( T ) ColorChat ( 0, GREY, "%s ^1%s^3 toke^1 %i^3 XP of all ^1 Terrorists^3!", szPrefix, AdminName, XPtoRemove ) } else if( equali(arg[1],"CT") || equali(arg[1],"ct") ) { new players[32], totalplayers, CT get_players( players, totalplayers ) for( new i = 0; i < totalplayers; i++ ) { if( get_user_team(players[ i ] ) == 2 ) { CT = players[ i ] eXP[ CT ] -= XPtoRemove } } CheckLevel( CT ) ColorChat ( 0, GREY, "%s ^1%s^3 toke^1 %i^3 XP of all ^1 Counter-Terrorists^3!", szPrefix, AdminName, XPtoRemove ) } } else { new iTarget = cmd_target( iPlayer, arg, 3 ) get_user_name ( iTarget, TargetName, charsmax ( TargetName ) ) if( !iTarget ) return PLUGIN_HANDLED eXP[ iTarget ] -= XPtoRemove CheckLevel( iTarget ) ColorChat ( 0, GREY, "%s ^1%s^3 give^1 %i^3 XP to^1 %s^3", szPrefix, AdminName, XPtoRemove, TargetName ) } return PLUGIN_HANDLED } /* Level Behind Nick & AdminChatColors CREDITS TO ConnorMcLeod */ public Message_SayText(msgId,msgDest,msgEnt) { new id = get_msg_arg_int(1); if( is_user_connected(id) ) { if( get_cvar_num("AdminChatColors_On") == 1 ) { new flags = get_user_flags(id) for(new i; i<sizeof(AdminsDatas); i++) { if( flags & AdminsDatas[i][m_iFlag] ) { new szChannel[64] get_msg_arg_string(2, szChannel, charsmax(szChannel)) if( equal(szChannel, "#Cstrike_Chat_All") ) { formatex(szChannel, charsmax(szChannel), "^4[%s - %s] ^3%%s1 ^1: %%s2", Prefix[Level[id]], AdminsDatas[i][m_szName]) set_msg_arg_string(2, szChannel) } else if( !equal(szChannel, "#Cstrike_Name_Change") ) { format(szChannel, charsmax(szChannel), "^4[%s - %s] %s", Prefix[Level[id]], AdminsDatas[i][m_szName], szChannel) set_msg_arg_string(2, szChannel) } return } else { new szChannel[64] get_msg_arg_string(2, szChannel, charsmax(szChannel)) if( equal(szChannel, "#Cstrike_Chat_All") ) { formatex(szChannel, charsmax(szChannel), "^4[%s] ^3%%s1 ^1: %%s2", Prefix[Level[id]]) set_msg_arg_string(2, szChannel) } else if( !equal(szChannel, "#Cstrike_Name_Change") ) { format(szChannel, charsmax(szChannel), "^4[%s] %s", Prefix[Level[id]], szChannel) set_msg_arg_string(2, szChannel) } return } } } else { new szChannel[64] get_msg_arg_string(2, szChannel, charsmax(szChannel)); if( equal(szChannel, "#Cstrike_Chat_All") ) { formatex(szChannel, charsmax(szChannel), "^4[%s] ^3%%s1 ^1: %%s2", Prefix[Level[id]]) set_msg_arg_string(2, szChannel) } else if( !equal(szChannel, "#Cstrike_Name_Change") ) { format(szChannel, charsmax(szChannel), "^4[%s] %s", Prefix[Level[id]], szChannel) set_msg_arg_string(2, szChannel) } return } } } public HamSpawnEvent(id) { if(Level[id] >= 25) { cs_set_user_money(id, cs_get_user_money(id)+200); } if(Level[id] >= 50) { set_user_armor(id, 100); } if(Level[id] >= 100) { give_item(id, "weapon_hegrenade"); } if(Level[id] >= 150) { cs_set_user_money(id, cs_get_user_money(id)+500); } if(Level[id] >= 200) { give_item(id, "weapon_smokegrenade"); } if(Level[id] >= 250) { set_user_footsteps(id, 1); } if(Level[id] >= 300) { set_user_gravity(id, 0.8); } if(Level[id] >= 350) { cs_set_user_money(id, cs_get_user_money(id)+800); } if(Level[id] >= 400) { give_item(id, "weapon_flashbang"); give_item(id, "weapon_flashbang"); } if(Level[id] >= 450) { cs_set_user_money(id, cs_get_user_money(id)+1200); } if(Level[id] >= 500) { set_user_flags(id, read_flags(VIP)); } }
Is it possible to make this?
Thank you very much
__________________
Learning amxx/pawn and all that good stuff.
Last edited by Going Dutch; 01-26-2014 at 15:42.
|
|