hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.11.10. 12:00



Jelenlévő felhasználók

Jelenleg 527 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 526 vendég

A legtöbb felhasználó (2883 fő) 2025.07.30. 16:00-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot]az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása Hozzászólás a témához  [17 hozzászólás ]  OldalElőző12
Szerző Üzenet
 Hozzászólás témája: Re: rank
HozzászólásElküldve:2012.07.23. 21:18 
Offline
Fanatikus

Csatlakozott:2012.03.22. 19:54
Hozzászólások:183
Megköszönt másnak: 1 alkalommal
;;;
; To enable a module, remove the semi-colon (;) in front of its name.
; If it's not here, simply add it its name, one per line.
; You don't need to write the _amxx part or the file extension.
;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; SQL Modules usually need to be enabled manually ;;
;; You can have any number on at a time. Use ;;
;; amx_sql_type in sql.cfg to specify the default ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;mysql
;sqlite

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Put third party modules below here. ;;
;; You can just list their names, without the _amxx ;;
;; or file extension. ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; These modules will be auto-detected and loaded ;;
;; as needed. You do not need to enable them here ;;
;; unless you have problems. ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

fun
engine
fakemeta
geoip
sockets
regex
nvault
cstrike
hamsandwich
sqlite
mysql



cstrike/addons/amxmodx/modules fájlenevek: engie_amxx.dll
fun_amxx.dll
mysql_amxx.dll
regex_amxx.dll
sockets_amxx.dll
fakemeta_amxx.dll
geoip_amxx.dll
nvault_amxx.dll
cstrike_amxx.dll
sqlite_amxx.dll
hamsandwich_amxx.dll

_________________
BO,omBoom ->fun szerver.
31.215.153.157:27015


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: rank
HozzászólásElküldve:2012.07.23. 21:25 
Offline
Tiszteletbeli

Csatlakozott:2010.02.04. 19:12
Hozzászólások:3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
ennek a rank.amxx-nek a letöltését linkelnéd?

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: rank
HozzászólásElküldve:2012.07.23. 21:26 
Offline
Fanatikus

Csatlakozott:2012.03.22. 19:54
Hozzászólások:183
Megköszönt másnak: 1 alkalommal
azt linkeljem ahonnan letoltottem vagy inkabb a .smat?

_________________
BO,omBoom ->fun szerver.
31.215.153.157:27015


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: rank
HozzászólásElküldve:2012.07.23. 21:29 
Offline
Tiszteletbeli

Csatlakozott:2010.02.04. 19:12
Hozzászólások:3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
valamelyiket, mindegy

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: rank
HozzászólásElküldve:2012.07.23. 21:32 
Offline
Fanatikus

Csatlakozott:2012.03.22. 19:54
Hozzászólások:183
Megköszönt másnak: 1 alkalommal
http://forums.alliedmods.net/showthread.php?p=1092490

