Dabar yra 2019 Gru 12 14:07




 Puslapis 11 [ 4 pranešimai(ų) ] 
Autorius Žinutė
 Pranešimo tema: Weapon Touch problema
Žinutės numeris: #1  StandartinėParašytas: 2010 Rgs 05 15:23 
Jau po truputį tampa savu

Užsiregistravo: 2010 Rgs 05 15:20
Pranešimai: 144
Karma: 1
Sveiki, taigi darau pluginą ir susidūriau su problema. Plugino esmė tokia jog jei žaidėjo Snaiperio_Ginklai[id] yra true, tada jis gali pirkti awp, g1sg3, sg550 ir pasiimti juos nuo žemės. štai kodas, kažkodėl pirkti galiu, o pasiimti nuo žemės ne, rašo Message_No_awp...
  1.  
  2.     register_touch("weaponbox", "player", "WeaponBox_Touch")
  3.  
  4.     register_menucmd(register_menuid("T_BuyRifle", 1), (1<<4), "BuyRifle")
  5.     register_menucmd(register_menuid("T_BuyRifle", 1), (1<<5), "BuyRifle")
  6.     register_menucmd(register_menuid("CT_BuyRifle", 1), (1<<5), "BuyRifle")
  7.     register_menucmd(register_menuid("CT_BuyRifle", 1), (1<<4), "BuyRifle")
  8.  
  9.  
  10. public BuyRifle(id)
  11. {
  12.     if(!(get_user_flags(id) & VIP_FLAGAS))
  13.     {
  14.         Message_No_Vip(id)
  15.         return PLUGIN_HANDLED
  16.     }
  17.     if(A_Snaiperio_Ginklai[id] == false && get_user_flags(id) & VIP_FLAGAS)
  18.     {
  19.         Message_No_Awp(id)
  20.         return PLUGIN_HANDLED
  21.     }
  22.     return PLUGIN_CONTINUE
  23. }
  24.  
  25. public client_command(id)
  26. {
  27.     static szCommand[8]
  28.  
  29.     if( read_argv(0, szCommand, charsmax(szCommand)) < 7 && bCheckArgAwp(id, szCommand) )
  30.     {
  31.         return PLUGIN_HANDLED
  32.     }
  33.     return PLUGIN_CONTINUE
  34. }
  35.  
  36. public CS_InternalCommand(id, const szCommand[])
  37. {
  38.     if( strlen(szCommand) < 7 && bCheckArgAwp(id, szCommand) )
  39.     {
  40.         return PLUGIN_HANDLED
  41.     }
  42.     return PLUGIN_CONTINUE
  43. }
  44.  
  45. bool:bCheckArgAwp(id, const szCommand[])
  46. {
  47.     static const awp[] = "awp"
  48.     static const magnum[] = "magnum"
  49.     static const sg550[] = "sg550"
  50.     static const g3sg1[] = "g3sg1"
  51.  
  52.     if((equali(szCommand, awp) || equali(szCommand, magnum) || equali(szCommand, sg550) || equali(szCommand, g3sg1)))
  53.     {
  54.         if(!(get_user_flags(id) & VIP_FLAGAS))
  55.     {
  56.     Message_No_Vip(id)
  57.     return true
  58.     }
  59.         if(A_Snaiperio_Ginklai[id] == false && get_user_flags(id) & VIP_FLAGAS)
  60.     {
  61.     Message_No_Awp(id)
  62.     return true
  63.              }
  64.     }
  65.     return false
  66. }
  67.  
  68. public WeaponBox_Touch(iWpnBx, id)
  69. {
  70.     if( is_user_alive(id) && entity_get_int(iWpnBx, EV_INT_flags) & FL_ONGROUND )
  71.     {
  72.         const XTRA_OFS_WEAPONBOX = 4
  73.         const m_rgpPlayerItems_wpnbx_slot1 = 35
  74.  
  75.         static iWeapon
  76.         iWeapon = get_pdata_cbase(iWpnBx, m_rgpPlayerItems_wpnbx_slot1, XTRA_OFS_WEAPONBOX)
  77.    
  78.         if( iWeapon > 0 && A_Snaiperio_Ginklai[id] == false && cs_get_weapon_id(iWeapon) == CSW_AWP || CSW_G3SG1 ||  CSW_SG550)
  79.         {
  80.             if( g_iLastTouchedBox[id] != iWpnBx )
  81.             {
  82.                 if(!user_has_weapon(id, CSW_AWP || CSW_G3SG1 || CSW_SG550))
  83.                 {
  84.                     Message_No_Awp(id)
  85.                 }
  86.                 g_iLastTouchedBox[id] = iWpnBx
  87.             }
  88.             return PLUGIN_HANDLED
  89.         }
  90.     }
  91.     return PLUGIN_CONTINUE
  92. }
  93.  
  94. Message_No_Awp(id)
  95. {
  96.     const HUD_PRINTCENTER    =    4
  97.     static const szOnlyVIP[] = "Jusu snaiperio ginklu rezimas isjungtas"
  98.  
  99.     message_begin(MSG_ONE_UNRELIABLE, gmsgTextMsg, .player=id)
  100.     write_byte( HUD_PRINTCENTER )
  101.     write_string( szOnlyVIP )
  102.     message_end()
  103. }  
  104.  
  105. Message_No_Vip(id)
  106. {
  107.     const HUD_PRINTCENTER    =    4
  108.     static const szOnlyVIP[] = "Snaiperio ginklai tik vipams"
  109.  
  110.     message_begin(MSG_ONE_UNRELIABLE, gmsgTextMsg, .player=id)
  111.     write_byte( HUD_PRINTCENTER )
  112.     write_string( szOnlyVIP )
  113.     message_end()
  114. }


