Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

kociak - zdjęcie

kociak

Rejestracja: 05.07.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 02.03.2012 21:55
-----

Moje tematy

Problem z Klasami zombie

16.07.2010 22:23


/*================================================================================

-----------------------------------
-*- [ZP] Default Zombie Classes -*-
-----------------------------------

~~~~~~~~~~~~~~~
- Description -
~~~~~~~~~~~~~~~

This plugin adds the default zombie classes to Zombie Plague.
Feel free to modify their attributes to your liking.

Note: If zombie classes are disabled, the first registered class
will be used for all players (by default, Classic Zombie).

================================================================================*/

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>

/*================================================================================
[Plugin Customization]
=================================================================================*/

// Klasyczne Zombie Attributes
new const zclass1_name[] = { "Klasyczne Zombie" }
new const zclass1_info[] = { "=Zbalansowane=" }
new const zclass1_model[] = { "zombie_source" }
new const zclass1_clawmodel[] = { "v_knife_zombie.mdl" }
const zclass1_health = 3000
const zclass1_speed = 240
const Float:zclass1_gravity = 1.0
const Float:zclass1_knockback = 1.0

// Szybkie Zombie Attributes
new const zclass2_name[] = { "Szybkie Zombie" }
new const zclass2_info[] = { "HP-- Speed+ Knockback+" }
new const zclass2_model[] = { "szybkie_zombie" }
new const zclass2_clawmodel[] = { "v_fast2.mdl" }
const zclass2_health = 1200
const zclass2_speed = 270
const Float:zclass2_gravity = 1.0
const Float:zclass2_knockback = 1.5

// Trujace Zombie Attributes
new const zclass3_name[] = { "Trujace Zombie" }
new const zclass3_info[] = { "HP- Jump+ Knockback+" }
new const zclass3_model[] = { "trujace_zombie" }
new const zclass3_clawmodel[] = { "v_big.mdl" }
const zclass3_health = 2500
const zclass3_speed = 230
const Float:zclass3_gravity = 0.55
const Float:zclass3_knockback = 1.25

// Twister Zombie Attributes
new const zclass4_name[] = { "Twister Zombie" }
new const zclass4_info[] = { "HP++ Speed- Jump-" }
new const zclass4_model[] = { "twister_zombie" }
new const zclass4_clawmodel[] = { "twister_zombie_hand.mdl" }
const zclass4_health = 5000
const zclass4_speed = 170
const Float:zclass4_gravity = 0.80
const Float:zclass4_knockback = 0.25

// Dziwne Zombie Attributes
new const zclass5_name[] = { "Dziwne Zombie" }
new const zclass5_info[] = { "HP+ Knockback+ Leech+" }
new const zclass5_model[] = { "dziwne_zombie" }
new const zclass5_clawmodel[] = { "v_fast2.mdl" }
const zclass5_health = 3400
const zclass5_speed = 230
const Float:zclass5_gravity = 1.0
const Float:zclass5_knockback = 1.25
const zclass5_infecthp = 200 // extra hp for infections

/*============================================================================*/

// Class IDs
new g_zclass_leech

// Zombie Classes MUST be registered on plugin_precache
public plugin_precache()
{
register_plugin("[ZP] Default Zombie Classes", "5.0", "devos")

// Register all classes
zp_register_zombie_class(zclass1_name, zclass1_info, zclass1_model, zclass1_clawmodel, zclass1_health, zclass1_speed, zclass1_gravity, zclass1_knockback)
zp_register_zombie_class(zclass2_name, zclass2_info, zclass2_model, zclass2_clawmodel, zclass2_health, zclass2_speed, zclass2_gravity, zclass2_knockback)
zp_register_zombie_class(zclass3_name, zclass3_info, zclass3_model, zclass3_clawmodel, zclass3_health, zclass3_speed, zclass3_gravity, zclass3_knockback)
zp_register_zombie_class(zclass4_name, zclass4_info, zclass4_model, zclass4_clawmodel, zclass4_health, zclass4_speed, zclass4_gravity, zclass4_knockback)
g_zclass_leech = zp_register_zombie_class(zclass5_name, zclass5_info, zclass5_model, zclass5_clawmodel, zclass5_health, zclass5_speed, zclass5_gravity, zclass5_knockback)
}

// User Infected forward
public zp_user_infected_post(id, infector)
{
// If attacker is a leech zombie, gets extra hp
if (zp_get_user_zombie_class(infector) == g_zclass_leech)
set_pev(infector, pev_health, float(pev(infector, pev_health) + zclass5_infecthp))
}

O to moj plik Sma po przerobieniu ponieważ chciałem zmienić hp na serwerze oraz prędkość ząbiaków ale nie znam się i nie da się tego skomplikować, nawet podstawowego sma nie da się skomplikować ;/ Prosił bym jeżeli są błędy o poprawienie i skąplikowanie.

