hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.06.16. 22:15



Jelenlévő felhasználók

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

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: nincs regisztrált felhasználó 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: prefix
HozzászólásElküldve: 2013.05.22. 12:53 
Offline
Beavatott
Avatar

Csatlakozott: 2008.09.15. 16:41
Hozzászólások: 76
Megköszönték neki: 6 alkalommal
Tanulgatom ezt a dolgot még,ezért kérdezek.
A lényeg, hogy azt szeretném, ha egy plugin akármit ír a chatben akkor szerepeljen egy prefix a kiírás előtt, mint ahogy bizonyos pluginoknál meg van írva (amire gondolok arra példa: [amx_rm] [advanced-bans] stb...)
egyelőre így oldottam meg:

Kód:


#include <amxmodx>
#if !defined NO_CS_CZ
#include <fun>
#endif
#include <Vexd_Utilities>
#include <chatcolor>

new g_pissPrefix

new piss_model
new piss_sprite
new water_splash
new count_piss[33]
new count_puddle[33]
new bool:PissFlag[33]
new bool:aim[33]
new Float:aim_origin[33][3]
#if !defined NO_CS_CZ
new player_origins[33][3]
new mod_name[32]
#endif

public plugin_init()
{

  register_plugin("AMX Piss","2.2","KRoTaL")
  register_dictionary("piss.txt")
  register_clcmd("piss","piss_on_player",0,"PS_CONSOLE1")
  register_clcmd("say /piss","piss_help",0,"PS_CONSOLE2")
  register_clcmd("say","handle_say")
  register_cvar("amx_maxpees","6")
  register_cvar("amx_piss_admin","0")
  register_cvar("amx_piss_effect","0")
  register_event("DeathMsg","death_event","a")
  register_event("ResetHUD", "reset_hud", "be")
  #if !defined NO_CS_CZ
  register_event("CurWeapon","cur_weapon","be","1=1")
  get_modname(mod_name,31)
  #endif
  g_pissPrefix   = register_cvar( "amx_piss_prefix",   "PISS" );
  server_cmd("exec addons/amxmodx/configs/piss/cvars.cfg")
}


