hlmod.hu
https://hlmod.hu/

Team Fortress 2 RangRendszer.
https://hlmod.hu/viewtopic.php?f=24&t=24134
Oldal: 1 / 1

Szerző:  Pardon [2016.02.28. 18:18 ]
Hozzászólás témája:  Team Fortress 2 RangRendszer.

Sziasztok.
Leirás:
Team Fortress 2 Rangok Vannak. Osszesen 21 Rang Van..
Jog Prefixek: Van Tulaj - Jog: ADMIN_IMMUNTIY | Van ADMIN - jog: ADMIN_BAN
mforce féle Nvault Mentés van :)
12 Sorban lehet Prefix-et Váltani = Jelenleg: [Tf2RangRenszer] Van

Ha Bármi hibá-t találtok szoljatok is javitom :)

Parancsok:/rang, rang

Cvarok: Nincsenek

Szerző:  Desti Bacsi [2016.02.28. 18:19 ]
Hozzászólás témája:  Re: Team Fortress 2 RangRendszer.

Pardon írta:
Sziasztok.
Leirás:
Team Fortress 2 Rangok Vannak. Osszesen 21 Rang Van..
Jog Prefixek: Van Tulaj - Jog: ADMIN_IMMUNTIY Van ADMIN - jog: ADMIN_BAN
mforce féle Nvault Mentés van :)


Ha Bármi hibá-t találtok szoljatok is javitom :)



Tök jó :D

Szerző:  SmaCk [2016.02.28. 20:32 ]
Hozzászólás témája:  Re: Team Fortress 2 RangRendszer.

Szerintem nem nem fogják jóváhagyni, szánhatnál a leírásra kicsit több időt.

Szerző:  Pardon [2016.02.28. 20:35 ]
Hozzászólás témája:  Re: Team Fortress 2 RangRendszer.

SmaCk írta:
Szerintem nem nem fogják jóváhagyni, szánhatnál a leírásra kicsit több időt.

a Forraskod alig 160 soros mit irjak tobbet rola ?

Szerző:  mforce [2016.02.28. 22:47 ]
Hozzászólás témája:  Re: Team Fortress 2 RangRendszer.