Boty na SoccerJam

05.07.2010 18:42

Mam taki mały problem. Przeczytałem temat Miczu o Botach na serwery z modem SoccerJam. Chciałbym je wgrać na serwa jednak że nie umiem zaprogramować ich bo się na tym nie znam. Prosił bym o pomoc aby ktoś kto się na tym zna zaprogramował mi te boty tak aby jeden był w tt i ct i stały one na bramce. Proszę o pomoc.

Oto wgląd do sma napisanego przez Miczu

#include <amxmodx>
#include <amxmisc>
#include <engine>

#define PLUGIN "need_a_bot"
#define VERSION "0.1"
#define AUTHOR "Miczu"

new Float: g_mins[3]={-16.0,-16.0,-36.0}
new Float: g_maxs[3]={ 16.0, 16.0, 36.0}
new Float: g_sixe[3]={ 32.0, 32.0, 72.0}

new KNIFE_VIEW[] = "models/v_knife.mdl"
new KNIFE_PLAYER[] = "models/p_knife.mdl"

new aball

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("need_a_bot","ball_krepper")

register_think("krepper","krepper_think")
register_touch("krepper", "PwnBall", "touch_ball")
register_touch("krepper", "krepper", "touch_krepper")
register_touch("krepper", "player", "touch_player")
}

public plugin_precache()
{
precache_model("models/player/vip/vip.mdl")

precache_model(KNIFE_VIEW)
precache_model(KNIFE_PLAYER)
}

public ball_krepper(id)
{
new Float: ori[3]
new ent = create_entity("info_target")
entity_set_string(ent, EV_SZ_classname,"krepper")

entity_set_model(ent, "models/player/vip/vip.mdl")

entity_set_vector(ent, EV_VEC_mins, g_mins)
entity_set_vector(ent, EV_VEC_maxs, g_maxs)
entity_set_vector(ent, EV_VEC_size, g_sixe)

entity_get_vector(id,EV_VEC_origin,ori)
ori[0]+=80.0
ori[1]+=80.0
ori[2]+=100.0

entity_set_origin(ent,ori)

entity_set_float(ent, EV_FL_health,1.0)
entity_set_float(ent, EV_FL_takedamage, 1.0)
entity_set_float(ent, EV_FL_dmg_take, 1.0)
entity_set_float(ent, EV_FL_framerate, 1.0)

entity_set_int(ent, EV_INT_movetype, 13)
entity_set_int(ent, EV_INT_solid, 2)
entity_set_int(ent, EV_INT_spawnflags, 0)
entity_set_int(ent, EV_INT_sequence, 1) //75
entity_set_int(ent, EV_INT_gaitsequence,4)
entity_set_int(ent, EV_INT_weaponanim,3)

entity_set_string(ent, EV_SZ_viewmodel,KNIFE_VIEW)
entity_set_string(ent, EV_SZ_weaponmodel,KNIFE_PLAYER)

new entWeapon = create_entity("info_target")
entity_set_string(entWeapon, EV_SZ_classname, "CSW_M4A1")
//set to follow
entity_set_int(entWeapon, EV_INT_movetype, MOVETYPE_FOLLOW)
entity_set_int(entWeapon, EV_INT_solid, SOLID_NOT)
entity_set_edict(entWeapon, EV_ENT_aiment, ent)
entity_set_model(entWeapon, KNIFE_PLAYER)

entity_set_float(ent,EV_FL_nextthink,halflife_time() + 2.0)

}

public krepper_think(ent)
{
new Float: bolli[3],Float: Enti[3]
new Float: ball_vec[3]
new Float: dir[3]
new Float: angle[3]
new Float: lol[3]
new Float: vector[3]
new Float: k_speed

aball = find_ent_by_class(-1,"PwnBall")
new solid = entity_get_int(aball,EV_INT_solid)
if(aball==0)
{
entity_set_int(ent, EV_INT_gaitsequence,1)
entity_set_float(ent,EV_FL_nextthink,halflife_time() + 1.00)
return
}

entity_get_vector(ent,EV_VEC_velocity,vector)
entity_get_vector(aball,EV_VEC_velocity,ball_vec)
entity_get_vector(aball,EV_VEC_origin,bolli)
entity_get_vector(ent,EV_VEC_origin,Enti)

k_speed = vector_length(vector)
if(k_speed<50)
{
entity_set_int(ent, EV_INT_sequence,1)
}
else if(k_speed<200)
{
entity_set_int(ent, EV_INT_sequence,4)
entity_set_float(ent,EV_FL_framerate,0.5)
}
else
{
entity_set_int(ent, EV_INT_sequence,4)
entity_set_float(ent,EV_FL_framerate,1.0)
}

for(new i=0;i<3;i++)
{
dir[i]=bolli[i]-Enti[i]
}

vector_to_angle(dir,angle)

lol[0]=0.0
lol[1]=angle[1]
lol[2]=0.0

entity_set_vector(ent,EV_VEC_angles,angle)
entity_set_vector(ent,EV_VEC_v_angle,lol)

new flags = entity_get_int(ent,EV_INT_flags)

if(flags & (1<<9)) bot_move_think(ent)
else //umoziwia wskok na trybuny
{
entity_get_vector(ent,EV_VEC_velocity,vector)

if(bolli[0]>Enti[0]) vector[0]+=1.0
else vector[0]-=1.0
if(bolli[1]>Enti[1]) vector[1]+=1.0
else vector[1]-=1.0

vector[2]-=13.0
entity_set_vector(ent,EV_VEC_velocity,vector)
}

entity_set_float(ent,EV_FL_nextthink,halflife_time() + 0.05)
}