Jaučiu jog problema yra WeaponBox_Touch kode.


Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Weapon Touch problema
Žinutės numeris: #2  StandartinėParašytas: 2010 Rgs 05 16:05 
Vyr. diskusijų administratorius
Vartotojo avataras

Užsiregistravo: 2010 Rgp 31 13:21
Pranešimai: 3891
Karma: 184
Viena klaida tai čia:
  1. cs_get_weapon_id(iWeapon) == CSW_AWP || CSW_G3SG1 ||  CSW_SG550)


  1. new wpnid = cs_get_weapon_id(iWeapon)
  2. if( iWeapon > 0 && A_Snaiperio_Ginklai[id] == false &&  (wpnid == CSW_AWP || wpnid == CSW_G3SG1 || wpnid == CSW_SG550))



_________________
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Weapon Touch problema
Žinutės numeris: #3  StandartinėParašytas: 2010 Rgs 05 17:14 
Jau po truputį tampa savu

Užsiregistravo: 2010 Rgs 05 15:20
Pranešimai: 144
Karma: 1
Ačiū, veikia. dar viena problema prie to pačio sakykim tai pas mane pačiam gale Player_Spawn funkcijos yra set task...

  1.       if((user_has_weapon(id, CSW_AWP) || user_has_weapon(id, CSW_SG550) || user_has_weapon(id, CSW_G3SG1)) && A_Snaiperio_Ginklai[id] == false){
  2.         set_task(1.0,"dropZOOM")
  3.         }
  4.  
  5. public dropZOOM(id)
  6. {
  7.     engclient_cmd(id, "slot1")
  8.     engclient_cmd(id, "drop", "weapon_awp")
  9.     engclient_cmd(id, "drop", "weapon_g3sg1")
  10.     engclient_cmd(id, "drop", "weapon_sg550")
  11. }
  12.  


Ir kažkodėl kai mano A_Snaiperio_Ginklai[id] = false; jis man nesuveikia. A_Snaiperio_Ginklai[id] į false nusistato Player_Spawn funkcijos pradžioje.


Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Weapon Touch problema
Žinutės numeris: #4  StandartinėParašytas: 2010 Rgs 05 18:45 
Vyr. diskusijų administratorius
Vartotojo avataras

Užsiregistravo: 2010 Rgp 31 13:21
Pranešimai: 3891
Karma: 184
  1.  
  2. client_print(id, print_chat, "user_has_weapon(id, CSW_AWP): %s", user_has_weapon(id, CSW_AWP) ? "True" : "False")
  3. client_print(id, print_chat, "user_has_weapon(id, CSW_AWP): %s", user_has_weapon(id, CSW_SG550) ? "True" : "False")
  4. client_print(id, print_chat, "user_has_weapon(id, CSW_AWP): %s", user_has_weapon(id, CSW_G3SG1) ? "True" : "False")
  5. client_print(id, print_chat, "user_has_weapon(id, CSW_AWP): %s", (A_Snaiperio_Ginklai[id] == false) ? "True" : "False")


Įdėk šitą ir pamatysi kame problema



_________________
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Atsijungęs
 Aprašymas  
 
Rodyti paskutinius pranešimus:  Rūšiuoti pagal  
 Puslapis 11 [ 4 pranešimai(ų) ] 


Dabar prisijungę

Vartotojai naršantys šį forumą: Registruotų vartotojų nėra ir 2 svečių


Jūs negalite kurti naujų temų šiame forume
Jūs negalite atsakinėti į temas šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite trinti savo pranešimų šiame forume
Jūs negalite prikabinti failų šiame forume

Ieškoti:
Pereiti į:  

cron