hlmod.hu

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



Jelenlévő felhasználók

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

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-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 A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [11 hozzászólás ]  Oldal12Következő
Szerző Üzenet
 Hozzászólás témája: Monster_Cfg
HozzászólásElküldve:2011.12.22. 18:19 
Offline
Senior Tag

Csatlakozott:2011.07.06. 22:19
Hozzászólások:254
Megköszönték neki: 1 alkalommal
megmondaná valaki mi baja van szerónak evvel pluginnal (unkown)
[spoiler]
Kód:
#include <amxmodx>

new const PLUGIN[] = "Monster Cfg Creator"
new const VERSION[] = "3.0"
new const AUTHOR[] = "Timmi the savage"

new g_szMonName[16], g_iDelay, g_iAmount, g_iAngle, g_iAngleMax, g_iAngleMin

public plugin_init()
{
   register_plugin(PLUGIN, VERSION, AUTHOR)
   register_clcmd("monster_cfg", "MonsterNameMenu")
}

public MonsterNameMenu(id)
{
   new iNameMenu = menu_create("\yChoose a monster to add to the file!", "NameMenu_Handle")
   
   menu_additem(iNameMenu, "\wAlien Grunt", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wApache", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wBarnacle", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wBarney", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wOtis", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wBigmomma", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wBloater", "", ADMIN_MENU)
   
   menu_additem(iNameMenu, "\wBullsquid", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wController", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wGargantua", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wBaby Gargantua", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wG-Man", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wHuman Assassin", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wHeadcrab", "", ADMIN_MENU)
   
   menu_additem(iNameMenu, "\wHuman Grunt", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wHoundeye", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wIchthyosaur", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wAlien Slave", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wLeech", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wScientist", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wSnark", "", ADMIN_MENU)
   
   menu_additem(iNameMenu, "\wTencacle", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wZombie", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wGonome", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wRat", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wRoach", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wMassn", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wHuman Grunt Commander", "", ADMIN_MENU)
   
   menu_additem(iNameMenu, "\wBarney Dead", "", ADMIN_MENU)
   menu_additem(iNameMenu, "\wHuman Grunt Dead", "", ADMIN_MENU)
   
   menu_setprop(iNameMenu, MPROP_EXIT, MEXIT_ALL)
   
   menu_display(id, iNameMenu, 0)
   
   return PLUGIN_HANDLED
}

public NameMenu_Handle(id, this, iNameItem)
{
   if (iNameItem == MENU_EXIT)
   {
      menu_destroy(this)
      return PLUGIN_HANDLED
   }
   
   switch(iNameItem)
   {
      case 0: g_szMonName = "agrunt"
      case 1: g_szMonName = "apache"
      case 2: g_szMonName = "barnacle"
      case 3: g_szMonName = "barney"
      case 4: g_szMonName = "otis"
      case 5: g_szMonName = "bigmomma"
      case 6: g_szMonName = "bloater"
      case 7: g_szMonName = "bullsquid"
      case 8: g_szMonName = "controller"
      case 9: g_szMonName = "gargantua"
      case 10: g_szMonName = "babygarg"
      case 11: g_szMonName = "gman"
      case 12: g_szMonName = "hassassin"
      case 13: g_szMonName = "headcrab"
      case 14: g_szMonName = "hgrunt"
      case 15: g_szMonName = "houndeye"
      case 16: g_szMonName = "ichthyosaur"
      case 17: g_szMonName = "islave"
      case 18: g_szMonName = "leech"
      case 19: g_szMonName = "scientist"
      case 20: g_szMonName = "snark"
      case 21: g_szMonName = "tencacle"
      case 22: g_szMonName = "zombie"
      case 23: g_szMonName = "gonome"
      case 24: g_szMonName = "rat"
      case 25: g_szMonName = "roach"
      case 26: g_szMonName = "massn"
      case 27: g_szMonName = "gruntcmdr"
      case 28: g_szMonName = "barneydead"
      case 29: g_szMonName = "hgruntdead"
   }
   
   menu_destroy(this)
   client_print(id, print_chat, "[AMXX] Monster Name: %s", g_szMonName)
   MonsterAmountMenu(id)
   
   return PLUGIN_HANDLED
}

