hlmod.hu
https://hlmod.hu/

Fegyver hiba!
https://hlmod.hu/viewtopic.php?f=9&t=24759
Oldal: 1 / 1

Szerző:  PikHácsúú# [ 2016.05.01. 13:16 ]
Hozzászólás témája:  Re: Fegyver hiba!

Nullázni kell az id-t.
Ha a magma m4-ed-nek adsz 1-et és rányomsz a nuclear m4-re, azis kap 1-et, tehát, hiába választod újra ki, hamár az id-je 1. Ezért kell azt csinálni, hogyha kiválasztottad a nuki m4-et akkor a magma m4-nek 0 idt adsz. Ennyi a probléma. De ha 2 különböző fegyver típusról van szó, akkor nemkell.
Tehát például, nuki AK47 & Magma M4A1. Itt mind2-nek mehet az 1, mivel 2 különböző fegyver, de ez logikus.

Eredeti case:
Kód:
   {
      case 1:
      {
         magmaak[id] = 1
                        b_sebzes[id] = true
      
      }
      case 2:
      {
         magmam4[id] =  1
                        b_sebzes[id] = true

      
      
                }
      case 3:
      {
         magmafamas[id] =  1
                        b_sebzes[id] = true

      
      
                }
      case 4:
      {
         magmausp[id] =  1
                        b_sebzes[id] = true

      
      
                }
      case 5:
      {
         magmadeagle[id] =  1
                        b_sebzes[id] = true

      
      
                }
      case 6:
      {
         magmamp5[id] =  1
                        b_sebzes[id] = true

      
      
                   }
      case 7:
      {
         magmaawp[id] =  1
                        b_sebzes[id] = true

      
      
                }
      case 8:
      {
         magmam3[id] =  1
                        b_sebzes[id] = true

      
      
                   }
      case 9:
      {
         nuciak[id] =  1
                        b_sebzes[id] = true

      
      
                   }
      case 10:
      {
         nucim4[id] =  1
                        b_sebzes[id] = true

      
      
                   }
      case 11:
      {
         nuciawp[id] =  1
                        b_sebzes[id] = true

      
      
                   }
   }      
 return PLUGIN_HANDLED

}


És ahogyan kéne:
Kód:
   {
      case 1:
      {
         magmaak[id] = 1
         nuciak[id] =  0
                        b_sebzes[id] = true
      
      }
      case 2:
      {
         magmam4[id] =  1
         nucim4[id] =  0
                        b_sebzes[id] = true

      
      
                }
      case 3:
      {
         magmafamas[id] =  1
                        b_sebzes[id] = true

      
      
                }
      case 4:
      {
         magmausp[id] =  1
                        b_sebzes[id] = true

      
      
                }
      case 5:
      {
         magmadeagle[id] =  1
                        b_sebzes[id] = true

      
      
                }
      case 6:
      {
         magmamp5[id] =  1
                        b_sebzes[id] = true

      
      
                   }
      case 7:
      {
         magmaawp[id] =  1
         nuciawp[id] =  0
                        b_sebzes[id] = true

      
      
                }
      case 8:
      {
         magmam3[id] =  1
                        b_sebzes[id] = true

      
      
                   }
      case 9:
      {
         nuciak[id] =  1
         magmaak[id] = 0
                        b_sebzes[id] = true

      
      
                   }
      case 10:
      {
         nucim4[id] =  1
         magmam4[id] =  0
                        b_sebzes[id] = true

      
      
                   }
      case 11:
      {
         nuciawp[id] =  1
         magmaawp[id] =  0
                        b_sebzes[id] = true

      
      
                   }
   }      
 return PLUGIN_HANDLED

}

Szerző:  koko.988 [ 2016.05.01. 14:44 ]
Hozzászólás témája:  Re: Fegyver hiba!