public touch_krepper(ent,ent2)
{
new Float: bolli[3],Float: Enti[3]
entity_get_vector(ent2,EV_VEC_origin,bolli)
entity_get_vector(ent,EV_VEC_origin,Enti)

new Float: dir[3]
for(new i=0;i<3;i++)
{
dir[i]=bolli[i]-Enti[i]
}

new Float: lol[3]
lol[0]=dir[0]*17.0
lol[1]=dir[1]*17.0
lol[2]=250.0

entity_set_vector(ent2,EV_VEC_basevelocity,lol)
}

public touch_player(ent,id)
{
new Float: bolli[3],Float: Enti[3]
entity_get_vector(id,EV_VEC_origin,bolli)
entity_get_vector(ent,EV_VEC_origin,Enti)

new Float: dir[3]
for(new i=0;i<3;i++)
{
dir[i]=bolli[i]-Enti[i]
}

new Float: lol[3]
lol[0]=dir[0]*10.0
lol[1]=dir[1]*10.0
lol[2]=50.0

entity_set_vector(id,EV_VEC_basevelocity,lol)
}

public bot_jump(ent)
{
new Float: vector[3]
entity_get_vector(ent,EV_VEC_velocity,vector)
vector[2]+=375.0
entity_set_vector(ent,EV_VEC_velocity,vector)
}


/////////////////////////////////////////////////////////////////////////
////// Ponizej tego proszę zrobic mozg bota /////////
/////////////////////////////////////////////////////////////////////////

public touch_ball(ent,ball)
{
new Float: bolli[3],Float: Enti[3],Float: vol[3]
entity_get_vector(ball,EV_VEC_origin,bolli)
entity_get_vector(ent,EV_VEC_origin,Enti)

new Float: dir[3]
for(new i=0;i<3;i++)
{
dir[i]=bolli[i]-Enti[i]
}

new Float: lol[3]
lol[0]=dir[0]*20.0
lol[1]=dir[1]*20.0
lol[2]+=350.0

entity_get_vector(ball,EV_VEC_velocity,vol)
new Float: speed = vector_length(vol)

if(speed<1200) entity_set_vector(ball,EV_VEC_basevelocity,lol)

lol[0]=dir[0]*-15.0
lol[1]=dir[1]*-15.0
lol[2]=0.0

entity_set_vector(ent,EV_VEC_basevelocity,lol)
}

public bot_move_think(ent)
{
new Float: o_ent[3],Float: o_ball[3],Float: dir[3],Float: dir2[3]
new Float: speed

entity_get_vector(ent,EV_VEC_origin,o_ent)
entity_get_vector(aball,EV_VEC_origin,o_ball)

for(new i=0;i<3;i++)
{
dir[i]=o_ball[i]-o_ent[i]
}

speed = vector_length(dir)

for(new i=0;i<3;i++)
{
dir2[i]=dir[i]/speed //tak o to dir2 jako jednostowy wektor kierunku
}

//////////////////////////////////////////////

new Float: volecity[3]
entity_get_vector(ent,EV_VEC_velocity,volecity)
speed = vector_length(volecity)
if(speed<100)
{
for(new i=0;i<2;i++) volecity[i]+= dir2[i]*45.0
entity_set_vector(ent,EV_VEC_velocity,volecity)
}
else if(speed<250)
{
for(new i=0;i<2;i++) volecity[i]+= dir2[i]*65.0
entity_set_vector(ent,EV_VEC_velocity,volecity)
}
else if(speed<333)
{
for(new i=0;i<2;i++) volecity[i]+= dir2[i]*90.0
entity_set_vector(ent,EV_VEC_velocity,volecity)
}

if(random_num(0,256)==66) bot_jump(ent)
static jumpi=0

if(speed<50) jumpi++

if(jumpi>7)
{
jumpi=0
bot_jump(ent)
}
}