public MonsterAmountMenu(id)
{
   new iAmountMenu = menu_create("\yHow many monsters do you want to spawn here?", "AmountMenu_Handle")
   
   menu_additem(iAmountMenu, "\w1", "", ADMIN_MENU)
   menu_additem(iAmountMenu, "\w2", "", ADMIN_MENU)
   menu_additem(iAmountMenu, "\w3", "", ADMIN_MENU)
   menu_additem(iAmountMenu, "\w4", "", ADMIN_MENU)
   menu_additem(iAmountMenu, "\w5", "", ADMIN_MENU)
   menu_additem(iAmountMenu, "\w6", "", ADMIN_MENU)
   menu_additem(iAmountMenu, "\w7", "", ADMIN_MENU)
   
   menu_setprop(iAmountMenu, MPROP_EXIT, MEXIT_ALL)
   
   menu_display(id, iAmountMenu, 0)
   
   return PLUGIN_HANDLED
}

public AmountMenu_Handle(id, this, iAmountItem)
{
   if (iAmountItem == MENU_EXIT)
   {
      menu_destroy(this)
      return PLUGIN_HANDLED
   }
   
   switch(iAmountItem)
   {
      case 0: g_iAmount = 1
      case 1: g_iAmount = 2
      case 2: g_iAmount = 3
      case 3: g_iAmount = 4
      case 4: g_iAmount = 5
      case 5: g_iAmount = 6
      case 6: g_iAmount = 7
   }
   
   menu_destroy(this)
   client_print(id, print_chat, "[AMXX] Spawn Amount: %d", g_iAmount)
   MonsterDelayMenu(id)
   
   return PLUGIN_HANDLED
}

public MonsterDelayMenu(id)
{
   new iDelayMenu = menu_create("\yWhat delay do you want it to spawn at?", "DelayMenu_Handle")
   
   menu_additem(iDelayMenu, "\w1", "", ADMIN_MENU)
   menu_additem(iDelayMenu, "\w5", "", ADMIN_MENU)
   menu_additem(iDelayMenu, "\w10", "", ADMIN_MENU)
   menu_additem(iDelayMenu, "\w15", "", ADMIN_MENU)
   menu_additem(iDelayMenu, "\w20", "", ADMIN_MENU)
   menu_additem(iDelayMenu, "\w25", "", ADMIN_MENU)
   menu_additem(iDelayMenu, "\w30", "", ADMIN_MENU)
   
   menu_additem(iDelayMenu, "\w40", "", ADMIN_MENU)
   menu_additem(iDelayMenu, "\w50", "", ADMIN_MENU)
   menu_additem(iDelayMenu, "\w60", "", ADMIN_MENU)
   menu_additem(iDelayMenu, "\w120", "", ADMIN_MENU)
   menu_additem(iDelayMenu, "\w180", "", ADMIN_MENU)
   menu_additem(iDelayMenu, "\w300", "", ADMIN_MENU)
   menu_additem(iDelayMenu, "\w3000", "", ADMIN_MENU)
   
   menu_setprop(iDelayMenu, MPROP_EXIT, MEXIT_ALL)
   
   menu_display(id, iDelayMenu, 0)
   
   return PLUGIN_HANDLED
}

public DelayMenu_Handle(id, this, iDelayItem)
{
   if (iDelayItem == MENU_EXIT)
   {
      menu_destroy(this)
      return PLUGIN_HANDLED
   }
   
   switch(iDelayItem)
   {
      case 0: g_iDelay = 1
      case 1: g_iDelay = 5
      case 2: g_iDelay = 10
      case 3: g_iDelay = 15
      case 4: g_iDelay = 20
      case 5: g_iDelay = 25
      case 6: g_iDelay = 30
      case 7: g_iDelay = 40
      case 8: g_iDelay = 50
      case 9: g_iDelay = 60
      case 10: g_iDelay = 120
      case 11: g_iDelay = 180
      case 12: g_iDelay = 300
      case 13: g_iDelay = 3000
   }
   
   menu_destroy(this)
   client_print(id, print_chat, "[AMXX] Spawn Delay: %d", g_iDelay)
   MonsterAngleMenu(id)
   
   return PLUGIN_HANDLED
}

public MonsterAngleMenu(id)
{
   new iAngleMenu = menu_create("\yMonster angle?", "AngleMenu_Handle")
   
   menu_additem(iAngleMenu, "\w15", "", ADMIN_MENU)
   menu_additem(iAngleMenu, "\w30", "", ADMIN_MENU)
   menu_additem(iAngleMenu, "\w45", "", ADMIN_MENU)
   menu_additem(iAngleMenu, "\w60", "", ADMIN_MENU)
   menu_additem(iAngleMenu, "\w90", "", ADMIN_MENU)
   menu_additem(iAngleMenu, "\w120", "", ADMIN_MENU)
   menu_additem(iAngleMenu, "\w150", "", ADMIN_MENU)
   
   menu_additem(iAngleMenu, "\w180", "", ADMIN_MENU)
   menu_additem(iAngleMenu, "\w210", "", ADMIN_MENU)
   menu_additem(iAngleMenu, "\w240", "", ADMIN_MENU)
   menu_additem(iAngleMenu, "\w270", "", ADMIN_MENU)
   menu_additem(iAngleMenu, "\w300", "", ADMIN_MENU)
   menu_additem(iAngleMenu, "\w330", "", ADMIN_MENU)
   menu_additem(iAngleMenu, "\wMaxinum and mininum", "", ADMIN_MENU)
   
   menu_setprop(iAngleMenu, MPROP_EXIT, MEXIT_ALL)
   
   menu_display(id, iAngleMenu, 0)
   
   return PLUGIN_HANDLED
}

public AngleMenu_Handle(id, this, iAngleItem)
{
   if (iAngleItem == MENU_EXIT)
   {
      menu_destroy(this)
      return PLUGIN_HANDLED
   }
   
   switch(iAngleItem)
   {
      case 0: g_iAngle = 15
      case 1: g_iAngle = 30
      case 2: g_iAngle = 45
      case 3: g_iAngle = 60
      case 4: g_iAngle = 90
      case 5: g_iAngle = 120
      case 6: g_iAngle = 150
      case 7: g_iAngle = 180
      case 8: g_iAngle = 210
      case 9: g_iAngle = 240
      case 10: g_iAngle = 270
      case 11: g_iAngle = 300
      case 12: g_iAngle = 330
      case 13:
      {
         menu_destroy(this)
         MonsterAngleMaxMenu(id)
         return PLUGIN_HANDLED
      }
   }
   
   menu_destroy(this)
   client_print(id, print_chat, "[AMXX] Spawn Angle: %d", g_iAngle)
   MakeMonsterConfigFile(id)
   
   return PLUGIN_HANDLED
}

public MonsterAngleMaxMenu(id)
{
   new iMaxAngleMenu = menu_create("\yMonster maxinum angle?", "MaxAngleMenu_Handle")
   
   menu_additem(iMaxAngleMenu, "\w100", "", ADMIN_MENU)
   menu_additem(iMaxAngleMenu, "\w120", "", ADMIN_MENU)
   menu_additem(iMaxAngleMenu, "\w140", "", ADMIN_MENU)
   menu_additem(iMaxAngleMenu, "\w160", "", ADMIN_MENU)
   menu_additem(iMaxAngleMenu, "\w180", "", ADMIN_MENU)
   menu_additem(iMaxAngleMenu, "\w200", "", ADMIN_MENU)
   menu_additem(iMaxAngleMenu, "\w220", "", ADMIN_MENU)
   
   menu_additem(iMaxAngleMenu, "\w240", "", ADMIN_MENU)
   menu_additem(iMaxAngleMenu, "\w260", "", ADMIN_MENU)
   menu_additem(iMaxAngleMenu, "\w280", "", ADMIN_MENU)
   menu_additem(iMaxAngleMenu, "\w300", "", ADMIN_MENU)
   menu_additem(iMaxAngleMenu, "\w320", "", ADMIN_MENU)
   menu_additem(iMaxAngleMenu, "\w340", "", ADMIN_MENU)
   menu_additem(iMaxAngleMenu, "\w360", "", ADMIN_MENU)
   
   menu_setprop(iMaxAngleMenu, MPROP_EXIT, MEXIT_ALL)
   
   menu_display(id, iMaxAngleMenu, 0)
   
   return PLUGIN_HANDLED
}

public MaxAngleMenu_Handle(id, this, iMaxAngleItem)
{
   if (iMaxAngleItem == MENU_EXIT)
   {
      menu_destroy(this)
      return PLUGIN_HANDLED
   }
   
   switch(iMaxAngleItem)
   {
      case 0: g_iAngleMax = 100
      case 1: g_iAngleMax = 120
      case 2: g_iAngleMax = 140
      case 3: g_iAngleMax = 160
      case 4: g_iAngleMax = 180
      case 5: g_iAngleMax = 200
      case 6: g_iAngleMax = 220
      case 7: g_iAngleMax = 240
      case 8: g_iAngleMax = 260
      case 9: g_iAngleMax = 280
      case 10: g_iAngleMax = 300
      case 11: g_iAngleMax = 320
      case 12: g_iAngleMax = 340
      case 13: g_iAngleMax = 360
   }
   
   menu_destroy(this)
   client_print(id, print_chat, "[AMXX] Spawn Maxinum Angle: %d", g_iAngleMax)
   MonsterAngleMinMenu(id)
   
   return PLUGIN_HANDLED
}

public MonsterAngleMinMenu(id)
{
   new iMinAngleMenu = menu_create("\yMonster mininum angle?", "MinAngleMenu_Handle")
   
   menu_additem(iMinAngleMenu, "\w20", "", ADMIN_MENU)
   menu_additem(iMinAngleMenu, "\w40", "", ADMIN_MENU)
   menu_additem(iMinAngleMenu, "\w60", "", ADMIN_MENU)
   menu_additem(iMinAngleMenu, "\w80", "", ADMIN_MENU)
   menu_additem(iMinAngleMenu, "\w100", "", ADMIN_MENU)
   menu_additem(iMinAngleMenu, "\w120", "", ADMIN_MENU)
   menu_additem(iMinAngleMenu, "\w140", "", ADMIN_MENU)
   
   menu_additem(iMinAngleMenu, "\w160", "", ADMIN_MENU)
   menu_additem(iMinAngleMenu, "\w180", "", ADMIN_MENU)
   menu_additem(iMinAngleMenu, "\w200", "", ADMIN_MENU)
   menu_additem(iMinAngleMenu, "\w220", "", ADMIN_MENU)
   menu_additem(iMinAngleMenu, "\w240", "", ADMIN_MENU)
   menu_additem(iMinAngleMenu, "\w260", "", ADMIN_MENU)
   menu_additem(iMinAngleMenu, "\w280", "", ADMIN_MENU)
   
   menu_setprop(iMinAngleMenu, MPROP_EXIT, MEXIT_ALL)
   
   menu_display(id, iMinAngleMenu, 0)
   
   return PLUGIN_HANDLED
}

public MinAngleMenu_Handle(id, this, iMinAngleItem)
{
   if (iMinAngleItem == MENU_EXIT)
   {
      menu_destroy(this)
      return PLUGIN_HANDLED
   }
   
   switch(iMinAngleItem)
   {
      case 0: g_iAngleMin = 20
      case 1: g_iAngleMin = 40
      case 2: g_iAngleMin = 60
      case 3: g_iAngleMin = 80
      case 4: g_iAngleMin = 100
      case 5: g_iAngleMin = 120
      case 6: g_iAngleMin = 140
      case 7: g_iAngleMin = 160
      case 8: g_iAngleMin = 180
      case 9: g_iAngleMin = 200
      case 10: g_iAngleMin = 220
      case 11: g_iAngleMin = 240
      case 12: g_iAngleMin = 260
      case 13: g_iAngleMin = 280
   }
   
   menu_destroy(this)
   client_print(id, print_chat, "[AMXX] Spawn Mininum Angle: %d", g_iAngleMin)
   MakeMonsterConfigFile(id)
   
   return PLUGIN_HANDLED
}

public MakeMonsterConfigFile(id)
{
   static Data[64]
   static FilePath[64]
   static iOrigin[3]
   static szMapName[32]
   
   get_mapname(szMapName, charsmax(szMapName))
   format(FilePath, charsmax(FilePath), "/maps/%s_monster.cfg", szMapName)
   
   get_user_origin(id, iOrigin)
   format(Data, charsmax(Data), "{^norigin/%d %d %d^ndelay/%d", iOrigin[0], iOrigin[1], iOrigin[2], g_iDelay)
   write_file(FilePath, Data, -1)
   
   if (g_iAngle == 0)
   {
      format(Data, charsmax(Data), "angle_max/%d^nangle_min/%d", g_iAngleMax, g_iAngleMin)
      write_file(FilePath, Data, -1)
   }
   else
   {
      format(Data, charsmax(Data), "angle/%d", g_iAngle)
      write_file(FilePath, Data, -1)
      g_iAngle = 0
   }
   
   format(Data, charsmax(Data), "monster/%s^n}",g_szMonName)
   write_file(FilePath, Data, -1)
   
   set_hudmessage(75, 200, 200, -1.0, 0.86, 0, 6.0, 2.0, 0.1, 0.5, -1)
   show_hudmessage(id,"Data successfully written to %s!", FilePath)
}
[/spoiler]


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Monster_Cfg
HozzászólásElküldve:2011.12.22. 18:24 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
Olvasd logot!

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Monster_Cfg
HozzászólásElküldve:2011.12.22. 18:30 
Offline
Senior Tag

Csatlakozott:2011.07.06. 22:19
Hozzászólások:254
Megköszönték neki: 1 alkalommal
Nincs kedvem most ehhez a játékhoz nem értek nagyon hozzá mi az a log ? xD


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Monster_Cfg
HozzászólásElküldve:2011.12.22. 18:33 
Offline
Beavatott

Csatlakozott:2011.09.23. 15:50
Hozzászólások:91
cstrike/addons/amxmodx/logs


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Monster_Cfg
HozzászólásElküldve:2011.12.22. 18:33 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
Milyen játékról van szó? A logot az "amxmodx/logs/" mappában találod!

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Monster_Cfg
HozzászólásElküldve:2011.12.22. 18:34 
Offline
Senior Tag

Csatlakozott:2011.07.06. 22:19
Hozzászólások:254
Megköszönték neki: 1 alkalommal
Kód:
L 12/22/2011 - 18:06:55: Start of error session.
L 12/22/2011 - 18:06:55: Info (map "zm_jackass") (file "addons/amxmodx/logs/error_20111222.log")
L 12/22/2011 - 18:06:55: [AMXX] Plugin file open error (plugin "Monster_Cfg")
L 12/22/2011 - 18:12:21: Start of error session.
L 12/22/2011 - 18:12:21: Info (map "zm_jackass") (file "addons/amxmodx/logs/error_20111222.log")
L 12/22/2011 - 18:12:21: [AMXX] Plugin file open error (plugin "Monster_Cfg")
L 12/22/2011 - 18:32:16: Start of error session.
L 12/22/2011 - 18:32:16: Info (map "zm_jackass") (file "addons/amxmodx/logs/error_20111222.log")
L 12/22/2011 - 18:32:16: [AMXX] Plugin file open error (plugin "Monster_Cfg")

evvel nem sokra mentek szerintem


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Monster_Cfg
HozzászólásElküldve:2011.12.22. 18:35 
Offline
Beavatott

Csatlakozott:2011.09.23. 15:50
Hozzászólások:91
kiki írta:
Milyen játékról van szó? A logot az "amxmodx/logs/" mappában találod!

cs 1.6 :)
Am én is ezt írtam le csak kicsit hosszabban


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Monster_Cfg
HozzászólásElküldve:2011.12.22. 18:40 
Offline
Senior Tag

Csatlakozott:2011.07.06. 22:19
Hozzászólások:254
Megköszönték neki: 1 alkalommal
Na valaki? nagyon kéne !!


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Monster_Cfg
HozzászólásElküldve:2011.12.22. 18:42 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
.amxx ?XD, debugold

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 
 Hozzászólás témája: Re: Monster_Cfg
HozzászólásElküldve:2011.12.22. 19:09 
Offline
Senior Tag

Csatlakozott:2011.07.06. 22:19
Hozzászólások:254
Megköszönték neki: 1 alkalommal
az mi ? :D


Hozzászólás jelentése
Vissza a tetejére
   
 
Hozzászólások megjelenítése: Rendezés 
Új téma nyitása A témát lezárták, nem szerkesztheted a hozzászólásaid, és nem küldhetsz új hozzászólást.  [11 hozzászólás ]  Oldal12Következő


Ki van itt

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