Fegyver váltásnál így egyszerűbb.
Pl akarsz m4a1-re 5db skint, ak47-re 5db skint stb stb.

  1. new m4a1[33], ak47[33]
  2.  
  3. public fegyver_valtas(id)
  4. {
  5.     new fegyver = get_user_weapon(id)
  6.    
  7.     if(fegyver == CSW_M4A1)
  8.     {
  9.         switch(m4a1[id])
  10.         {
  11.             case 1: set_pev(id, pev_viewmodel2, "models/asd/m4a1_1.mdl") // m4a1[id] == 1
  12.             case 2: set_pev(id, pev_viewmodel2, "models/asd/m4a1_2.mdl") // m4a1[id] == 2
  13.             case 3: set_pev(id, pev_viewmodel2, "models/asd/m4a1_3.mdl") // m4a1[id] == 3
  14.             case 4: set_pev(id, pev_viewmodel2, "models/asd/m4a1_4.mdl") // m4a1[id] == 4
  15.             case 5: set_pev(id, pev_viewmodel2, "models/asd/m4a1_5.mdl") // m4a1[id] == 5
  16.         }
  17.     }
  18.     if(fegyver == CSW_AK47)
  19.     {
  20.         switch(ak47[id])
  21.         {
  22.             case 1: set_pev(id, pev_viewmodel2, "models/asd/ak47_1.mdl") // ak47[id] == 1
  23.             case 2: set_pev(id, pev_viewmodel2, "models/asd/ak47_2.mdl") // ak47[id] == 2
  24.             case 3: set_pev(id, pev_viewmodel2, "models/asd/ak47_3.mdl") // ak47[id] == 3
  25.             case 4: set_pev(id, pev_viewmodel2, "models/asd/ak47_4.mdl") // ak47[id] == 4
  26.             case 5: set_pev(id, pev_viewmodel2, "models/asd/ak47_5.mdl") // ak47[id] == 5
  27.         }
  28.     }
  29. }


Ezután a felszerelés handlerbe valahogy így csináld.
Tegyük fel, a magma m4 a m4a1[id] = 3, vagyis a 3-as ID-t kapja, az asiimov m4 a m4a1[id] = 4, vagyis 4-es ID-t kapja.
Akkor valahogy így kell kinéznie.

  1. public felszereles_handler(id, menu, item)
  2. {
  3.     if(item == MENU_EXIT)
  4.     {
  5.         menu_destroy(menu);
  6.         return PLUGIN_HANDLED;
  7.     }
  8.     switch(item)
  9.     {
  10.         case 0: //Ez legyen most a magma m4
  11.         {
  12.             m4a1[id] = 3
  13.         }
  14.         case 1: //Ez pl assimov m4
  15.         {
  16.             m4a1[id] = 4
  17.         }
  18.     }
  19.     felszereles_menu(id) // Kiválasztás után megnyitja újra  a menüt.
  20.     return PLUGIN_HANDLED;
  21. }


Ne csinálj minden típusú fegyvernek külön változót.
Ha van 10db m4 skin, akkor elég egyszer egy változó neki --> m4a1[33]
És ezen a változón belül csinálsz 10 ID-t. (1-10ig)
És kész.

Szerző:  Star [ 2016.05.02. 12:11 ]
Hozzászólás témája:  Re: Fegyver hiba!

