Offline |
|
|
Csatlakozott: 2016.02.18. 19:24 Hozzászólások: 193
Megköszönt másnak: 12 alkalommal Megköszönték neki: 20 alkalommal
|
mforce írta: Javítás és magyarázat: Tanulni belőle pls, ne feleslegesen dolgozzak, még ha nem is olyan nagy kunszt. #include <amxmodx> // amxmisc include eltávolítva, felesleges #include <cstrike> #include <colorchat> #include <nvault> #define PLUGIN "Tf2RangRendszer" #define VERSION "1.0" #define AUTHOR "Pardon" new const Prefix[] = "[Tf2RangRendszer]"; // többször lekért szöveg inkább konstansba new Oles[33], Szint[33], vault; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /rang", "Uzenet") register_clcmd("say rang", "Uzenet") register_clcmd("say", "handlesay") register_event("DeathMsg", "Halal", "a") vault = nvault_open("Rang") } new const Rang[][] = { "Fura", "Jelentéktelen", "Elvétve Halálos", "Enyhén Fenyegeto", "Némiképp Ijeszto", "Könyörtelen", "Jelentosen Veszélyes", "Kelloképp Halálos", "Igen Félelmetes", "Látványosan Halálos", "Vértol Csöpögo", "Roppant Undok", "Határozottan Embertelen", "Teljesen Átlagos", "Arcolvasztó", "Dühíto", "Szerver-üríto", "Epikus", "Legendás", "Ausztrál", "Hale-irigyelte" } new const RangOles[] = { 25, 45, 70, 100, 135, 175, 225, 275, 350, 500, 750, 999, 1000, 1500, 2500, 5000, 7500, 7616, 8500 } public Halal() { new Gyilkos = read_data(1); //while(Oles[Gyilkos] >= RangOles[Szint[Gyilkos]]) Szint[Gyilkos]++ if(Oles[Gyilkos]++ >= RangOles[Szint[Gyilkos]]) { Szint[Gyilkos]++; Uzenet(Gyilkos); } } public Uzenet(id) { ColorChat(id, GREEN,"%s ^1Rangod: ^4%s ^3| ^1Következo Rangod: ^4%s ^3| ^1Öléseid: ^4(%d/%d)", Prefix, Rang[Szint[id]], Rang[Szint[id]+1], Oles[id], RangOles[Szint[id]]) } public handlesay(id) { new message[191], Name[32], chat[191] //, none[2][32] // 2 tömb változott 191-re. NS kliensek miatt, host errort okozhat. None tömb full felesleg. //read_args(message, 191) read_args(message, charsmax(message)) //charsmaxot használunk mindenhol, úgyhogy azt mind átírom. remove_quotes(message) // Itt hozzáadom, hogy ha semmi első karakter sincs, akkor is handled if(message[0] == '/' && message[0] == EOS) return PLUGIN_HANDLED; //innen a none tömb kikerült, & jel &&-ként kellene lennie, de az is felesleges volt. (1-el fentebb megoldva equal nélkül) //if(!equali(message, none[0])) & !equali(message, none[1])) { get_user_name(id, Name, charsmax(Name)); // Ha már chatről beszélünk, én eltávolítanám, hogy zöld írás "hacket" tudjanak használni. replace_all(message, charsmax(message), "", "" ); replace_all(message, charsmax(message), "", "" ); //string bug javítva. Nemtudom colorchat include alatt jó-e. if(get_user_flags(id) & ADMIN_IMMUNITY) formatex(chat, charsmax(chat), "^4[Tulajdonos][%s]^3%%s1^1 : ^4%%s2", Rang[Szint[id]], Name, message); //dupla színezés ^1 felesleges a : után is. else if(get_user_flags(id) & ADMIN_BAN) formatex(chat, charsmax(chat), "^4[ADMIN][%s]^3%%s1^1 : ^4%%s2", Rang[Szint[id]], Name, message); else formatex(chat, charsmax(chat), "^4[%s]^3%%s1^1 : %%s2", Rang[Szint[id]], Name, message); /* switch(cs_get_user_team(id)) { case 1: ColorChat(0, RED, chat) case 2: ColorChat(0, BLUE, chat) } if(cs_get_user_team(id) == CS_TEAM_SPECTATOR) ColorChat(0, GREY, chat) */ // Ez így kakesz, így kellene: switch(cs_get_user_team(id)) { case CS_TEAM_T: ColorChat(0, RED, chat) case CS_TEAM_CT: ColorChat(0, BLUE, chat) case CS_TEAM_SPECTATOR: ColorChat(0, GREY, chat) } return PLUGIN_HANDLED; } public client_authorized(id) { if(!is_user_bot(id)) { // nem hltv-t kivettem. betoltes(id); } } public client_disconnect(id) { if(!is_user_bot(id)) { // nem hltv-t kivettem. mentes(id); Oles[id] = 0; Szint[id] = 0; } } //nem egészen public, de ez a legkevesebb. mentes(id) { new vaultkey[32], vaultdata[128]; get_user_authid(id, vaultkey, charsmax(vaultkey)); if(contain(vaultkey, "_ID_LAN") != -1) { get_user_ip(id, vaultkey, charsmax(vaultkey), 1) } formatex(vaultdata, charsmax(vaultdata), "%i %i", Oles[id], Szint[id]); nvault_set(vault, vaultkey, vaultdata); } betoltes(id) { new vaultkey[32], vaultdata[128]; get_user_authid(id, vaultkey, charsmax(vaultkey)); if(contain(vaultkey, "_ID_LAN") != -1) { get_user_ip(id, vaultkey, charsmax(vaultkey), 1) } formatex(vaultdata, charsmax(vaultdata), "%i %i", Oles[id], Szint[id]); if(nvault_get(vault, vaultkey, vaultdata, charsmax(vaultdata))) { new tomb[8], rangi[8]; parse(vaultdata, tomb, charsmax(tomb), rangi, charsmax(rangi)); Oles[id] = str_to_num(tomb); Szint[id] = str_to_num(rangi) } /* Ez is felesleg, mert disconnectnél már nullázunk, aztán úgyis 0 marad. else { Oles[id] = 0; Szint[id] =0; } */ } public plugin_end() { nvault_close(vault); }
en is szeretlek
_________________ Global Offensive Mod[5000 ft/ Sql Mentes / 6 Lada / 135 Skin]
|
|