hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 283 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 281 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], Google [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  [4 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Szintrendszer-XP
HozzászólásElküldve:2025.04.29. 16:25 
Offline
Jómunkásember
Avatar

Csatlakozott:2019.11.03. 22:00
Hozzászólások:408
Megköszönt másnak: 38 alkalommal
Megköszönték neki: 32 alkalommal
Plugin Neve:
Szintrendszer-XP
Plugint készitette:
Csabika20034
Játék:
Counter-Strike
Kategória:
Játékmenet
Eredeti link:
Nincs megadva
Jóváhagyó:
Ismeretlen


Üdv.

Plugin lényege:fejlődhetünk a szerveren új szinteket szerezhetünk!
Ez a plugin XP rendszerrel működik ölésért Random Xp-t kapunk!

Szint és XP nyomon követése:
Hudban látható, vagy /level

Kép
► Spoiler mutatása


A Plugin kizárólag Mysql Adatbázissal működik!

Teszt megvolt működik!


A plugint nem lehet letölteni, amíg nincs jóváhagyva!

_________________
~Cs1.6 Webem
~Script Webem


A hozzászólást 4 alkalommal szerkesztették, utoljára Csabika20034 2026.02.25. 20:35-kor.

Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája:
HozzászólásElküldve:2025.12.31. 11:21 
Offline
Őstag
Avatar

Csatlakozott:2017.08.21. 15:51
Hozzászólások:1123
Megköszönt másnak: 36 alkalommal
Megköszönték neki: 204 alkalommal
XP-mód tutoriál


Valamivel fejlettebb.
Szintrendszer(XP mód)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája:
HozzászólásElküldve:Tegnap, 19:17 
Offline
Fanatikus
Avatar

Csatlakozott:2020.05.14. 11:32
Hozzászólások:161
Megköszönt másnak: 14 alkalommal
Megköszönték neki: 60 alkalommal
Részemről maradhat, mivel SQL-t használ és a chat is máshogy van megoldva.

Egyelőre ami szembetűnt:
  1. public Update(id)
  2. {
  3.     static Query[10048]
  4.     new Len
  5.     new Steam[32]; get_user_authid(id, Steam, 31)
  6.     Len += formatex(Query[Len], charsmax(Query), "UPDATE \\\\\\\\`szintrendszerxp\\\\\\\\` SET eLvl = ^"%i^", ", g_ePlayer[eLvl][id])
  7.     Len += formatex(Query[Len], charsmax(Query)-Len, "eXp = ^"%i^" WHERE steamid = ^"%s^";", g_ePlayer[eXp][id], steamid[id])
  8.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query)
  9. }

Itt (se a többi helyen) pls ne használjunk se staticot, se 10048 bájtot. Annyira nem használjuk sűrűn a Query változót hogy érdemes legyen static-al definiálni, valamint nincs szükség ennyi bájtra. Mindegyik helyen más, itt 512 bőven elég lehet.

  1. public sayteamhook(id)
  2. {
  3.     new Message[192];
  4.     read_args(Message, charsmax(Message));
  5.     remove_quotes(Message);
  6.    
  7.     if(strlen(Message) == 0 || Message[0] == '/')
  8.         return PLUGIN_HANDLED;
  9.    
  10.     new Death[16], sName[MAX_NAME_LENGTH];
  11.     get_user_name(id, sName, charsmax(sName));
  12.    
  13.     new iTeam, sTeam[32];
  14.     iTeam = get_user_team(id, sTeam, charsmax(sTeam));
  15.    
  16.     switch(iTeam)
  17.     {
  18.         case CS_TEAM_CT: sTeam = "Terrorelh�r�t�;
  19.             case CS_TEAM_T: sTeam = "Terrorista";
  20.             case CS_TEAM_SPECTATOR: sTeam = "N�zel�d�";
  21.         }
  22.     for(new i; i < get_maxplayers(); i++)
  23.     {
  24.         if(is_user_connected(i) && !is_user_bot(i))
  25.         {
  26.             formatex(Death, charsmax(Death), is_user_alive(id) ? "":"*Halott*");
  27.             client_print_color(i, print_team_default, "%s^3[%s] ^1%s: ^3%s", Death, sTeam, sName, Message);
  28.         }
  29.     }
  30.     return PLUGIN_HANDLED;
  31. }

? xd

  1. public client_PreThink(id)
  2.     LvlCheck(id);

Az ilyesmit felejtsük el. Prethink-et csak nagyon indokolt helyzetben érdemes használni, és ez nem az. Nézd meg mondjuk halálonként, vagy amikor adsz xp-t a usernek.
Gondolj bele. Framenként ez mind?
  1. static name[33];
  2.           get_user_name(id, name, 32);
  3.     new Xp, Xp2;
  4.     Xp = 100+g_ePlayer[eLvl][id];
  5.     Xp2 = 60*100+g_ePlayer[eLvl][id]*Xp;
  6.    
  7.     new lastxp;
  8.    
  9.     if(g_ePlayer[eXp][id] >= Xp2)
  10.     {
  11.         if(g_ePlayer[eXp][id] > Xp2)
  12.         {
  13.             lastxp = g_ePlayer[eXp][id] -= Xp2;
  14.             g_ePlayer[eXp][id] = g_ePlayer[eXp][id] + lastxp;
  15.         }
  16.         g_ePlayer[eLvl][id]++;
  17.         g_ePlayer[eXp][id] = 0;
  18.         client_print_color(0, print_team_default, "^4%s^3 %s^1 J�t�kos szintet l�pett ^3LvL.^4%d.", get_cprefix(), name, g_ePlayer[eLvl][id]);
  19.     }

Itt btw jó (lenne) a static.

  1. public hudrendszer(id){
  2.        
  3.          new Xp, Xp2;
  4.     Xp = 100+g_ePlayer[eLvl][id];
  5.     Xp2 = 60*100+g_ePlayer[eLvl][id]*Xp;
  6.    
  7.        if(is_user_alive(id))
  8.        {
  9.         set_hudmessage(67, 255, 120, 0.01, 0.15, 2, 6.0, 1.1, 0.0, 0.0, -1);
  10.          show_hudmessage(id, "[LvL.%d | XP:%d/%d]",g_ePlayer[eLvl][id],g_ePlayer[eXp][id], Xp2);
  11.         }
  12. }

Illetve az ilyesmi tabolásokat kérlek javítsd.

_________________
<<eb@>> Furien Hero
37.221.209.184:27004

<<eb@>> OnlyDust2
37.221.209.184:27002

--------------------------------

Zombie Mutation

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája:
HozzászólásElküldve:Tegnap, 20:36 
Offline
Jómunkásember
Avatar

Csatlakozott:2019.11.03. 22:00
Hozzászólások:408
Megköszönt másnak: 38 alkalommal
Megköszönték neki: 32 alkalommal
DexoN írta:
Részemről maradhat, mivel SQL-t használ és a chat is máshogy van megoldva.

Egyelőre ami szembetűnt:
  1. public Update(id)
  2. {
  3.     static Query[10048]
  4.     new Len
  5.     new Steam[32]; get_user_authid(id, Steam, 31)
  6.     Len += formatex(Query[Len], charsmax(Query), "UPDATE \\\\\\\\\`szintrendszerxp\\\\\\\\\` SET eLvl = ^"%i^", ", g_ePlayer[eLvl][id])
  7.     Len += formatex(Query[Len], charsmax(Query)-Len, "eXp = ^"%i^" WHERE steamid = ^"%s^";", g_ePlayer[eXp][id], steamid[id])
  8.     SQL_ThreadQuery(g_SqlTuple, "QuerySetData", Query)
  9. }

Itt (se a többi helyen) pls ne használjunk se staticot, se 10048 bájtot. Annyira nem használjuk sűrűn a Query változót hogy érdemes legyen static-al definiálni, valamint nincs szükség ennyi bájtra. Mindegyik helyen más, itt 512 bőven elég lehet.

  1. public sayteamhook(id)
  2. {
  3.     new Message[192];
  4.     read_args(Message, charsmax(Message));
  5.     remove_quotes(Message);
  6.    
  7.     if(strlen(Message) == 0 || Message[0] == '/')
  8.         return PLUGIN_HANDLED;
  9.    
  10.     new Death[16], sName[MAX_NAME_LENGTH];
  11.     get_user_name(id, sName, charsmax(sName));
  12.    
  13.     new iTeam, sTeam[32];
  14.     iTeam = get_user_team(id, sTeam, charsmax(sTeam));
  15.    
  16.     switch(iTeam)
  17.     {
  18.         case CS_TEAM_CT: sTeam = "Terrorelh�r�t�;
  19.             case CS_TEAM_T: sTeam = "Terrorista";
  20.             case CS_TEAM_SPECTATOR: sTeam = "N�zel�d�";
  21.         }
  22.     for(new i; i < get_maxplayers(); i++)
  23.     {
  24.         if(is_user_connected(i) && !is_user_bot(i))
  25.         {
  26.             formatex(Death, charsmax(Death), is_user_alive(id) ? "":"*Halott*");
  27.             client_print_color(i, print_team_default, "%s^3[%s] ^1%s: ^3%s", Death, sTeam, sName, Message);
  28.         }
  29.     }
  30.     return PLUGIN_HANDLED;
  31. }

? xd

  1. public client_PreThink(id)
  2.     LvlCheck(id);

Az ilyesmit felejtsük el. Prethink-et csak nagyon indokolt helyzetben érdemes használni, és ez nem az. Nézd meg mondjuk halálonként, vagy amikor adsz xp-t a usernek.
Gondolj bele. Framenként ez mind?
  1. static name[33];
  2.           get_user_name(id, name, 32);
  3.     new Xp, Xp2;
  4.     Xp = 100+g_ePlayer[eLvl][id];
  5.     Xp2 = 60*100+g_ePlayer[eLvl][id]*Xp;
  6.    
  7.     new lastxp;
  8.    
  9.     if(g_ePlayer[eXp][id] >= Xp2)
  10.     {
  11.         if(g_ePlayer[eXp][id] > Xp2)
  12.         {
  13.             lastxp = g_ePlayer[eXp][id] -= Xp2;
  14.             g_ePlayer[eXp][id] = g_ePlayer[eXp][id] + lastxp;
  15.         }
  16.         g_ePlayer[eLvl][id]++;
  17.         g_ePlayer[eXp][id] = 0;
  18.         client_print_color(0, print_team_default, "^4%s^3 %s^1 J�t�kos szintet l�pett ^3LvL.^4%d.", get_cprefix(), name, g_ePlayer[eLvl][id]);
  19.     }

Itt btw jó (lenne) a static.

  1. public hudrendszer(id){
  2.        
  3.          new Xp, Xp2;
  4.     Xp = 100+g_ePlayer[eLvl][id];
  5.     Xp2 = 60*100+g_ePlayer[eLvl][id]*Xp;
  6.    
  7.        if(is_user_alive(id))
  8.        {
  9.         set_hudmessage(67, 255, 120, 0.01, 0.15, 2, 6.0, 1.1, 0.0, 0.0, -1);
  10.          show_hudmessage(id, "[LvL.%d | XP:%d/%d]",g_ePlayer[eLvl][id],g_ePlayer[eXp][id], Xp2);
  11.         }
  12. }

Illetve az ilyesmi tabolásokat kérlek javítsd.


Frissítve

_________________
~Cs1.6 Webem
~Script Webem


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  [4 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 2 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