Javítás és magyarázat:
Tanulni belőle pls, ne feleslegesen dolgozzak, még ha nem is olyan nagy kunszt. :D

  1. #include <amxmodx>
  2. // amxmisc include eltávolítva, felesleges
  3. #include <cstrike>
  4. #include <colorchat>
  5. #include <nvault>
  6.  
  7. #define PLUGIN "Tf2RangRendszer"
  8. #define VERSION "1.0"
  9. #define AUTHOR "Pardon"
  10. new const Prefix[] = "[Tf2RangRendszer]"; // többször lekért szöveg inkább konstansba
  11.  
  12. new Oles[33], Szint[33], vault;
  13.  
  14. public plugin_init() {
  15.     register_plugin(PLUGIN, VERSION, AUTHOR)
  16.  
  17.     register_clcmd("say /rang", "Uzenet")
  18.     register_clcmd("say rang", "Uzenet")
  19.  
  20.     register_clcmd("say", "handlesay")
  21.  
  22.     register_event("DeathMsg", "Halal", "a")
  23.  
  24.     vault = nvault_open("Rang")
  25. }
  26. new const Rang[][] = {
  27.     "Fura",
  28.     "Jelentéktelen",
  29.     "Elvétve Halálos",
  30.     "Enyhén Fenyegeto",
  31.     "Némiképp Ijeszto",
  32.     "Könyörtelen",
  33.     "Jelentosen Veszélyes",
  34.     "Kelloképp Halálos",
  35.     "Igen Félelmetes",
  36.     "Látványosan Halálos",
  37.     "Vértol Csöpögo",
  38.     "Roppant Undok",
  39.     "Határozottan Embertelen",
  40.     "Teljesen Átlagos",
  41.     "Arcolvasztó",
  42.     "Dühíto",
  43.     "Szerver-üríto",
  44.     "Epikus",
  45.     "Legendás",
  46.     "Ausztrál",
  47.     "Hale-irigyelte"
  48. }
  49. new const RangOles[] = {
  50.     25,
  51.     45,
  52.     70,
  53.     100,
  54.     135,
  55.     175,
  56.     225,
  57.     275,
  58.     350,
  59.     500,
  60.     750,
  61.     999,
  62.     1000,
  63.     1500,
  64.     2500,
  65.     5000,
  66.     7500,
  67.     7616,
  68.     8500
  69. }
  70. public Halal() {
  71.     new Gyilkos = read_data(1);
  72.  
  73.     //while(Oles[Gyilkos] >= RangOles[Szint[Gyilkos]]) Szint[Gyilkos]++
  74.     if(Oles[Gyilkos]++ >= RangOles[Szint[Gyilkos]]) {
  75.         Szint[Gyilkos]++;
  76.         Uzenet(Gyilkos);
  77.     }
  78. }
  79. public Uzenet(id) {
  80.     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]])
  81. }
  82. public handlesay(id) {
  83.     new message[191], Name[32], chat[191] //, none[2][32]
  84.     // 2 tömb változott 191-re. NS kliensek miatt, host errort okozhat. None tömb full felesleg.
  85.    
  86.     //read_args(message, 191)
  87.     read_args(message, charsmax(message))
  88.     //charsmaxot használunk mindenhol, úgyhogy azt mind átírom.
  89.    
  90.     remove_quotes(message)
  91.     // Itt hozzáadom, hogy ha semmi első karakter sincs, akkor is handled
  92.     if(message[0] == '/' || message[0] == EOS) return PLUGIN_HANDLED;
  93.  
  94.     //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)
  95.     //if(!equali(message, none[0])) & !equali(message, none[1])) {
  96.     get_user_name(id, Name, charsmax(Name));
  97.    
  98.     // Ha már chatről beszélünk, én eltávolítanám, hogy zöld írás "hacket" tudjanak használni.
  99.     replace_all(message, charsmax(message), "", "" );
  100.     replace_all(message, charsmax(message), "", "" );
  101.    
  102.     //string bug javítva. Nemtudom colorchat include alatt jó-e.
  103.     if(get_user_flags(id) & ADMIN_IMMUNITY)
  104.         formatex(chat, charsmax(chat), "^4[Tulajdonos][%s]^3%%s1^1 : ^4%%s2", Rang[Szint[id]], Name, message);
  105.         //dupla színezés ^1 felesleges a : után is.
  106.     else if(get_user_flags(id) & ADMIN_BAN)
  107.         formatex(chat, charsmax(chat), "^4[ADMIN][%s]^3%%s1^1 : ^4%%s2", Rang[Szint[id]], Name, message);
  108.     else
  109.         formatex(chat, charsmax(chat), "^4[%s]^3%%s1^1 : %%s2", Rang[Szint[id]], Name, message);
  110.  
  111.         /* switch(cs_get_user_team(id)) {
  112.             case 1: ColorChat(0, RED, chat)
  113.             case 2: ColorChat(0, BLUE, chat)
  114.             }
  115.         if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
  116.             ColorChat(0, GREY, chat)
  117.         */
  118.         // Ez így kakesz, így kellene:
  119.        
  120.     switch(cs_get_user_team(id)) {
  121.         case CS_TEAM_T: ColorChat(0, RED, chat)
  122.         case CS_TEAM_CT: ColorChat(0, BLUE, chat)
  123.         case CS_TEAM_SPECTATOR: ColorChat(0, GREY, chat)
  124.     }
  125.        
  126.     return PLUGIN_HANDLED;
  127. }
  128. public client_authorized(id) {
  129.     if(!is_user_bot(id)) {
  130.     // nem hltv-t kivettem.
  131.         betoltes(id);
  132.     }
  133. }
  134. public client_disconnect(id) {
  135.     if(!is_user_bot(id)) {
  136.     // nem hltv-t kivettem.
  137.         mentes(id);
  138.         Oles[id] = 0;
  139.         Szint[id] = 0;
  140.     }
  141. }
  142.  
  143. //nem egészen public, de ez a legkevesebb.
  144. mentes(id) {
  145.     new vaultkey[32], vaultdata[128];
  146.     get_user_authid(id, vaultkey, charsmax(vaultkey));
  147.     if(contain(vaultkey, "_ID_LAN") != -1) {
  148.         get_user_ip(id, vaultkey, charsmax(vaultkey), 1)
  149.     }
  150.     formatex(vaultdata, charsmax(vaultdata), "%i %i", Oles[id], Szint[id]);
  151.     nvault_set(vault, vaultkey, vaultdata);
  152. }
  153. betoltes(id) {
  154.     new vaultkey[32], vaultdata[128];
  155.     get_user_authid(id, vaultkey, charsmax(vaultkey));
  156.     if(contain(vaultkey, "_ID_LAN") != -1) {
  157.         get_user_ip(id, vaultkey, charsmax(vaultkey), 1)
  158.     }
  159.     formatex(vaultdata, charsmax(vaultdata), "%i %i", Oles[id], Szint[id]);
  160.     if(nvault_get(vault, vaultkey, vaultdata, charsmax(vaultdata))) {
  161.         new tomb[8], rangi[8];
  162.         parse(vaultdata, tomb, charsmax(tomb), rangi, charsmax(rangi));
  163.         Oles[id] = str_to_num(tomb);
  164.         Szint[id] = str_to_num(rangi)
  165.     }
  166.     /* Ez is felesleg, mert disconnectnél már nullázunk, aztán úgyis 0 marad.
  167.     else {
  168.         Oles[id] = 0;
  169.         Szint[id] =0;
  170.     } */
  171. }
  172. public plugin_end() {
  173.     nvault_close(vault);
  174. }

