Dabar yra 2019 Gru 12 14:06




 Puslapis 12 [ 17 pranešimai(ų) ]  Eiti į 1, 2  Kitas
Autorius Žinutė
 Pranešimo tema: Entyti_Touched RPG Damage Kodas
Žinutės numeris: #1  StandartinėParašytas: 2010 Rgs 04 19:27 
Flooderis arba specialistas
Vartotojo avataras

Užsiregistravo: 2010 Rgs 02 15:47
Pranešimai: 660
Karma: 31
  1. public Entity_Touched(ent, victim)
  2. {
  3.     if (!pev_valid(ent))
  4.         return;
  5.    
  6.     new classname[32]
  7.     pev( ent, pev_classname, classname,31)
  8.    
  9.     new attacker = pev( ent, pev_owner)
  10.     new user_team = get_user_team(attacker)
  11.        
  12.     if(equal(classname,"RPG"))
  13.     {
  14.         new Float:fOrigin[3], iOrigin[3];
  15.         pev(ent , pev_origin, fOrigin)
  16.        
  17.         iOrigin[0] = floatround(fOrigin[0])
  18.         iOrigin[1] = floatround(fOrigin[1])
  19.         iOrigin[2] = floatround(fOrigin[2])
  20.        
  21.         message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin)
  22.         write_byte(TE_EXPLOSION)
  23.         engfunc( EngFunc_WriteCoord,fOrigin[0])
  24.         engfunc( EngFunc_WriteCoord,fOrigin[1])
  25.         engfunc( EngFunc_WriteCoord,fOrigin[2])
  26.         write_short(explodespr)
  27.         write_byte(30)
  28.         write_byte(15)
  29.         write_byte(0)
  30.         message_end()
  31.                            
  32.         new a, b, Float: origin[3], Float:origin2[3], Float:distance, Float:damage, Float:velocity[3];
  33.         pev(ent, pev_origin, origin);
  34.  
  35.         while (a++ < g_iMaxPlayers)
  36.             if (is_user_alive(a))
  37.                 if (user_team != get_user_team(a))
  38.                 {
  39.                     pev(a, pev_origin, origin2);
  40.                     distance = get_distance_f(origin, origin2);
  41.                     if (distance < get_pcvar_num(rpg_damage))
  42.                     {
  43.                         damage = (get_distance_f(origin, origin2) / get_pcvar_float(rpg_damage))
  44.                         if (damage > 0.0)
  45.                         {
  46.                             if (origin2[2] < origin[2])
  47.                             origin2[2] = origin[2];
  48.                             pev(a, pev_velocity, velocity);
  49.                             for (b = 0; b < 3; b++)
  50.                                 velocity[b] += (((origin2[b] - origin[b]) * get_pcvar_float(rpg_knockback) / distance + origin[b]) - origin2[b]) * 1.6;
  51.                             set_pev(a, pev_velocity, velocity);
  52.  
  53.                             ExecuteHam(Ham_TakeDamage, a, g_iM4A1, attacker, damage);
  54.                         }
  55.                     }
  56.                 }
  57.         set_pev(ent, pev_flags, FL_KILLME)
  58.         remove_task(ent+TASK_SEEK_CATCH)
  59.     }
  60. }


Šio kodo paskirtis yra daryti žalą priešui kai į jį šauni ir pataikai su rpg ginku tačiau jsi neatlieka savo paskirites..


Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Entyti_Touched RPG Damage Kodas
Žinutės numeris: #2  StandartinėParašytas: 2010 Rgs 04 20:00 
Vyr. diskusijų administratorius
Vartotojo avataras

Užsiregistravo: 2010 Rgp 31 13:21
Pranešimai: 3891
Karma: 184
Kas iškviečia Entity_Touched?

Ir šiaip reikia čia sėsti ir testuoti, žiūrėti nuo kuriuos vietos nebeveikia. Juo labiau, kad net nežinau, kaip tas ginklas turi veikti.



_________________
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Entyti_Touched RPG Damage Kodas
Žinutės numeris: #3  StandartinėParašytas: 2010 Rgs 04 20:16 
Flooderis arba specialistas
Vartotojo avataras

Užsiregistravo: 2010 Rgs 02 15:47
Pranešimai: 660
Karma: 31
  1. register_forward(FM_Touch, "Entity_Touched")


Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Entyti_Touched RPG Damage Kodas
Žinutės numeris: #4  StandartinėParašytas: 2010 Rgs 04 21:12 
Vyr. diskusijų administratorius
Vartotojo avataras