public piss_on_player(id)
{
new pissPrefix[64]
get_pcvar_string( g_pissPrefix, pissPrefix, 63 );

if (get_cvar_num("amx_maxpees")==0)
  return PLUGIN_HANDLED
if (!is_user_alive(id))
  return PLUGIN_HANDLED
if ( (get_cvar_num("amx_piss_admin")==1) && !(get_user_flags(id) & ADMIN_LEVEL_A) )
{
  console_print(id,"%L",LANG_PLAYER,"PS_COMMAND")
  return PLUGIN_HANDLED
}
if(PissFlag[id])
  return PLUGIN_HANDLED

#if !defined NO_CS_CZ
new player_origin[3], players[32], player, inum=0, dist, last_dist=99999, last_id

get_user_origin(id,player_origin,0)
get_players(players,inum,"b")
if (inum>0) {
  for (new i=0;i<inum;i++) {
    player = players[i]
    if (player!=id) {
      dist = get_distance(player_origin,player_origins[player])
      if (dist<last_dist) {
        last_id = player
        last_dist = dist
      }
    }
  }
  if (last_dist<80) {
#endif
    if (count_piss[id] > get_cvar_num("amx_maxpees")) {
      client_print_color(id,print_chat, "^4[%s] ^3 %L",pissPrefix,LANG_PLAYER,"PS_TIMES", get_cvar_num("amx_maxpees"))
      return PLUGIN_CONTINUE
    }
    new player_name[32]
    get_user_name(id, player_name, 31)
#if !defined NO_CS_CZ
    if(get_user_flags(last_id) & ADMIN_IMMUNITY)
    {
      client_print_color(id,print_chat,"^4[%s] ^3 %L",pissPrefix,LANG_PLAYER,"PS_ADMIN")
      return PLUGIN_HANDLED
    }
    new dead_name[32]
    get_user_name(last_id, dead_name, 31)
    client_print_color(0,print_chat,"^4[%s] ^3 %L",pissPrefix,LANG_PLAYER,"PS_PISS1", player_name, dead_name)
#else
    client_print_color(0,print_chat,"^4[%s] ^3 %L",pissPrefix,LANG_PLAYER,"PS_PISS2", player_name)
#endif
    count_piss[id]+=1
    count_puddle[id]=1
    new ids[1]
    ids[0]=id
    PissFlag[id]=true
    aim[id]=false
#if !defined NO_CS_CZ
    if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
    {
      client_cmd(id, "weapon_knife")
      entity_set_string(id, EV_SZ_viewmodel, "")
      entity_set_string(id, EV_SZ_weaponmodel, "")
      set_user_maxspeed(id, -1.0)
    }
#endif
    emit_sound(id,CHAN_VOICE,"piss/pissing.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
    switch(get_cvar_num("amx_piss_effect"))
    {
      case 0:  set_task(0.2,"make_pee",1481+id,ids,1,"a",48)
      case 1:  set_task(0.1,"make_pee",1481+id,ids,1,"a",102)
      default: set_task(0.2,"make_pee",1481+id,ids,1,"a",48)
    }
    set_task(2.2,"place_puddle",3424+id,ids,1,"a",4)
#if !defined NO_CS_CZ
    set_task(12.0,"weapons_back",6794+id,ids,1)
  }
  else
  {
    client_print_color(id,print_chat,"^4[%s] ^3 %L",pissPrefix,LANG_PLAYER,"PS_DEAD")
    return PLUGIN_HANDLED
  }
}
#endif
return PLUGIN_HANDLED
}

public sqrt(num)
{
  new div = num
  new result = 1
  while (div > result) {
    div = (div + result) / 2
    result = num / div
  }
  return div
}

public make_pee(ids[])
{
  new id=ids[0]
  new vec[3]
  new aimvec[3]
  new velocityvec[3]
  new length
  get_user_origin(id,vec)
  get_user_origin(id,aimvec,3)
  new distance = get_distance(vec,aimvec)
  new speed = floatround(distance*1.9)

  velocityvec[0]=aimvec[0]-vec[0]
  velocityvec[1]=aimvec[1]-vec[1]
  velocityvec[2]=aimvec[2]-vec[2]

  length=sqrt(velocityvec[0]*velocityvec[0]+velocityvec[1]*velocityvec[1]+velocityvec[2]*velocityvec[2])

  velocityvec[0]=velocityvec[0]*speed/length
  velocityvec[1]=velocityvec[1]*speed/length
  velocityvec[2]=velocityvec[2]*speed/length

  switch(get_cvar_num("amx_piss_effect"))
  {
    case 0:
    {
      message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
      write_byte(101)
      write_coord(vec[0])
      write_coord(vec[1])
      write_coord(vec[2])
      write_coord(velocityvec[0])
      write_coord(velocityvec[1])
      write_coord(velocityvec[2])
      write_byte(102) // color
      write_byte(160) // speed
      message_end()
    }
    case 1:
    {
      message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
      write_byte(106)
      write_coord(vec[0])
      write_coord(vec[1])
      write_coord(vec[2])
      write_coord(velocityvec[0])
      write_coord(velocityvec[1])
      write_coord(velocityvec[2]+100)
      write_angle (0)
      write_short (piss_model)
      write_byte (0)
      write_byte (255)
      message_end()

      message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
      write_byte (1)
      write_short (id)
      write_coord(aimvec[0])
      write_coord(aimvec[1])
      write_coord(aimvec[2])
      write_short(piss_sprite)
      write_byte( 1 ) // framestart
      write_byte( 6 ) // framerate
      write_byte( 1 ) // life
      write_byte( 8 ) // width
      write_byte( 0 ) // noise
      write_byte( 255 ) // r, g, b
      write_byte( 255 ) // r, g, b
      write_byte( 0 ) // r, g, b
      write_byte( 200 ) // brightness
      write_byte( 10 ) // speed
      message_end()

      message_begin( MSG_BROADCAST,SVC_TEMPENTITY)
      write_byte(17)
      write_coord(aimvec[0])
      write_coord(aimvec[1])
      write_coord(aimvec[2])
      write_short(water_splash)
      write_byte(16)
      write_byte(18)
      message_end()

    }
    default:
    {
      message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
      write_byte(101)
      write_coord(vec[0])
      write_coord(vec[1])
      write_coord(vec[2])
      write_coord(velocityvec[0])
      write_coord(velocityvec[1])
      write_coord(velocityvec[2])
      write_byte(102) // color
      write_byte(160) // speed
      message_end()
    }
  }
}

public place_puddle(ids[])
{
  new id=ids[0]
  if(!aim[id])
  {
    new origin[3]
    get_user_origin(id,origin,3)
    aim_origin[id][0]=float(origin[0])
    aim_origin[id][1]=float(origin[1])
    aim_origin[id][2]=float(origin[2])
  }

  new puddle_entity
  puddle_entity = CreateEntity("info_target")

  if(puddle_entity == 0) {
    return PLUGIN_HANDLED_MAIN
  }

  new Float:MinBox[3]
  new Float:MaxBox[3]

  MinBox[0] = -1.0
  MinBox[1] = -1.0
  MinBox[2] = -1.0
  MaxBox[0] = 1.0
  MaxBox[1] = 1.0
  MaxBox[2] = 1.0

  Entvars_Set_Vector(puddle_entity, EV_VEC_mins, MinBox)
  Entvars_Set_Vector(puddle_entity, EV_VEC_maxs, MaxBox)

  switch(count_puddle[id])
  {
    case 1:
    {
      Entvars_Set_String(puddle_entity, EV_SZ_classname, "piss_puddle1")
      ENT_SetModel(puddle_entity, "models/piss/piss_puddle1.mdl")
    }
    case 2:
    {
      Entvars_Set_String(puddle_entity, EV_SZ_classname, "piss_puddle2")
      ENT_SetModel(puddle_entity, "models/piss/piss_puddle2.mdl")
    }
    case 3:
    {
      Entvars_Set_String(puddle_entity, EV_SZ_classname, "piss_puddle3")
      ENT_SetModel(puddle_entity, "models/piss/piss_puddle3.mdl")
    }
    case 4:
    {
      Entvars_Set_String(puddle_entity, EV_SZ_classname, "piss_puddle4")
      ENT_SetModel(puddle_entity, "models/piss/piss_puddle4.mdl")
    }
    case 5:
    {
      Entvars_Set_String(puddle_entity, EV_SZ_classname, "piss_puddle5")
      ENT_SetModel(puddle_entity, "models/piss/piss_puddle5.mdl")
      #if defined NO_CS_CZ
        PissFlag[id]=false
      #endif
    }
    default: {}
  }

  ENT_SetOrigin(puddle_entity, aim_origin[id])
  Entvars_Set_Int(puddle_entity, EV_INT_solid, 3)
  Entvars_Set_Int(puddle_entity, EV_INT_movetype, 6)
  Entvars_Set_Edict(puddle_entity, EV_ENT_owner, id)

  count_puddle[id]+=1
  aim[id]=true

  return PLUGIN_CONTINUE
}

public death_event()
{
  new victim = read_data(2)
  #if !defined NO_CS_CZ
  get_user_origin(victim,player_origins[victim],0)
  #endif

  if(PissFlag[victim])
    reset_piss(victim)

  return PLUGIN_CONTINUE
}

#if !defined NO_CS_CZ
public weapons_back(ids[])
{
  PissFlag[ids[0]]=false
  if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
  {
    set_user_maxspeed(ids[0], 250.0)
    client_cmd(ids[0], "weapon_knife")
  }
}

public cur_weapon(id)
{
  if(PissFlag[id])
  {
    if( (equali(mod_name,"cstrike")) || (equali(mod_name,"czero")) )
    {
      client_cmd(id, "weapon_knife")
      set_user_maxspeed(id, -1.0)
      entity_set_string(id, EV_SZ_viewmodel, "")
      entity_set_string(id, EV_SZ_weaponmodel, "")
    }
  }

  return PLUGIN_CONTINUE
}
#endif

public reset_piss(id)
{
  if(task_exists(1481+id))
    remove_task(1481+id)
  if(task_exists(3424+id))
    remove_task(3424+id)
  #if !defined NO_CS_CZ
  if(task_exists(6794+id))
    remove_task(6794+id)
  #endif
  emit_sound(id,CHAN_VOICE,"piss/pissing.wav", 0.0, ATTN_NORM, 0, PITCH_NORM)
  PissFlag[id]=false

  return PLUGIN_CONTINUE
}

public reset_hud(id)
{
  if(task_exists(1481+id))
    remove_task(1481+id)
  if(task_exists(3424+id))
    remove_task(3424+id)
  #if !defined NO_CS_CZ
  if(task_exists(6794+id))
    remove_task(6794+id)
  #endif
  emit_sound(id,CHAN_VOICE,"piss/pissing.wav", 0.0, ATTN_NORM, 0, PITCH_NORM)
  PissFlag[id]=false

  new iCurrent

  for (new i=1 ; i<count_piss[id] ; i++)
  {
    iCurrent = FindEntity(-1, "piss_puddle1")
    if(iCurrent > 0)
      RemoveEntity(iCurrent)
    iCurrent = FindEntity(-1, "piss_puddle2")
    if(iCurrent > 0)
      RemoveEntity(iCurrent)
    iCurrent = FindEntity(-1, "piss_puddle3")
    if(iCurrent > 0)
      RemoveEntity(iCurrent)
    iCurrent = FindEntity(-1, "piss_puddle4")
    if(iCurrent > 0)
      RemoveEntity(iCurrent)
    iCurrent = FindEntity(-1, "piss_puddle5")
    if(iCurrent > 0)
      RemoveEntity(iCurrent)
  }
  count_piss[id]=1

  return PLUGIN_CONTINUE
}

public piss_help(id)
{
  new pissPrefix[64]
  get_pcvar_string( g_pissPrefix, pissPrefix, 63 );
 
  client_print_color(id, print_chat,"^4[%s] ^3 %L",pissPrefix,LANG_PLAYER,"PS_HELP1")
  client_print_color(id, print_chat,"^4[%s] ^3 %L",pissPrefix,LANG_PLAYER,"PS_HELP2")
  client_print_color(id, print_chat,"^4[%s] ^3 %L",pissPrefix,LANG_PLAYER,"PS_HELP3")
             
  return PLUGIN_CONTINUE
}

public handle_say(id)
{
  new said[192]
  read_args(said,192)
  remove_quotes(said)
  new pissPrefix[64]
  get_pcvar_string( g_pissPrefix, pissPrefix, 63 ); 

  if( (containi(said, "piss") != -1) && !(containi(said, "/piss") != -1) ) {
    client_print_color(id, print_chat,"^4[%s] ^3 %L",pissPrefix,LANG_PLAYER,"PS_TIP")
  }

  return PLUGIN_CONTINUE
}

public plugin_precache()
{
  if (file_exists("sound/piss/pissing.wav"))
    precache_sound("piss/pissing.wav")
  if (file_exists("models/piss/piss_puddle1.mdl"))
    precache_model("models/piss/piss_puddle1.mdl")
  if (file_exists("models/piss/piss_puddle2.mdl"))
    precache_model("models/piss/piss_puddle2.mdl")
  if (file_exists("models/piss/piss_puddle3.mdl"))
    precache_model("models/piss/piss_puddle3.mdl")
  if (file_exists("models/piss/piss_puddle4.mdl"))
    precache_model("models/piss/piss_puddle4.mdl")
  if (file_exists("models/piss/piss_puddle5.mdl"))
    precache_model("models/piss/piss_puddle5.mdl")
  if (file_exists("models/piss/piss.mdl"))
    piss_model = precache_model("models/piss/piss.mdl")
  piss_sprite = precache_model("sprites/plasma.spr")
  water_splash = precache_model("sprites/wsplash3.spr")
}

public client_connect(id)
{
  PissFlag[id]=false
  count_piss[id]=1
}

public client_disconnect(id)
{
  reset_hud(id)
}





1.így most van egy globális változó (ha jól sejtem) - g_pissPrefix néven
2.plugin_init-ben bekérem az értékét egy külső file-ból (g_pissPrefix = register_cvar( "amx_piss_prefix", "PISS" );)
3.MINDEN funkciónál ahol kiírást csinálok generálnom kell egy új változót amiben meghívom a globális változó értékét (pissPrefix, get_pcvar_string( g_pissPrefix, pissPrefix, 63 );)
4. a kiírásoknál az előbb generált változó működik (pissPrefix).

a globális változóval nem megy a dolog.
tulajdonképpen egy másik sma-ból vettem át ezt, igaz abban csak egy funkciónál volt kiíratás a chatben, így csak egyszer kellett generálnia hozzá változót.
valaki el tudná magyarázni ezen a példán, hogy mit rontok el?

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: prefix
HozzászólásElküldve: 2013.06.03. 20:54 
Offline
Jómunkásember
Avatar

Csatlakozott: 2012.09.23. 20:29
Hozzászólások: 325
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 87 alkalommal
Egy egyszerűbb megoldás az ilyen prefixekre:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3.  
  4. #define PLUGIN "New Plug-In"
  5. #define VERSION "1.0"
  6. #define AUTHOR "Vinnice"
  7.  
  8. new prefix[] = "AMXX"
  9. new prefixx[] = "[AMXX]"
  10.  
  11. public plugin_init() {
  12. register_plugin(PLUGIN, VERSION, AUTHOR)
  13. register_clcmd("say /valami","valami")
  14.  
  15. }
  16. public valami(id)
  17. {
  18. client_print(id, print_chat, "[%s] VALAMI",prefix) // "%s" helyére megy amit megadtál a prefixnek.
  19. client_print(id, print_chat, "%s VALAMI",prefixx) // %s helyére megy amit megadtál a prefixx nek.
  20. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: prefix
HozzászólásElküldve: 2013.06.04. 22:23 
Offline
Senior Tag

Csatlakozott: 2013.03.26. 18:25
Hozzászólások: 232
Megköszönt másnak: 40 alkalommal
Megköszönték neki: 6 alkalommal
Vagy csak fogod és egyszerűen a szöveg elé oda írod a prefixet xd pl.
Kód:
[Szia]Én Zsoltisz vagyok.

_________________
skype:gallzsolt2




Ha segítettem kattints erre:Kép

Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: prefix
HozzászólásElküldve: 2013.06.11. 19:17 
Offline
Beavatott
Avatar

Csatlakozott: 2008.09.15. 16:41
Hozzászólások: 76
Megköszönték neki: 6 alkalommal
Zsoltiaz_HUN írta:
Vagy csak fogod és egyszerűen a szöveg elé oda írod a prefixet xd pl.
Kód:
[Szia]Én Zsoltisz vagyok.




Igen, ámde Nyelvi file-ból akarom megoldani igazán, de már megtaláltam a megoldást, köszönöm:D

A gungame print kis átírás után bárhol használható arra, hogy
1. színesen írja a chat üzeneteket
2. használd ML file-okkal

beteszem ide egyrészt emlékeztető nekem, másrészt, más is tudja használni
plugin elejére
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. #define LANG_PLAYER_C -76; // for print (arbitrary number)
  3. new g_pCvar_colored
  4. new gmsgSayText;
  5.  


plugin_init-be
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2.  
  3. g_pCvar_colored = register_cvar( "ach_messages", "2" ); //0 - nincs üzenet | 1- üzenet eredeti színnel | 2 - színes üzenetek használata (!y|!g|!t - sárga, zöld, team
  4. gmsgSayText = get_user_msgid("SayText");
  5.  



ahol kiíratni akarsz
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. client_printc_tag(0,0,1," %L", LANG_PLAYER_C, "STRING_STRING_STRING", szName)
  3.  

STRING_STRING_STRING -et definiálni a nyelvi fileban


SMA Forráskód: [ Mindet kijelol ]
  1.  
  2. stock client_printc_tag(id,custom,tag,msg[],any:...)
  3. {
  4. new messages = get_pcvar_num(g_pCvar_colored);
  5. if(!messages) return 0;
  6.  
  7. new changeCount, num, i, j, argnum = numargs(), player;
  8. static newMsg[191], message[191], changed[8], players[32];
  9.  
  10. if(id)
  11. {
  12. players[0] = id;
  13. num = 1;
  14. }
  15. else get_players(players,num);
  16.  
  17. for(i=0;i<num;i++)
  18. {
  19. player = players[i];
  20. changeCount = 0;
  21.  
  22. if(!is_user_connected(player)) continue;
  23.  
  24. // we have to change LANG_PLAYER into
  25. // a player-specific argument, because
  26. // ML doesn't work well with SayText
  27. for(j=4;j<argnum;j++)
  28. {
  29. if(getarg(j) == LANG_PLAYER_C)
  30. {
  31. setarg(j,0,player);
  32. changed[changeCount++] = j;
  33. }
  34. }
  35.  
  36. // do user formatting
  37. vformat(newMsg,190,msg,5);
  38.  
  39. // and now we have to change what we changed
  40. // back into LANG_PLAYER, so that the next
  41. // player will be able to have it in his language
  42. for(j=0;j<changeCount;j++)
  43. {
  44. setarg(changed[j],0,LANG_PLAYER_C);
  45. }
  46. if(tag)
  47. {
  48. formatex(message,190,"%L %s",player,"TAG_PLUGIN",newMsg);
  49. }
  50. else formatex(message,190,"%s",newMsg);
  51. // optimized color swapping
  52. if(messages == 2)
  53. {
  54. replace_all(message,190,"!t","^x03"); // team color
  55. replace_all(message,190,"!g","^x04"); // green
  56. replace_all(message,190,"!y","^x01"); // regular
  57. }
  58. else
  59. {
  60. replace_all(message,190,"!t","");
  61. replace_all(message,190,"!g","");
  62. replace_all(message,190,"!y","");
  63. }
  64.  
  65. // now do our formatting (I used two variables because sharing one caused glitches)
  66.  
  67.  
  68. message_begin(MSG_ONE,gmsgSayText,_,player);
  69. write_byte((custom > 0) ? custom : player);
  70. write_string(message);
  71. message_end();
  72. }
  73.  
  74. return 1;
  75. }
  76.  
  77.  

TAG_PLUGIN -t definiálni a nyelvi file-ban



viszont azt elmagyarázná valaki, hogy ebben:client_printc_tag(0,0,1," %L", LANG_PLAYER_C, "STRING_STRING_STRING", szName) mire való a 2. megadott érték (szám)
az 1. szám (0) ide kell írni a játékos id-jét, ha csak neki akarod küldeni, 0 esetén mindenkinek küldi
2. szám (0) --mire való?????
3.szám (1) ezzel kapcsolható ki/ be üzenetenként, hogy elé tegye-e az előtagot.

_________________
Kép


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 38 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