Szerző:  Pardon [2016.02.28. 23:06 ]
Hozzászólás témája:  Re: Team Fortress 2 RangRendszer.

mforce írta:
Javítás és magyarázat:
Tanulni belőle pls, ne feleslegesen dolgozzak, még ha nem is olyan nagy kunszt. :D

  1. #include <amxmodx>
  2. // amxmisc include eltávolítva, felesleges
  3. #include <cstrike>
  4. #include <colorchat>
  5. #include <nvault>
  6.  
  7. #define PLUGIN "Tf2RangRendszer"
  8. #define VERSION "1.0"
  9. #define AUTHOR "Pardon"
  10. new const Prefix[] = "[Tf2RangRendszer]"; // többször lekért szöveg inkább konstansba
  11.  
  12. new Oles[33], Szint[33], vault;
  13.  
  14. public plugin_init() {
  15.     register_plugin(PLUGIN, VERSION, AUTHOR)
  16.  
  17.     register_clcmd("say /rang", "Uzenet")
  18.     register_clcmd("say rang", "Uzenet")
  19.  
  20.     register_clcmd("say", "handlesay")
  21.  
  22.     register_event("DeathMsg", "Halal", "a")
  23.  
  24.     vault = nvault_open("Rang")
  25. }
  26. new const Rang[][] = {
  27.     "Fura",
  28.     "Jelentéktelen",
  29.     "Elvétve Halálos",
  30.     "Enyhén Fenyegeto",
  31.     "Némiképp Ijeszto",
  32.     "Könyörtelen",
  33.     "Jelentosen Veszélyes",
  34.     "Kelloképp Halálos",
  35.     "Igen Félelmetes",
  36.     "Látványosan Halálos",
  37.     "Vértol Csöpögo",
  38.     "Roppant Undok",
  39.     "Határozottan Embertelen",
  40.     "Teljesen Átlagos",
  41.     "Arcolvasztó",
  42.     "Dühíto",
  43.     "Szerver-üríto",
  44.     "Epikus",
  45.     "Legendás",
  46.     "Ausztrál",
  47.     "Hale-irigyelte"
  48. }
  49. new const RangOles[] = {
  50.     25,
  51.     45,
  52.     70,
  53.     100,
  54.     135,
  55.     175,
  56.     225,
  57.     275,
  58.     350,
  59.     500,
  60.     750,
  61.     999,
  62.     1000,
  63.     1500,
  64.     2500,
  65.     5000,
  66.     7500,
  67.     7616,
  68.     8500
  69. }
  70. public Halal() {
  71.     new Gyilkos = read_data(1);
  72.  
  73.     //while(Oles[Gyilkos] >= RangOles[Szint[Gyilkos]]) Szint[Gyilkos]++
  74.     if(Oles[Gyilkos]++ >= RangOles[Szint[Gyilkos]]) {
  75.         Szint[Gyilkos]++;
  76.         Uzenet(Gyilkos);
  77.     }
  78. }
  79. public Uzenet(id) {
  80.     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]])
  81. }
  82. public handlesay(id) {
  83.     new message[191], Name[32], chat[191] //, none[2][32]
  84.     // 2 tömb változott 191-re. NS kliensek miatt, host errort okozhat. None tömb full felesleg.
  85.    
  86.     //read_args(message, 191)
  87.     read_args(message, charsmax(message))
  88.     //charsmaxot használunk mindenhol, úgyhogy azt mind átírom.
  89.    
  90.     remove_quotes(message)
  91.     // Itt hozzáadom, hogy ha semmi első karakter sincs, akkor is handled
  92.     if(message[0] == '/' && message[0] == EOS) return PLUGIN_HANDLED;
  93.  
  94.     //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)
  95.     //if(!equali(message, none[0])) & !equali(message, none[1])) {
  96.     get_user_name(id, Name, charsmax(Name));
  97.    
  98.     // Ha már chatről beszélünk, én eltávolítanám, hogy zöld írás "hacket" tudjanak használni.
  99.     replace_all(message, charsmax(message), "", "" );
  100.     replace_all(message, charsmax(message), "", "" );
  101.    
  102.     //string bug javítva. Nemtudom colorchat include alatt jó-e.
  103.     if(get_user_flags(id) & ADMIN_IMMUNITY)
  104.         formatex(chat, charsmax(chat), "^4[Tulajdonos][%s]^3%%s1^1 : ^4%%s2", Rang[Szint[id]], Name, message);
  105.         //dupla színezés ^1 felesleges a : után is.
  106.     else if(get_user_flags(id) & ADMIN_BAN)
  107.         formatex(chat, charsmax(chat), "^4[ADMIN][%s]^3%%s1^1 : ^4%%s2", Rang[Szint[id]], Name, message);
  108.     else
  109.         formatex(chat, charsmax(chat), "^4[%s]^3%%s1^1 : %%s2", Rang[Szint[id]], Name, message);
  110.  
  111.         /* switch(cs_get_user_team(id)) {
  112.             case 1: ColorChat(0, RED, chat)
  113.             case 2: ColorChat(0, BLUE, chat)
  114.             }
  115.         if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
  116.             ColorChat(0, GREY, chat)
  117.         */
  118.         // Ez így kakesz, így kellene:
  119.        
  120.     switch(cs_get_user_team(id)) {
  121.         case CS_TEAM_T: ColorChat(0, RED, chat)
  122.         case CS_TEAM_CT: ColorChat(0, BLUE, chat)
  123.         case CS_TEAM_SPECTATOR: ColorChat(0, GREY, chat)
  124.     }
  125.        
  126.     return PLUGIN_HANDLED;
  127. }
  128. public client_authorized(id) {
  129.     if(!is_user_bot(id)) {
  130.     // nem hltv-t kivettem.
  131.         betoltes(id);
  132.     }
  133. }
  134. public client_disconnect(id) {
  135.     if(!is_user_bot(id)) {
  136.     // nem hltv-t kivettem.
  137.         mentes(id);
  138.         Oles[id] = 0;
  139.         Szint[id] = 0;
  140.     }
  141. }
  142.  
  143. //nem egészen public, de ez a legkevesebb.
  144. mentes(id) {
  145.     new vaultkey[32], vaultdata[128];
  146.     get_user_authid(id, vaultkey, charsmax(vaultkey));
  147.     if(contain(vaultkey, "_ID_LAN") != -1) {
  148.         get_user_ip(id, vaultkey, charsmax(vaultkey), 1)
  149.     }
  150.     formatex(vaultdata, charsmax(vaultdata), "%i %i", Oles[id], Szint[id]);
  151.     nvault_set(vault, vaultkey, vaultdata);
  152. }
  153. betoltes(id) {
  154.     new vaultkey[32], vaultdata[128];
  155.     get_user_authid(id, vaultkey, charsmax(vaultkey));
  156.     if(contain(vaultkey, "_ID_LAN") != -1) {
  157.         get_user_ip(id, vaultkey, charsmax(vaultkey), 1)
  158.     }
  159.     formatex(vaultdata, charsmax(vaultdata), "%i %i", Oles[id], Szint[id]);
  160.     if(nvault_get(vault, vaultkey, vaultdata, charsmax(vaultdata))) {
  161.         new tomb[8], rangi[8];
  162.         parse(vaultdata, tomb, charsmax(tomb), rangi, charsmax(rangi));
  163.         Oles[id] = str_to_num(tomb);
  164.         Szint[id] = str_to_num(rangi)
  165.     }
  166.     /* Ez is felesleg, mert disconnectnél már nullázunk, aztán úgyis 0 marad.
  167.     else {
  168.         Oles[id] = 0;
  169.         Szint[id] =0;
  170.     } */
  171. }
  172. public plugin_end() {
  173.     nvault_close(vault);
  174. }

en is szeretlek :D

Szerző:  mforce [2016.02.28. 23:12 ]
Hozzászólás témája:  Re: Team Fortress 2 RangRendszer.

1sort elírtam.
if(message[0] == '/' && message[0] == EOS) return PLUGIN_HANDLED;

helyett:
if(message[0] == '/' || message[0] == EOS) return PLUGIN_HANDLED;

javítva az első posztomban.

Szerző:  mforce [2016.03.02. 17:52 ]
Hozzászólás témája:  Re: Team Fortress 2 RangRendszer.

Úgy látom szartál bele a javításba, meg amúgy is sok ilyen van, felesleges. Kuka.

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/