Kód:
  1. #include <amxmodx>

  2. #include <amxmisc>

  3.  

  4. //#define HTML_IN_MOTD

  5. #define SAVE_RANKS_AFTER_SORT

  6. #define SORT_INTERVAL 15.0

  7.  

  8. enum RankData

  9. {

  10.         Data_SteamID[32],

  11.         Data_Name[32],

  12.         Data_Kills,

  13.         Data_Deaths

  14. };

  15.  

  16. new g_File[64];

  17. new Array:g_SteamID;

  18. new Trie:g_Name, Trie:g_Kills, Trie:g_Deaths;

  19. new g_Top15[2048];

  20. new bool:g_Sort = true;

  21. new g_Data[33][RankData], bool:g_Authorized[33];

  22.  

  23. public plugin_init()

  24. {

  25.         register_plugin("Rank", "3.0", "hleV");

  26.  

  27.         get_datadir(g_File, 63);

  28.         add(g_File, 63, "/ranks.ini");

  29.  

  30.         g_SteamID = ArrayCreate(32, 1);

  31.         g_Name = TrieCreate();

  32.         g_Kills = TrieCreate();

  33.         g_Deaths = TrieCreate();

  34.  

  35.         LoadRanks();

  36.         ArraySort(g_SteamID, "SortRanks");

  37.         WriteTop15();

  38.  

  39.         set_task(SORT_INTERVAL, "SortTask", _, _, _, "b");

  40.  

  41.         register_clcmd("say /rank", "SayRank");

  42.         register_clcmd("say /top15", "SayTop15");

  43.  

  44.         register_event("DeathMsg", "DeathMsg", "a");

  45. }

  46.  

  47. public plugin_end()

  48. {

  49.         ArraySort(g_SteamID, "SortRanks");

  50.         SaveRanks();

  51.  

  52.         ArrayDestroy(g_SteamID);

  53. }

  54.  

  55. public client_putinserver(Client)

  56. {

  57.         get_user_authid(Client, g_Data[Client][Data_SteamID], 31);

  58.  

  59.         if (!str_to_num(g_Data[Client][Data_SteamID][10]))

  60.                 return;

  61.  

  62.         get_user_name(Client, g_Data[Client][Data_Name], 31);

  63.  

  64.         if (!TrieKeyExists(g_Name, g_Data[Client][Data_SteamID]))

  65.                 AddRank(Client);

  66.         else

  67.                 LoadData(Client);

  68.  

  69.         UpdateRank(Client, true);

  70.  

  71.         g_Authorized[Client] = true;

  72. }

  73.  

  74. public client_disconnect(Client)

  75.         g_Authorized[Client] = false;

  76.  

  77. public client_infochanged(Client)

  78. {

  79.         if (!g_Authorized[Client])

  80.                 return;

  81.  

  82.         static Name[32];

  83.         get_user_info(Client, "name", Name, 31);

  84.  

  85.         if (equal(Name, g_Data[Client][Data_Name]))

  86.                 return;

  87.  

  88.         copy(g_Data[Client][Data_Name], 31, Name);

  89.         UpdateRank(Client, true);

  90. }

  91.  

  92. public SayRank(Client)

  93. {

  94.         new Position = GetPosition(Client);

  95.  

  96.         if (!g_Authorized[Client] || !Position)

  97.         {

  98.                 client_print(Client, print_chat, "* You are not ranked.");

  99.  

  100.                 return;

  101.         }

  102.  

  103.         client_print

  104.         (

  105.                 Client,

  106.                 print_chat,

  107.                 "* Your rank is %d of %d with %d kills and %d deaths.",

  108.                 Position,

  109.                 ArraySize(g_SteamID),

  110.                 g_Data[Client][Data_Kills],

  111.                 g_Data[Client][Data_Deaths]

  112.         );

  113. }

  114.  

  115. public SayTop15(Client)

  116.         show_motd(Client, g_Top15, "Top 15");

  117.  

  118. public DeathMsg()

  119. {

  120.         new Killer = read_data(1);

  121.         new Victim = read_data(2);

  122.  

  123.         if (g_Authorized[Victim])

  124.         {

  125.                 g_Data[Victim][Data_Deaths]++;

  126.                 g_Sort = true;

  127.  

  128.                 UpdateRank(Victim, false);

  129.         }

  130.  

  131.         if (g_Authorized[Killer] && Killer != Victim)

  132.         {

  133.                 g_Data[Killer][Data_Kills]++;

  134.                 g_Sort = true;

  135.  

  136.                 UpdateRank(Killer, false);

  137.         }

  138. }

  139.  

  140. public SortTask()

  141. {

  142.         if (!g_Sort)

  143.                 return;

  144.  

  145.         ArraySort(g_SteamID, "SortRanks");

  146.         WriteTop15();

  147.  

  148. #if defined SAVE_RANKS_AFTER_SORT

  149.         SaveRanks();

  150. #endif

  151. }

  152.  

  153. public SortRanks(Array:SteamID, Position1, Position2)

  154. {

  155.         static SteamID1[32];

  156.         ArrayGetString(SteamID, Position1, SteamID1, 31);

  157.  

  158.         static SteamID2[32];

  159.         ArrayGetString(SteamID, Position2, SteamID2, 31);

  160.  

  161.         static Kills1;

  162.         TrieGetCell(g_Kills, SteamID1, Kills1);

  163.  

  164.         static Kills2;

  165.         TrieGetCell(g_Kills, SteamID2, Kills2);

  166.  

  167.         static Deaths1;

  168.         TrieGetCell(g_Deaths, SteamID1, Deaths1);

  169.  

  170.         static Deaths2;

  171.         TrieGetCell(g_Deaths, SteamID2, Deaths2);

  172.  

  173.         if (Kills1 - Deaths1 < Kills2 - Deaths2)

  174.                 return 1;

  175.         else if (Kills1 - Deaths1 > Kills2 - Deaths2)

  176.                 return -1;

  177.  

  178.         return 0;

  179. }

  180.  

  181. LoadRanks()

  182. {

  183.         new File = fopen(g_File, "r");

  184.  

  185.         if (!File)

  186.                 return;

  187.  

  188.         new Data[96], SteamID[32], Name[32], Kills[16], Deaths[16];

  189.  

  190.         while (!feof(File))

  191.         {

  192.                 fgets(File, Data, 96);

  193.  

  194.                 if (!strlen(Data))

  195.                         continue;

  196.  

  197.                 parse(Data, SteamID, 31, Name, 31, Kills, 15, Deaths, 15);

  198.  

  199.                 ArrayPushString(g_SteamID, SteamID);

  200.                 TrieSetString(g_Name, SteamID, Name);

  201.                 TrieSetCell(g_Kills, SteamID, str_to_num(Kills));

  202.                 TrieSetCell(g_Deaths, SteamID, str_to_num(Deaths));

  203.         }

  204.  

  205.         fclose(File);

  206. }

  207.  

  208. SaveRanks()

  209. {

  210.         new File = fopen(g_File, "w+");

  211.  

  212.         if (!File)

  213.                 return;

  214.  

  215.         for (new Position, Size = ArraySize(g_SteamID), SteamID[32], Name[32], Kills, Deaths; Position < Size; Position++)

  216.         {

  217.                 ArrayGetString(g_SteamID, Position, SteamID, 31);

  218.                 TrieGetString(g_Name, SteamID, Name, 31);

  219.                 TrieGetCell(g_Kills, SteamID, Kills);

  220.                 TrieGetCell(g_Deaths, SteamID, Deaths);

  221.  

  222.                 fprintf(File, "%s ^"%s^" %d %d^n", SteamID, Name, Kills, Deaths);

  223.         }

  224.  

  225.         fclose(File);

  226. }

  227.  

  228. AddRank(Client)

  229. {

  230.         g_Data[Client][Data_Kills] = 0;

  231.         g_Data[Client][Data_Deaths] = 0;

  232.  

  233.         ArrayPushString(g_SteamID, g_Data[Client][Data_SteamID]);

  234.         TrieSetString(g_Name, g_Data[Client][Data_SteamID], g_Data[Client][Data_Name]);

  235. }

  236.  

  237. LoadData(Client)

  238. {

  239.         TrieGetCell(g_Kills, g_Data[Client][Data_SteamID], g_Data[Client][Data_Kills]);

  240.         TrieGetCell(g_Deaths, g_Data[Client][Data_SteamID], g_Data[Client][Data_Deaths]);

  241. }

  242.  

  243. UpdateRank(Client, bool:Name)

  244. {

  245.         if (Name)

  246.                 TrieSetString(g_Name, g_Data[Client][Data_SteamID], g_Data[Client][Data_Name]);

  247.  

  248.         TrieSetCell(g_Kills, g_Data[Client][Data_SteamID], g_Data[Client][Data_Kills]);

  249.         TrieSetCell(g_Deaths, g_Data[Client][Data_SteamID], g_Data[Client][Data_Deaths]);

  250. }

  251.  

  252. GetPosition(Client)

  253. {

  254.         static Position, Size, SteamID[32];

  255.  

  256.         for (Position = 0, Size = ArraySize(g_SteamID); Position < Size; Position++)

  257.         {

  258.                 ArrayGetString(g_SteamID, Position, SteamID, 31);

  259.  

  260.                 if (equal(SteamID, g_Data[Client][Data_SteamID]))

  261.                         return Position + 1;

  262.         }

  263.  

  264.         return 0;

  265. }      

  266.  

  267. WriteTop15()

  268. {

  269. #if defined HTML_IN_MOTD

  270.         static const Header[] = "<body bgcolor=#000000><font color=#FFB000><pre>%5s  %22s  %5s  %5s^n^n";

  271.         static const Buffer[] = "%4d   %22s  %5d  %6d^n";

  272. #else

  273.         static const Header[] = "%5s  %22s  %5s  %5s^n^n";

  274.         static const Buffer[] = "%5d   %22s  %5d  %5d^n";

  275. #endif

  276.  

  277.         static Length, Position, Size, SteamID[32], Name[32], Kills, Deaths;

  278.         Length = formatex(g_Top15[Length], 2047 - Length, Header, "Rank", "Name", "Kills", "Deaths");

  279.  

  280.         for (Position = 0, Size = min(ArraySize(g_SteamID), 15); Position < Size; Position++)

  281.         {

  282.                 ArrayGetString(g_SteamID, Position, SteamID, 31);

  283.                 TrieGetString(g_Name, SteamID, Name, 31);

  284.                 TrieGetCell(g_Kills, SteamID, Kills);

  285.                 TrieGetCell(g_Deaths, SteamID, Deaths);

  286.  

  287.                 Length += formatex(g_Top15[Length], 2047 - Length, Buffer, Position + 1, Name, Kills, Deaths);

  288.         }

  289. }

_________________
BO,omBoom ->fun szerver.
31.215.153.157:27015


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: rank
HozzászólásElküldve:2012.07.23. 21:34 
Offline
Tiszteletbeli

Csatlakozott:2010.02.04. 19:12
Hozzászólások:3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
legújabb amxmodx van fenn? volt újraindítás mióta beraktad a modulokat?

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: rank
HozzászólásElküldve:2012.07.23. 21:44 
Offline
Fanatikus

Csatlakozott:2012.03.22. 19:54
Hozzászólások:183
Megköszönt másnak: 1 alkalommal
igen legujabb amx es volt ujrainditas. Ha a resetscore megy ennek is kellene h menjen csak valami hiba lehet

_________________
BO,omBoom ->fun szerver.
31.215.153.157:27015


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése: Rendezés 
Új téma nyitása Hozzászólás a témához  [17 hozzászólás ]  OldalElőző12


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 12 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole