hlmod.hu

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



Jelenlévő felhasználók

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

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: 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: ZP Átalakított Extra cucc segítség
HozzászólásElküldve:2012.06.01. 20:00 
Offline
Tud valamit

Csatlakozott:2011.08.28. 08:19
Hozzászólások:103
Sziasztok. Valaki segítene megcsinálni azt, hogy mikor megfertőződik vagy meghal az ember fellehessen venni és legyen w_ modelja is és hogy következő körbe megmaradjon?
Itt a SMA:
Kód:
  1. /*======================================================*\

  2. ||      [ZP] Extra Item : Plasma Rifle                  ||

  3. ||      by Sh0oT3R      Forditotta:N4NDEE               ||

  4. \*======================================================*/

  5.  

  6. #include <amxmodx>

  7. #include <amxmisc>

  8. #include <hamsandwich>

  9. #include <engine>

  10. #include <cstrike>

  11. #include <fakemeta>

  12. #include <xs>

  13. #include <zombieplague>

  14.  

  15. #define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))

  16.  

  17. #define VERSION "1.0"

  18. #define AUTHOR "Sh0oT3R"

  19.  

  20. #define FIRERATE 0.2

  21. #define HITSD 1.0

  22. #define RELOADSPEED 1.0

  23. #define DAMAGE 20.0

  24. #define DAMAGE_MULTI 2.5

  25.  

  26. #define CSW_WPN CSW_TMP

  27. new const weapon[] = "weapon_tmp"

  28.  

  29. new const g_Cost = 0

  30. new const spr_beam[] = "sprites/dot.spr"

  31. new const spr_exp[] = "sprites/dot.spr"

  32. new const spr_blood[] = "sprites/blood.spr"

  33. new const snd_fire[][] = { "zombie_plague/plasma/plasma_fire.wav" }

  34. new const snd_reload[][] = { "zombie_plague/plasma/plasma_reload.wav" }

  35. new const snd_hit[][] = { "zombie_plague/plasma/plasma_hit.wav" }

  36.  

  37. new bool:g_HasRifle[33]

  38. new g_iCurWpn[33], Float:g_flLastFireTime[33]

  39. new g_iItemId, g_sprBeam, g_sprExp, g_sprBlood, g_msgDamage, g_msgScreenFade, g_msgScreenShake

  40.  

  41. const m_pPlayer =               41

  42. const m_fInReload =             54

  43. const m_pActiveItem =           373

  44. const m_flNextAttack =          83

  45. const m_flTimeWeaponIdle =      48

  46. const m_flNextPrimaryAttack =   46

  47. const m_flNextSecondaryAttack = 47

  48.  

  49. const UNIT_SECOND =             (1<<12)

  50. const ENG_NULLENT =             -1

  51. const WPN_MAXCLIP =             25

  52. const ANIM_FIRE =               5

  53. const ANIM_DRAW =               10

  54. const ANIM_RELOAD =             9

  55. const EV_INT_WEAPONKEY =        EV_INT_impulse

  56. const WPNKEY =                  2816

  57.  

  58. public plugin_init()

  59. {

  60.         register_plugin("[ZP] Extra Item: Plasma Rifle", VERSION, AUTHOR)

  61.        

  62.         register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0");

  63.         register_event("CurWeapon", "event_CurWeapon", "b", "1=1")     

  64.  

  65.         register_forward(FM_CmdStart, "fw_CmdStart")

  66.         register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)

  67.        

  68.         RegisterHam(Ham_Killed, "player", "fw_PlayerKilled")

  69.         RegisterHam(Ham_Item_Deploy, weapon, "fw_Deploy_Post", 1)

  70.         RegisterHam(Ham_Item_AddToPlayer, weapon, "fw_AddToPlayer")

  71.         RegisterHam(Ham_Weapon_Reload, weapon, "fw_Reload_Post", 1)

  72.         RegisterHam(Ham_Item_PostFrame, weapon, "fw_PostFrame")

  73.        

  74.         g_iItemId = zp_register_extra_item("Plazma Puska", g_Cost, ZP_TEAM_HUMAN)

  75.        

  76.         g_msgDamage = get_user_msgid("Damage")

  77.         g_msgScreenFade = get_user_msgid("ScreenFade")

  78.         g_msgScreenShake = get_user_msgid("ScreenShake")

  79. }

  80.  

  81. public plugin_precache()

  82. {

  83.         precache_model("models/v_gauss.mdl")

  84.         precache_model("models/p_gauss.mdl")

  85.         precache_model("models/w_gauss.mdl")

  86.  

  87.         g_sprBlood = precache_model(spr_blood)

  88.         g_sprBeam = precache_model(spr_beam)

  89.         g_sprExp = precache_model(spr_exp)

  90.        

  91.         static i

  92.         for(i = 0; i < sizeof snd_fire; i++)

  93.                 precache_sound(snd_fire[i])

  94.         for(i = 0; i < sizeof snd_hit; i++)

  95.                 precache_sound(snd_hit[i])

  96.         for(i = 0; i < sizeof snd_reload; i++)

  97.                 precache_sound(snd_reload[i])  

  98. }

  99. public event_CurWeapon(id)

  100. {

  101.         if(!is_user_alive(id))

  102.         return PLUGIN_CONTINUE

  103.                

  104.         g_iCurWpn[id] = read_data(2)

  105.        

  106.         if(zp_get_user_zombie(id) || zp_get_user_survivor(id))

  107.                 return PLUGIN_CONTINUE

  108.                

  109.         if(!g_HasRifle[id] || g_iCurWpn[id] != CSW_WPN)

  110.                 return PLUGIN_CONTINUE

  111.                

  112.         entity_set_string(id, EV_SZ_viewmodel, "models/v_gauss.mdl")

  113.         entity_set_string(id, EV_SZ_weaponmodel, "models/p_gauss.mdl")

  114.         return PLUGIN_CONTINUE

  115. }

  116. public zp_user_humanized_pre(id)

  117. {

  118.         g_HasRifle[id] = false

  119. }

  120. public zp_user_infected_post(id)

  121. {

  122.         g_HasRifle[id] = false

  123. }

  124. public fw_PlayerKilled(victim, attacker, shouldgib)

  125. {

  126.         if(is_user_alive(victim))

  127.         {

  128.                 g_HasRifle[victim] = false

  129.                 return HAM_HANDLED

  130.         }

  131.         return HAM_IGNORED

  132. }

  133.  

  134. public Event_NewRound()

  135. {

  136.         for (new i = 1; i <= get_maxplayers(); i++)

  137.         {

  138.                 g_HasRifle[i] = false

  139.         }

  140. }

  141. public client_putinserver(id)

  142. {

  143.         g_HasRifle[id] = false

  144. }

  145. public client_disconnect(id)

  146. {

  147.         g_HasRifle[id] = false

  148. }

  149. public zp_extra_item_selected(id, itemid)

  150. {

  151.         if(itemid == g_iItemId)

  152.         {              

  153.                 new bool:HasWpn = bool:user_has_weapon(id, CSW_WPN)

  154.                

  155.                 if(!g_HasRifle[id] && !HasWpn)

  156.                 {

  157.                         g_HasRifle[id] = true  

  158.                         fm_give_item(id, weapon)       

  159.                         cs_set_user_bpammo(id, CSW_WPN, 100)   

  160.                         engclient_cmd(id, weapon)

  161.                 }

  162.                 else

  163.                 {

  164.                         zp_set_user_ammo_packs(id, zp_get_user_ammo_packs(id) + g_Cost)

  165.                         return PLUGIN_CONTINUE

  166.                 }

  167.         }

  168.         return PLUGIN_CONTINUE

  169. }

  170. public fw_CmdStart(id, handle, seed)

  171. {

  172.         if(!is_user_alive(id))

  173.                 return FMRES_IGNORED

  174.        

  175.         if(!g_HasRifle[id])

  176.                 return FMRES_IGNORED

  177.                

  178.         if(zp_get_user_zombie(id) || zp_get_user_survivor(id))

  179.                 return FMRES_IGNORED

  180.        

  181.         if(g_iCurWpn[id] != CSW_WPN)

  182.                 return FMRES_IGNORED

  183.                

  184.         static iButton

  185.         iButton = get_uc(handle, UC_Buttons)

  186.        

  187.         if(iButton & IN_ATTACK)

  188.         {

  189.                 set_uc(handle, UC_Buttons, iButton & ~IN_ATTACK)

  190.                

  191.                 static Float:flCurTime

  192.                 flCurTime = halflife_time()

  193.                

  194.                 if(flCurTime - g_flLastFireTime[id] < FIRERATE)

  195.                         return FMRES_IGNORED

  196.                        

  197.                 static iWpnID, iClip

  198.                 iWpnID = get_pdata_cbase(id, m_pActiveItem, 5)

  199.                 iClip = cs_get_weapon_ammo(iWpnID)

  200.                

  201.                 if(get_pdata_int(iWpnID, m_fInReload, 4))

  202.                         return FMRES_IGNORED

  203.                

  204.                 set_pdata_float(iWpnID, m_flNextPrimaryAttack, FIRERATE, 4)

  205.                 set_pdata_float(iWpnID, m_flNextSecondaryAttack, FIRERATE, 4)

  206.                 set_pdata_float(iWpnID, m_flTimeWeaponIdle, FIRERATE, 4)

  207.                 g_flLastFireTime[id] = flCurTime

  208.                 if(iClip <= 0)

  209.                 {

  210.                         ExecuteHamB(Ham_Weapon_PlayEmptySound, iWpnID)

  211.                         return FMRES_IGNORED

  212.                 }

  213.                 primary_attack(id)

  214.                 make_punch(id, 50)

  215.                 cs_set_weapon_ammo(iWpnID, --iClip)

  216.                

  217.                 return FMRES_IGNORED

  218.         }

  219.        

  220.         return FMRES_IGNORED

  221. }

  222. public fw_UpdateClientData_Post(id, sendweapons, handle)

  223. {

  224.         if(!is_user_alive(id))

  225.                 return FMRES_IGNORED

  226.                

  227.         if(!g_HasRifle[id])

  228.                 return FMRES_IGNORED

  229.                

  230.         if(zp_get_user_zombie(id) || zp_get_user_survivor(id))

  231.                 return FMRES_IGNORED

  232.        

  233.         if(g_iCurWpn[id] != CSW_WPN)

  234.                 return FMRES_IGNORED

  235.                

  236.         set_cd(handle, CD_flNextAttack, halflife_time() + 0.001)

  237.         return FMRES_HANDLED

  238. }

  239. public fw_Deploy_Post(wpn)

  240. {

  241.         static id

  242.         id = get_pdata_cbase(wpn, m_pPlayer, 4)

  243.        

  244.         if(is_user_connected(id) && g_HasRifle[id])

  245.         {

  246.                 set_wpnanim(id, ANIM_DRAW)

  247.         }

  248.         return HAM_IGNORED

  249. }

  250. public fw_AddToPlayer(wpn, id)

  251. {

  252.         if(is_valid_ent(wpn) && is_user_connected(id) && entity_get_int(wpn, EV_INT_WEAPONKEY) == WPNKEY)

  253.         {

  254.                 g_HasRifle[id] = true

  255.                 entity_set_int(wpn, EV_INT_WEAPONKEY, 0)

  256.                 return HAM_HANDLED

  257.         }

  258.         return HAM_IGNORED

  259. }

  260. public fw_PostFrame(wpn)

  261. {

  262.         static id

  263.         id = get_pdata_cbase(wpn, m_pPlayer, 4)

  264.  

  265.         if(is_user_alive(id) && g_HasRifle[id])

  266.         {

  267.                 static Float:flNextAttack, iBpAmmo, iClip, iInReload

  268.                 iInReload = get_pdata_int(wpn, m_fInReload, 4)

  269.                 flNextAttack = get_pdata_float(id, m_flNextAttack, 5)

  270.                 iBpAmmo = cs_get_user_bpammo(id, CSW_WPN)

  271.                 iClip = cs_get_weapon_ammo(wpn)

  272.                

  273.                 if(iInReload && flNextAttack <= 0.0)

  274.                 {

  275.                         new iRemClip = min(WPN_MAXCLIP - iClip, iBpAmmo)

  276.                         cs_set_weapon_ammo(wpn, iClip + iRemClip)

  277.                         cs_set_user_bpammo(id, CSW_WPN, iBpAmmo-iRemClip)

  278.                         iInReload = 0

  279.                         set_pdata_int(wpn, m_fInReload, 0, 4)

  280.                 }

  281.                 static iButton

  282.                 iButton = get_user_button(id)

  283.  

  284.                 if((iButton & IN_ATTACK2 && get_pdata_float(wpn, m_flNextSecondaryAttack, 4) <= 0.0) || (iButton & IN_ATTACK && get_pdata_float(wpn, m_flNextPrimaryAttack, 4) <= 0.0))

  285.                         return

  286.                

  287.                 if(iButton & IN_RELOAD && !iInReload)

  288.                 {

  289.                         if(iClip >= WPN_MAXCLIP)

  290.                         {

  291.                                 entity_set_int(id, EV_INT_button, iButton & ~IN_RELOAD)

  292.                                 set_wpnanim(id, 0)

  293.                         }

  294.                         else if(iClip == WPN_MAXCLIP)

  295.                         {

  296.                                 if(iBpAmmo)

  297.                                 {

  298.                                         reload(id, wpn, 1)

  299.                                 }

  300.                         }

  301.                 }

  302.         }

  303. }

  304. public fw_Reload_Post(wpn)

  305. {

  306.         static id

  307.         id = get_pdata_cbase(wpn, m_pPlayer, 4)

  308.        

  309.         if(is_user_alive(id) && g_HasRifle[id] && get_pdata_int(wpn, m_fInReload, 4))

  310.         {              

  311.                 reload(id, wpn)

  312.         }

  313. }

  314. public primary_attack(id)

  315. {

  316.         set_wpnanim(id, ANIM_FIRE)

  317.         entity_set_vector(id, EV_VEC_punchangle, Float:{ -1.5, 0.0, 0.0 })

  318.         emit_sound(id, CHAN_WEAPON, snd_fire[random_num(0, sizeof snd_fire - 1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)

  319.  

  320.         static iTarget, iBody, iEndOrigin[3], iStartOrigin[3]

  321.         get_user_origin(id, iStartOrigin, 1)

  322.         get_user_origin(id, iEndOrigin, 3)

  323.         fire_effects(iStartOrigin, iEndOrigin)

  324.         get_user_aiming(id, iTarget, iBody)

  325.        

  326.         new iEnt = create_entity("info_target")

  327.        

  328.         static Float:flOrigin[3]

  329.         IVecFVec(iEndOrigin, flOrigin)

  330.         entity_set_origin(iEnt, flOrigin)

  331.         remove_entity(iEnt)

  332.        

  333.         if(is_user_alive(iTarget))

  334.         {      

  335.                 if(HITSD > 0.0)

  336.                 {

  337.                         static Float:flVelocity[3]

  338.                         get_user_velocity(iTarget, flVelocity)

  339.                         xs_vec_mul_scalar(flVelocity, HITSD, flVelocity)

  340.                         set_user_velocity(iTarget, flVelocity) 

  341.                 }

  342.                 if(zp_get_user_zombie(iTarget) || zp_get_user_nemesis(iTarget))

  343.                 {

  344.                         new iHp = pev(iTarget, pev_health)

  345.                         new Float:iDamage, iBloodScale

  346.                         if(iBody == HIT_HEAD)

  347.                         {

  348.                                 iDamage = DAMAGE

  349.                                 iBloodScale = 10

  350.                         }

  351.                         else

  352.                         {

  353.                                 iDamage = DAMAGE*DAMAGE_MULTI

  354.                                 iBloodScale = 25

  355.                         }

  356.                         if(iHp > iDamage)

  357.                         {

  358.                                 make_blood(iTarget, iBloodScale)

  359.                                 set_pev(iTarget, pev_health, iHp-iDamage)

  360.                                 damage_effects(iTarget)

  361.                         }

  362.                         else if(iHp <= iDamage)

  363.                         {

  364.                                 ExecuteHamB(Ham_Killed, iTarget, id, 2)

  365.                         }

  366.                 }

  367.         }

  368.         else

  369.         {

  370.                 emit_sound(id, CHAN_WEAPON, snd_hit[random_num(0, sizeof snd_hit - 1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)

  371.         }

  372. }

  373. stock fire_effects(iStartOrigin[3], iEndOrigin[3])

  374. {

  375.         message_begin(MSG_BROADCAST,SVC_TEMPENTITY)

  376.         write_byte(0)    

  377.         write_coord(iStartOrigin[0])

  378.         write_coord(iStartOrigin[1])

  379.         write_coord(iStartOrigin[2])

  380.         write_coord(iEndOrigin[0])

  381.         write_coord(iEndOrigin[1])

  382.         write_coord(iEndOrigin[2])

  383.         write_short(g_sprBeam)

  384.         write_byte(1)

  385.         write_byte(5)

  386.         write_byte(10)

  387.         write_byte(25)

  388.         write_byte(0)

  389.         write_byte(0)    

  390.         write_byte(128)      

  391.         write_byte(255)      

  392.         write_byte(100)

  393.         write_byte(0)

  394.         message_end()

  395.        

  396.         message_begin(MSG_BROADCAST, SVC_TEMPENTITY)

  397.         write_byte(3)

  398.         write_coord(iEndOrigin[0])

  399.         write_coord(iEndOrigin[1])

  400.         write_coord(iEndOrigin[2])

  401.         write_short(g_sprExp)

  402.         write_byte(10)

  403.         write_byte(15)

  404.         write_byte(4)

  405.         message_end()  

  406. }

  407. stock reload(id, wpn, force_reload = 0)

  408. {

  409.         set_pdata_float(id, m_flNextAttack, RELOADSPEED, 5)

  410.         set_wpnanim(id, ANIM_RELOAD)

  411.         emit_sound(id, CHAN_WEAPON, snd_reload[random_num(0, sizeof snd_reload - 1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)

  412.        

  413.         if(force_reload)

  414.                 set_pdata_int(wpn, m_fInReload, 1, 4)

  415. }

  416. stock damage_effects(id)

  417. {

  418.         message_begin(MSG_ONE_UNRELIABLE, g_msgDamage, _, id)

  419.         write_byte(0)

  420.         write_byte(0)

  421.         write_long(DMG_NERVEGAS)

  422.         write_coord(0)

  423.         write_coord(0)

  424.         write_coord(0)

  425.         message_end()

  426.        

  427.         message_begin(MSG_ONE_UNRELIABLE, g_msgScreenFade, {0,0,0}, id)

  428.         write_short(1<<13)

  429.         write_short(1<<14)

  430.         write_short(0x0000)

  431.         write_byte(0)

  432.         write_byte(255)

  433.         write_byte(0)

  434.         write_byte(100)

  435.         message_end()

  436.                

  437.         message_begin(MSG_ONE, g_msgScreenShake, {0,0,0}, id)

  438.         write_short(0xFFFF)

  439.         write_short(1<<13)

  440.         write_short(0xFFFF)

  441.         message_end()

  442. }

  443. stock make_blood(id, scale)

  444. {

  445.         new Float:iVictimOrigin[3]

  446.         pev(id, pev_origin, iVictimOrigin)

  447.        

  448.         message_begin(MSG_BROADCAST, SVC_TEMPENTITY)

  449.         write_byte(115)

  450.         write_coord(floatround(iVictimOrigin[0]+random_num(-20,20)))

  451.         write_coord(floatround(iVictimOrigin[1]+random_num(-20,20)))

  452.         write_coord(floatround(iVictimOrigin[2]+random_num(-20,20)))

  453.         write_short(g_sprBlood)

  454.         write_short(g_sprBlood)

  455.         write_byte(248)

  456.         write_byte(scale)

  457.         message_end()

  458. }

  459. stock set_wpnanim(id, anim)

  460. {

  461.         entity_set_int(id, EV_INT_weaponanim, anim)

  462.         message_begin(MSG_ONE, SVC_WEAPONANIM, {0, 0, 0}, id)

  463.         write_byte(anim)

  464.         write_byte(entity_get_int(id, EV_INT_body))

  465.         message_end()

  466. }

  467. stock make_punch(id, velamount)

  468. {

  469.         static Float:flNewVelocity[3], Float:flCurrentVelocity[3]

  470.         velocity_by_aim(id, -velamount, flNewVelocity)

  471.         get_user_velocity(id, flCurrentVelocity)

  472.         xs_vec_add(flNewVelocity, flCurrentVelocity, flNewVelocity)

  473.         set_user_velocity(id, flNewVelocity)   

  474. }

  475. stock fm_give_item(index, const item[])

  476. {

  477.         if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))

  478.                 return 0;

  479.  

  480.         new ent = fm_create_entity(item);

  481.         if (!pev_valid(ent))

  482.                 return 0;

  483.        

  484.         new Float:origin[3];

  485.         pev(index, pev_origin, origin);

  486.         set_pev(ent, pev_origin, origin);

  487.         set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);

  488.         dllfunc(DLLFunc_Spawn, ent);

  489.        

  490.         new save = pev(ent, pev_solid);

  491.         dllfunc(DLLFunc_Touch, ent, index);

  492.         if (pev(ent, pev_solid) != save)

  493.                 return ent;

  494.        

  495.         engfunc(EngFunc_RemoveEntity, ent);

  496.        

  497.         return -1;

  498. }

  499.  

  500. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE

  501. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }

  502. */

  503.  

_________________
Magyar Biohazard szervert keresek, ha kell segítek is.


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2012.06.07. 07:10 
Offline
Veterán
Avatar

Csatlakozott:2011.06.07. 15:29
Hozzászólások:1728
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 63 alkalommal
Felvenni a halott ember úgy, hogy a következő körben megmaradjon?


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2012.06.07. 14:59 
Offline
Tud valamit

Csatlakozott:2011.08.28. 08:19
Hozzászólások:103
Na rosszul írtam le :oops: Ha meghal az ember eldobja és élő ember feltudja venni

_________________
Magyar Biohazard szervert keresek, ha kell segítek is.


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2012.06.07. 18:44 
Offline
Veterán
Avatar

Csatlakozott:2011.06.07. 15:29
Hozzászólások:1728
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 63 alkalommal
Ez még mindig azt jelenti, hogy az embert lehet felvenni. xD
És azt sem írtad le, hogy mit dob el.


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