hlmod.hu
https://hlmod.hu/

Fegyver skin (váltás után)
https://hlmod.hu/viewtopic.php?f=9&t=23382
Oldal: 1 / 2

Szerző:  skyLine [ 2016.01.02. 02:30 ]
Hozzászólás témája:  Fegyver skin (váltás után)

Sziasztok!

Az lenne a kérdésem, hogy azt hogyan lehetne megoldani, hogy a játékos, ha fegyvert vált, majd visszavált az adott fegyverre akkor megmaradjon a skin amit beállítunk neki.

Példa:
Lekérdezem a játékostól, hogy a desert nála van-e és ha igen akkor kicserélem neki a modelt. (Na ugye ez rendben is van, de mi van akkor ha nincs az a játékos kezében pont?) Ezután ha a kezében volt a desert eagle és átcseréli mondjuk M4-re majd visszavált akkor eltűnik a desert eagle skin.

Nos ezt hogy lehetne korrigálni?

Szerző:  Watson [ 2016.01.02. 07:53 ]
Hozzászólás témája:  Re: Fegyver skin (váltás után)

Szia!
CurWeapon-al meglehet oldani!

Példa: (Deagle)
  1. register_event("CurWeapon","fegyo_ellenorzes","be","1=1")


  1. public fegyo_ellenorzes(id) {  
  2.     if(get_user_weapon(id) == CSW_DEAGLE)
  3.     {
  4.         set_pev(id, pev_viewmodel2, "modelhelye/deagle.mdl")
  5.     }
  6. }

Szerző:  mforce [ 2016.01.02. 21:42 ]
Hozzászólás témája:  Re: Fegyver skin (váltás után)

Inkább... Így csak egyszer kéri le ha több fegyó kell
  1. switch(get_user_weapon(id)) {
  2.        case CSW_DEAGLE: {
  3.               set_pev(id, pev_viewmodel2, "modelhelye/deagle.mdl");
  4.        }
  5. }

Szerző:  skyLine [ 2016.01.06. 18:52 ]
Hozzászólás témája:  Re: Fegyver skin (váltás után)

Ha mondjuk 2 szervert szeretnék egyszerre lecserélni akkor azt ezzel a módszerrel meg tudom oldani?
Tehát ha a játékosnál a desert van akkor a desertet is, de az M4 is nála van csak nincs elővéve és az M4-et is lecseréli.

Szerző:  Patrik3 [ 2016.01.06. 18:58 ]
Hozzászólás témája:  Re: Fegyver skin (váltás után)

Szia. Vagyis azt szeretnéd, hogyha a játékosnál van egy Deagle, meg egy M4a1, akkor annak legyen skinje, igaz?

Vagyis egyszerre csak egy fegyver lehet nála.
Hogyha Deagle van nála, akkor azt cseréli le, hogyha M4a1, akkor azt.

plugin_initbe:
  1. register_event("CurWeapon", "Fegyvervaltas", "be", "1=1")

Aztán.
  1. public Fegyvervaltas(id) {
  2.     new fgy = get_user_weapon(id)
  3.    
  4.     if(m4a1[id] == 1 && CSW_M4A1) {
  5.         set_pev(id, pev_viewmodel2, "models/mappa/v_m4a1.mdl")
  6.     }
  7.     if(deagle[id] == 1 && CSW_DEAGLE) {
  8.         set_pev(id, pev_viewmodel2, "models/mappa/v_deagle.mdl")
  9.     }
  10. }

Így, hogyha a Deagle-re vált, akkor azt kapja meg a skint, hogyha M4a1-re akkor pedig az.

Szerző:  skyLine [ 2016.01.06. 19:21 ]
Hozzászólás témája:  Re: Fegyver skin (váltás után)

Ez nagyon sokat segített köszönöm.
Most azt próbálom megoldani, hogy a csapatokon belül is más fegyver legyen.