Užsiregistravo: 2010 Rgp 31 13:21
Pranešimai: 3891
Karma: 184
Reiktų pažiūrėti, ar damage apskaičiuoja. Kai iššausi ir pataikysi į kokį žaidėją tai chate turės parašyti veikia:
  1.  
  2. public Entity_Touched(ent, victim)
  3. {
  4.     if (!pev_valid(ent))
  5.         return;
  6.    
  7.     new classname[32]
  8.     pev( ent, pev_classname, classname,31)
  9.    
  10.     new attacker = pev( ent, pev_owner)
  11.     new user_team = get_user_team(attacker)
  12.        
  13.     if(equal(classname,"RPG"))
  14.     {
  15.         new Float:fOrigin[3], iOrigin[3];
  16.         pev(ent , pev_origin, fOrigin)
  17.        
  18.         iOrigin[0] = floatround(fOrigin[0])
  19.         iOrigin[1] = floatround(fOrigin[1])
  20.         iOrigin[2] = floatround(fOrigin[2])
  21.        
  22.         message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin)
  23.         write_byte(TE_EXPLOSION)
  24.         engfunc( EngFunc_WriteCoord,fOrigin[0])
  25.         engfunc( EngFunc_WriteCoord,fOrigin[1])
  26.         engfunc( EngFunc_WriteCoord,fOrigin[2])
  27.         write_short(explodespr)
  28.         write_byte(30)
  29.         write_byte(15)
  30.         write_byte(0)
  31.         message_end()
  32.                            
  33.         new a, b, Float: origin[3], Float:origin2[3], Float:distance, Float:damage, Float:velocity[3];
  34.         pev(ent, pev_origin, origin);
  35.  
  36.         while (a++ < g_iMaxPlayers)
  37.             if (is_user_alive(a))
  38.                 if (user_team != get_user_team(a))
  39.                 {
  40.                     pev(a, pev_origin, origin2);
  41.                     distance = get_distance_f(origin, origin2);
  42.                     if (distance < get_pcvar_num(rpg_damage))
  43.                     {
  44.                         damage = (get_distance_f(origin, origin2) / get_pcvar_float(rpg_damage))
  45.                         if (damage > 0.0)
  46.                         {
  47.                             client_print(0, print_chat, "Veikia")
  48.                             if (origin2[2] < origin[2])
  49.                             origin2[2] = origin[2];
  50.                             pev(a, pev_velocity, velocity);
  51.                             for (b = 0; b < 3; b++)
  52.                                 velocity[b] += (((origin2[b] - origin[b]) * get_pcvar_float(rpg_knockback) / distance + origin[b]) - origin2[b]) * 1.6;
  53.                             set_pev(a, pev_velocity, velocity);
  54.  
  55.                             ExecuteHam(Ham_TakeDamage, a, g_iM4A1, attacker, damage);
  56.                         }
  57.                     }
  58.                 }
  59.         set_pev(ent, pev_flags, FL_KILLME)
  60.         remove_task(ent+TASK_SEEK_CATCH)
  61.     }
  62. }



_________________
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Entyti_Touched RPG Damage Kodas
Žinutės numeris: #5  StandartinėParašytas: 2010 Rgs 04 21:52 
Flooderis arba specialistas
Vartotojo avataras

Užsiregistravo: 2010 Rgs 02 15:47
Pranešimai: 660
Karma: 31
rašo, ir štai dovanų:
Cituoti:
L 09/04/2010 - 22:52:01: [HAMSANDWICH] Bad arg count. Expected 6, got 5.
L 09/04/2010 - 22:52:01: [AMXX] Displaying debug trace (plugin "55.amxx")
L 09/04/2010 - 22:52:01: [AMXX] Run time error 10: native error (native "ExecuteHam")
L 09/04/2010 - 22:52:01: [AMXX] [0] 55.sma::Entity_Touched (line 1122)


Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Entyti_Touched RPG Damage Kodas
Žinutės numeris: #6  StandartinėParašytas: 2010 Rgs 04 21:59 
Vyr. diskusijų administratorius
Vartotojo avataras

Užsiregistravo: 2010 Rgp 31 13:21
Pranešimai: 3891
Karma: 184
Hmm. pamėgink:
ExecuteHam(Ham_TakeDamage, a, g_iM4A1, attacker, damage, DMG_BLAST);



_________________
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Entyti_Touched RPG Damage Kodas
Žinutės numeris: #7  StandartinėParašytas: 2010 Rgs 04 22:33 
Flooderis arba specialistas
Vartotojo avataras

Užsiregistravo: 2010 Rgs 02 15:47
Pranešimai: 660
Karma: 31
nieko :/ bet erroro to nebemeta.


Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Entyti_Touched RPG Damage Kodas
Žinutės numeris: #8  StandartinėParašytas: 2010 Rgs 04 22:48 
Vyr. diskusijų administratorius
Vartotojo avataras

Užsiregistravo: 2010 Rgp 31 13:21
Pranešimai: 3891
Karma: 184
Keista. O bent numuša žaidėją tolyn ?



_________________
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Entyti_Touched RPG Damage Kodas
Žinutės numeris: #9  StandartinėParašytas: 2010 Rgs 05 08:02 
Flooderis arba specialistas
Vartotojo avataras

Užsiregistravo: 2010 Rgs 02 15:47
Pranešimai: 660
Karma: 31
Taip, ir jaigu pvz idėtas zm, tai girdisi skausmo garsas.., atsiprašau kad anksčiau nepasakiau.


Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: Entyti_Touched RPG Damage Kodas
Žinutės numeris: #10  StandartinėParašytas: 2010 Rgs 05 22:22 
Vyr. diskusijų administratorius
Vartotojo avataras

Užsiregistravo: 2010 Rgp 31 13:21
Pranešimai: 3891
Karma: 184
Negaliu pasakyti. Reikia nuodugniai testuoti. Šiaip turi veikti.



_________________
Palikau CS pasaulį ;/ . Nebepasiekiamas.
Atsijungęs
 Aprašymas  
 
Rodyti paskutinius pranešimus:  Rūšiuoti pagal  
 Puslapis 12 [ 17 pranešimai(ų) ]  Eiti į 1, 2  Kitas


Dabar prisijungę

Vartotojai naršantys šį forumą: Registruotų vartotojų nėra ir 5 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