hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 205 felhasználó van jelen :: 0 regisztrált, 1 rejtett és 204 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: csak a gyilkos tudja felvenni
HozzászólásElküldve: 2019.07.10. 21:42 
Offline
Lelkes

Csatlakozott: 2016.02.06. 19:28
Hozzászólások: 21
Megköszönt másnak: 57 alkalommal
Hogyan tudnám azt megoldani, hogy pl. mikor megölök egy embert akkor dob a földre egy modellt pl.(ládát) akkor csak azt tudja felvenni pl 2 körig, aki ellőtte azt az embert? (azt megtudom oldani hogy dobjon a földre modellt, csak azt nem, hogy csak azt tudja felvenni aki lőtte!)

  1. public lada_keszites(id, id_item)
  2. {
  3.     new Float:origins[3]
  4.     pev(id,pev_origin,origins);
  5.     new entit=create_entity("info_target")
  6.    
  7.         if( get_user_button(id) & IN_DUCK)
  8.         origins[2] -= 18
  9.         else origins[2] -= 36;
  10.    
  11.     set_pev(entit,pev_origin,origins)
  12.     entity_set_model(entit,lada)
  13.     set_pev(entit,pev_classname,"lada");
  14.    
  15.     dllfunc(DLLFunc_Spawn, entit);
  16.     set_pev(entit,pev_solid,SOLID_BBOX);
  17.     set_pev(entit,pev_movetype,MOVETYPE_FLY);
  18.    
  19.     engfunc(EngFunc_SetSize,entit,{-1.1, -1.1, -1.1},{1.1, 1.1, 1.1});
  20.    
  21.     engfunc(EngFunc_DropToFloor,entit);
  22.    
  23.     set_pev(entit, pev_iuser1, id_item)
  24. }
  25.  
  26. public fwd_lada(ent,id,nev)
  27. {
  28.     if(!is_user_alive(id)) return FMRES_IGNORED;
  29.    
  30.     if(!pev_valid(ent)) return FMRES_IGNORED;
  31.        
  32.     static classname[32];
  33.     pev(ent,pev_classname,classname,31);
  34.    
  35.     if(equali(classname,"lada"))
  36.     {
  37.              if(pev(id,pev_button))
  38.              { 
  39.               lada[id] ++
  40.               engfunc(EngFunc_RemoveEntity,ent);
  41.              }
  42.     }
  43.     else return FMRES_IGNORED;
  44.  
  45.     return PLUGIN_HANDLED
  46. }


A hozzászólást 1 alkalommal szerkesztették, utoljára Pika 2019.07.10. 21:49-kor.
Használj SMA kiemelést!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: csak a gyilkos tudja felvenni
HozzászólásElküldve: 2019.07.11. 22:51 
Offline
Őstag
Avatar

Csatlakozott: 2015.07.27. 22:56
Hozzászólások: 1367
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 351 alkalommal
Túl fáradt vagyok hozzá, de valami ilyesmi kell neked:
  1. public plugin_init()
  2.     RegisterHam(Ham_Touch, "info_target", "fw_TouchTarget");
  3.  
  4. // .... funkcióid amiket írtál ....
  5.  
  6. public fw_TouchTarget(ent, id)
  7. {
  8.     if (!pev_valid(ent) || !(1 <= id <= MAX_PLAYERS))
  9.         return HAM_IGNORED;
  10.  
  11.     new iUser;
  12.     pev(ent, pev_iuser1, iUser);
  13.  
  14.     if ( iUser != id)
  15.     {
  16.         //client_print_color(id, 0, "^4Csak a tulajdonosa veheti fel a ládát!");
  17.         return HAM_SUPERCEDE;
  18.     }
  19.  
  20.     return HAM_IGNORED;
  21. }


Plusz hozzáírsz valami körfigyelést ahogy írtad fentebb és kész is.

Ők köszönték meg regener nek ezt a hozzászólást: jocikahehe (2019.07.11. 23:14)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: csak a gyilkos tudja felvenni
HozzászólásElküldve: 2019.07.11. 23:24 
Offline
Lelkes

Csatlakozott: 2016.02.06. 19:28
Hozzászólások: 21
Megköszönt másnak: 57 alkalommal
Valahogy így?

  1. public fwd_lada(ent,id,nev)
  2. {
  3.         if (!pev_valid(ent) || !(1 <= id <= 33)) return HAM_IGNORED;
  4.    
  5.     new iUser;
  6.         pev(ent, pev_iuser1, iUser);
  7.  
  8.     if(!is_user_alive(id)) return FMRES_IGNORED;
  9.    
  10.     if(!pev_valid(ent)) return FMRES_IGNORED;
  11.        
  12.     static classname[32];
  13.     pev(ent,pev_classname,classname,31);
  14.    
  15.     new nev[32]
  16.     get_user_name(id, nev, charsmax(nev))
  17.    
  18.     if(equali(classname,"aranys"))
  19.     {
  20.         if(iUser != id)
  21.         {  
  22.             if(Vip[id] == 0)
  23.             {
  24.                 arany[id] += random_num(5, 10)
  25.                 ColorChat(id, GREEN, "[Drop] ^1Találtál ^3%d ^4aranyat")
  26.             }
  27.             else
  28.             {
  29.                 arany[id] += random_num(5, 15)
  30.                 ColorChat(id, GREEN, "[Drop] ^1Találtál ^3%d ^4aranyat")
  31.             }
  32.             engfunc(EngFunc_RemoveEntity,ent);
  33.            }
  34.     }
  35.     else return HAM_SUPERCEDE;
  36.     return PLUGIN_HANDLED
  37. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: csak a gyilkos tudja felvenni
HozzászólásElküldve: 2019.07.13. 23:22 
Offline
Őstag
Avatar

Csatlakozott: 2015.07.27. 22:56
Hozzászólások: 1367
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 351 alkalommal
jocikahehe írta:
Valahogy így?


Fogjuk rá igen, de az ellenőrzések elöl legyenek, addig ne kreáljon semmit se feleslegesen és ne legyen 3 fajta modul visszatérés (return) típus.
Mivel a hookot hamsandwich-el kötötted be akkor azokat használd a funkcióban, a felesleges else pedig nem kell.

  1. public fwd_lada(ent,id)
  2. {
  3.     if (!pev_valid(ent) || !(1 <= id <= 33) || !is_user_alive(id)) return HAM_IGNORED;
  4.  
  5.     new iUser;
  6.     pev(ent, pev_iuser1, iUser);
  7.    
  8.     if(iUser == id) // Ha nem neked esett akkor nem fut tovább
  9.         return HAM_SUPERCEDE
  10.  
  11.     static classname[32];
  12.     pev(ent,pev_classname,classname,31);
  13.  
  14.     // Ez minek? Nem használod a nevet
  15.     //new nev[32]
  16.     //get_user_name(id, nev, charsmax(nev))
  17.  
  18.     if(equali(classname,"aranys"))
  19.     {
  20.         if(Vip[id] == 0)
  21.         {
  22.             arany[id] += random_num(5, 10)
  23.             ColorChat(id, GREEN, "[Drop] ^1Találtál ^3%d ^4aranyat")
  24.         }
  25.         else
  26.         {
  27.             arany[id] += random_num(5, 15)
  28.             ColorChat(id, GREEN, "[Drop] ^1Találtál ^3%d ^4aranyat")
  29.         }
  30.         engfunc(EngFunc_RemoveEntity,ent);
  31.     }
  32.     return HAM_SUPERCEDE;
  33. }


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