Változóval oldottam meg.
csapat1 = 1
csapat2 = 1

  1. public Fegyvervaltas(player) {
  2.  
  3.     switch(get_user_weapon(player))
  4.     {
  5.     case CSW_KNIFE:
  6.     {
  7.         if(csapat1 == 1)
  8.         {
  9.             set_pev( player, pev_viewmodel2, "models/csapat1/v_kes1.mdl" );
  10.             set_pev( player, pev_weaponmodel2, "models/csapat1/p_kes1.mdl");
  11.         }
  12.         if(csapat2 == 1)
  13.         {
  14.             set_pev( player, pev_viewmodel2, "models/csapat1/v_kes2.mdl" );
  15.             set_pev( player, pev_weaponmodel2, "models/csapat1/p_kes2.mdl");
  16.         }
  17.     }
  18.     }
  19.  
  20. }


Valahogy így néz ki a kódom.
Sajnos csak a második jön létre. Tehát mindkét csapat a 2. csapat fegyverét kapja meg. Tudom, hogy miért van ez így csak nem tudom, hogy hogyan lehetne azt beállítani, hogy magának a játékosIDnek változtassa meg.

Tehát én valami olyasmit képzeltem el, hogy
  1. csapat1[id] == 1
  2. csapat2[id] == 1

Tehát, hogy nem egy úgymond "szerver" változó, hanem játékos változó.
Ezt nem tudom, hogy 1.6-nál miként lehet megoldani.
SA-MP-nál ez úgy volt, hogy

  1. new csapat1[MAX_PLAYERS];
  2. new csapat2[MAX_PLAYERS];

és máris ID alapján nézte.
Lehet itt más megoldásra kellene gondolnom.

Szerző:  kiki [ 2016.01.06. 19:25 ]
Hozzászólás témája:  Re: Fegyver skin (váltás után)

Így:

  1. new Team = get_user_team(i)
  2.         switch(Team)
  3.         {
  4.             case 1: //Terror
  5.             case 2: // CT
  6.         }


Vagy egyedi csapatokat használsz? Akkor máshogy.

Szerző:  skyLine [ 2016.01.06. 19:35 ]
Hozzászólás témája:  Re: Fegyver skin (váltás után)

Köszi szépen megoldva.

Továbbra is használtam a változót.

  1. public Fegyvervaltas(player) {
  2.  
  3.     switch(get_user_weapon(player))
  4.     {
  5.     case CSW_KNIFE:
  6.     {
  7.         new Team = get_user_team(player)
  8.         if(csapat1 == 1)
  9.         {
  10.             switch(Team)
  11.             {
  12.                 case 1: //Terror
  13.                 {
  14.                     set_pev( player, pev_viewmodel2, "models/csapat1/v_kes1.mdl" );
  15.                     set_pev( player, pev_weaponmodel2, "models/csapat1/p_kes1.mdl");
  16.                 }
  17.                 case 2: //CT
  18.                 {
  19.                     set_pev( player, pev_viewmodel2, "models/csapat1/v_kes2.mdl" );
  20.                     set_pev( player, pev_weaponmodel2, "models/csapat1/p_kes2.mdl");
  21.                 }
  22.             }
  23.         }
  24.            
  25.     }
  26.     }
  27. }

Szerző:  mforce [ 2016.01.06. 21:14 ]
Hozzászólás témája:  Re: Fegyver skin (váltás után)

if(csapat1 == 1)
{

felesleges

Szerző:  skyLine [ 2016.01.06. 21:25 ]
Hozzászólás témája:  Re: Fegyver skin (váltás után)

Az én esetemben nem, de amúgy igen.

Nekem csak akkor jelenik meg ha egy funkciót kiválasztanak a menüből. Ezért volt szükségem rá. Tehát alapból sima skinjük van, de ha a menüből kiválasztják a "csapat1"-et tehát a "Csapatharc 1"-et akkor olyan skinjük lesz. :D

De egyébként igazad van. Akinek kell a kód az kiveheti belőle.
Az if(csapat1 == 1)-et

Oldal: 1 / 2 Minden időpont UTC+01:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/