koko.988 írta:
Fegyver váltásnál így egyszerűbb.
Pl akarsz m4a1-re 5db skint, ak47-re 5db skint stb stb.

  1. new m4a1[33], ak47[33]
  2.  
  3. public fegyver_valtas(id)
  4. {
  5.     new fegyver = get_user_weapon(id)
  6.    
  7.     if(fegyver == CSW_M4A1)
  8.     {
  9.         switch(m4a1[id])
  10.         {
  11.             case 1: set_pev(id, pev_viewmodel2, "models/asd/m4a1_1.mdl") // m4a1[id] == 1
  12.             case 2: set_pev(id, pev_viewmodel2, "models/asd/m4a1_2.mdl") // m4a1[id] == 2
  13.             case 3: set_pev(id, pev_viewmodel2, "models/asd/m4a1_3.mdl") // m4a1[id] == 3
  14.             case 4: set_pev(id, pev_viewmodel2, "models/asd/m4a1_4.mdl") // m4a1[id] == 4
  15.             case 5: set_pev(id, pev_viewmodel2, "models/asd/m4a1_5.mdl") // m4a1[id] == 5
  16.         }
  17.     }
  18.     if(fegyver == CSW_AK47)
  19.     {
  20.         switch(ak47[id])
  21.         {
  22.             case 1: set_pev(id, pev_viewmodel2, "models/asd/ak47_1.mdl") // ak47[id] == 1
  23.             case 2: set_pev(id, pev_viewmodel2, "models/asd/ak47_2.mdl") // ak47[id] == 2
  24.             case 3: set_pev(id, pev_viewmodel2, "models/asd/ak47_3.mdl") // ak47[id] == 3
  25.             case 4: set_pev(id, pev_viewmodel2, "models/asd/ak47_4.mdl") // ak47[id] == 4
  26.             case 5: set_pev(id, pev_viewmodel2, "models/asd/ak47_5.mdl") // ak47[id] == 5
  27.         }
  28.     }
  29. }


Ezután a felszerelés handlerbe valahogy így csináld.
Tegyük fel, a magma m4 a m4a1[id] = 3, vagyis a 3-as ID-t kapja, az asiimov m4 a m4a1[id] = 4, vagyis 4-es ID-t kapja.
Akkor valahogy így kell kinéznie.

  1. public felszereles_handler(id, menu, item)
  2. {
  3.     if(item == MENU_EXIT)
  4.     {
  5.         menu_destroy(menu);
  6.         return PLUGIN_HANDLED;
  7.     }
  8.     switch(item)
  9.     {
  10.         case 0: //Ez legyen most a magma m4
  11.         {
  12.             m4a1[id] = 3
  13.         }
  14.         case 1: //Ez pl assimov m4
  15.         {
  16.             m4a1[id] = 4
  17.         }
  18.     }
  19.     felszereles_menu(id) // Kiválasztás után megnyitja újra  a menüt.
  20.     return PLUGIN_HANDLED;
  21. }


Ne csinálj minden típusú fegyvernek külön változót.
Ha van 10db m4 skin, akkor elég egyszer egy változó neki --> m4a1[33]
És ezen a változón belül csinálsz 10 ID-t. (1-10ig)
És kész.

Ahogy mar koko leirta itt a megoldas.

Szerző:  PikHácsúú# [ 2016.05.02. 12:25 ]
Hozzászólás témája:  Re: Fegyver hiba!

[profil]Star[/profil] nemtudom, hogy leesett-e, de azért kéri, mert nemtudja ő beleirni... Ha tudná szerinted miért kérné?

Szerző:  Star [ 2016.05.04. 11:22 ]
Hozzászólás témája:  Re: Fegyver hiba!

  1. #include <amxmodx>
  2. #include <fakemeta>
  3. new Skin[1][33];
  4. new const AkSkinek[][] =
  5. {
  6. "models/skin/ak1.mdl",
  7. "models/skin/ak2.mdl",
  8. "models/skin/ak3.mdl",
  9. "models/skin/ak4.mdl",
  10. "models/skin/ak5.mdl"
  11. }
  12. public plugin_init()
  13. {
  14. register_plugin("ASD", "1.0", "Star:.");
  15. register_event("CurWeapon", "FegyverValtas", "be", "1=1");
  16. }
  17. public plugin_precache()
  18. {
  19. for(new i;i < sizeof(AkSkinek); i ++)
  20. precache_model(AkSkinek[i]);
  21. }
  22. public FegyverValtas(id)
  23. {
  24. new gun = get_user_weapon(id);
  25.  
  26. for(new j;j < sizoef(AkSkinek); i++)
  27. {
  28. if(Skin[0][id] == j+1 && gun == CSW_AK47)
  29. set_pev(id,pev_viewmodel2, AkSkinek[j]);
  30. }

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