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
 

swipe - zdjęcie

swipe

Rejestracja: 14.10.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 04.03.2015 01:34
-----

Moje tematy

Klasa zombie i error 010

30.10.2014 18:24

Witam,

przy kompilacji klas zombie wystąpił jeden błąd: error 010: invalid function or declaration.

Korzystałem z poradnika http://amxx.pl/topic...zombie-premium/

 

kod sma:

 

/* Plugin generated by AMXX-Studio */

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

// Classic Zombie Attributes
new const zclass1_name[] = { "Classic Zombie" }
new const zclass1_info[] = { "=Balanced=" }
new const zclass1_model[] = { "zombie_source" }
new const zclass1_clawmodel[] = { "v_knife_zombie.mdl" }
const zclass1_health = 1800
const zclass1_speed = 190
const Float:zclass1_gravity = 1.0
const Float:zclass1_knockback = 1.0
const zclass1_flags = 0

// Raptor Zombie Attributes
new const zclass2_name[] = { "Raptor Zombie" }
new const zclass2_info[] = { "HP-- Speed++ Knockback++" }
new const zclass2_model[] = { "zombie_source" }
new const zclass2_clawmodel[] = { "v_knife_zombie.mdl" }
const zclass2_health = 900
const zclass2_speed = 225
const Float:zclass2_gravity = 1.0
const Float:zclass2_knockback = 1.5
const zclass2_flags = 0

// Poison Zombie Attributes
new const zclass3_name[] = { "Poison Zombie" }
new const zclass3_info[] = { "HP- Jump+ Knockback+" }
new const zclass3_model[] = { "zombie_source" }
new const zclass3_clawmodel[] = { "v_knife_zombie.mdl" }
const zclass3_health = 1400
const zclass3_speed = 190
const Float:zclass3_gravity = 0.75
const Float:zclass3_knockback = 1.25
const zclass3_flags = 0

// Big Zombie Attributes
new const zclass4_name[] = { "Big Zombie" }
new const zclass4_info[] = { "HP++ Speed- Knockback--" }
new const zclass4_model[] = { "zombie_source" }
new const zclass4_clawmodel[] = { "v_knife_zombie.mdl" }
const zclass4_health = 2700
const zclass4_speed = 155
const Float:zclass4_gravity = 1.0
const Float:zclass4_knockback = 0.5
const zclass4_flags = ADMIN_IMMUNITY

// Leech Zombie Attributes
new const zclass5_name[] = { "Leech Zombie" }
new const zclass5_info[] = { "HP- Knockback+ Leech++" }
new const zclass5_model[] = { "zombie_source" }
new const zclass5_clawmodel[] = { "v_knife_zombie.mdl" }
const zclass5_health = 1300
const zclass5_speed = 190
const Float:zclass5_gravity = 1.0
const Float:zclass5_knockback = 1.25
const zclass5_infecthp = 200 // extra hp for infections
const zclass5_flags = 0

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

// Class IDs
new g_zclass_leech

// Zombie Classes MUST be registered on plugin_precache
public plugin_precache()
{
    register_plugin("[ZP] Default Zombie Classes", "4.3", "MeRcyLeZZ")
    
    // Register all classes
    zp_register_zombie_class(zclass1_name, zclass1_info, zclass1_model, zclass1_clawmodel, zclass1_health, zclass1_speed, zclass1_gravity, zclass1_knockback, zclass1_flags)
    zp_register_zombie_class(zclass2_name, zclass2_info, zclass2_model, zclass2_clawmodel, zclass2_health, zclass2_speed, zclass2_gravity, zclass2_knockback, zclass2_flags)
    zp_register_zombie_class(zclass3_name, zclass3_info, zclass3_model, zclass3_clawmodel, zclass3_health, zclass3_speed, zclass3_gravity, zclass3_knockback, zclass3_flags)
    zp_register_zombie_class(zclass4_name, zclass4_info, zclass4_model, zclass4_clawmodel, zclass4_health, zclass4_speed, zclass4_gravity, zclass4_knockback, zclass4_flags)
    g_zclass_leech = zp_register_zombie_class(zclass5_name, zclass5_info, zclass5_model, zclass5_clawmodel, zclass5_health, zclass5_speed, zclass5_gravity, zclass5_knockback, zclass5_flags)
}

// 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))
}
 

 

Klasa human dla admina

30.06.2014 12:21

Mógłby ktoś przerobić kod aby podana klasa była dla admina (flaga t)

 

#include < amxmodx>
#include < fun >
#include < zp50_class_human >
#include < zp50_core >
#include < zp50_colorchat >
#include < cstrike >

// Raptor Human Attributes
new const humanclass2_name[ ] = "Raptor Human"
new const humanclass2_info[ ] = "xxx"
new const humanclass2_models[ ][ ] = { "terror" }
const humanclass2_health = 100
const Float:humanclass2_speed = 1.1
const Float:humanclass2_gravity = 1.0

new g_HumanClassID, cvar_armor

public plugin_precache( )
{
register_plugin( "[ZP] Class: Human: Pounder", ZP_VERSION_STRING, "ZP Dev Team" )

g_HumanClassID = zp_class_human_register( humanclass2_name, humanclass2_info, humanclass2_health, humanclass2_speed, humanclass2_gravity )

for( new index = 0; index < sizeof humanclass2_models; index++ )
{
zp_class_human_register_model( g_HumanClassID, humanclass2_models[ index ] )
}

cvar_armor = register_cvar( "zp_class_human_armorer", "65" )
}

public zp_fw_core_spawn_post( id )
{
if( zp_class_human_get_current( id ) == g_HumanClassID )
{
set_task( 1.0, "setArmor", id + 999999 )
}
}

public setArmor( tid )
{
new cvar, id = tid - 999999

cvar = get_pcvar_num( cvar_armor )

zp_colored_print( id, "You are using^x04Armorer hclass^x01, you now have^x04%s^x01 armor.", cvar )
cs_set_user_armor( id, cvar, CS_ARMOR_KEVLAR )
}
 

 Z góry dziękuję.

Respawn to connect

11.04.2014 21:44

Wgrałem na serwer plugin do odżywiania graczy którzy wejdą na serwer. Wszystko fajnie działa lecz gdy jest rozgrywka nemesis nowi gracze respią się jako zombie przez co niszczą grę. Moja prośba jest taka, czy da radę przerobić tak aby na tej jedynej rozgrywce  nie respiło zombie?

 

 

 

#include <amxmodx>
#include <zombieplague>
 
#define validTeam(%1) (1 <= get_user_team(%1) <= 3)
 
new pcvar, pcvar_nem, pcvar_plague, pcvar_surv, pcvar_swarm;
 
public plugin_init()
{
register_plugin("[ZP] Respawn", "1.1", "ILUSION");
pcvar = get_cvar_pointer("zp_deathmatch");
pcvar_nem = get_cvar_pointer("zp_nem_allow_respawn");
pcvar_plague = get_cvar_pointer("zp_plague_allow_respawn");
pcvar_swarm = get_cvar_pointer("zp_swarm_allow_respawn");
pcvar_surv = get_cvar_pointer("zp_surv_allow_respawn");
}
 
public client_putinserver(id)
if (get_pcvar_num(pcvar))
set_task(5.0, "SpawnUser", id, _, _, "b");
 
public SpawnUser(id)
{
if (!is_user_connected(id))
remove_task(id);
else if (!validTeam(id))
return;
else if (is_user_alive(id) || zp_is_swarm_round() && !get_pcvar_num(pcvar_swarm) || zp_is_nemesis_round() && !get_pcvar_num(pcvar_nem) || zp_is_survivor_round() && !get_pcvar_num(pcvar_surv) || zp_is_plague_round() && !get_pcvar_num(pcvar_plague))
remove_task(id);
else
{
switch (get_pcvar_num(pcvar))
{
case 1: zp_respawn_user(id, zp_is_survivor_round() ? ZP_TEAM_ZOMBIE : ZP_TEAM_HUMAN);
case 2: zp_respawn_user(id, zp_is_nemesis_round() ? ZP_TEAM_HUMAN : ZP_TEAM_ZOMBIE);
case 3: zp_respawn_user(id, zp_is_survivor_round() ? ZP_TEAM_ZOMBIE : zp_is_nemesis_round() ? ZP_TEAM_HUMAN : random_num(1, 2) == 1 ? ZP_TEAM_HUMAN : ZP_TEAM_ZOMBIE);
case 4: zp_respawn_user(id, zp_is_survivor_round() ? ZP_TEAM_ZOMBIE : zp_is_nemesis_round() ? ZP_TEAM_HUMAN : zp_get_zombie_count() < zp_get_human_count() ? ZP_TEAM_ZOMBIE : ZP_TEAM_HUMAN);
default: zp_respawn_user(id, zp_is_survivor_round() ? ZP_TEAM_ZOMBIE : zp_is_nemesis_round() ? ZP_TEAM_HUMAN : random_num(1, 2) == 1 ? ZP_TEAM_HUMAN : ZP_TEAM_ZOMBIE);
}
 
remove_task(id);
}
}

 

 

Knockback bomb

07.01.2014 20:10

Plugin działa tak że dodaje każdemu zombie po infekcji w/w bombę. Da radę to zmienić żeby dawała ją tylko osobie, która ma flagę t ?

 

 

#include < amxmodx >

#include < cstrike >
#include < engine >
#include <fakemeta_util>
#include < fun >
#include < hamsandwich >
#include < zombieplague >
 
#define Plugin    "[ZP] Extra Item: Jump Bomb"
#define Version    "1.2"
#define Author    "Zombie-rus"
 
// Модели гранаты
new const g_ViewModel [ ] = "models/cz/v_zombibomb.mdl"
new const g_PlayerModel [ ] = "models/cz/p_zombibomb.mdl"
new const g_WorldModel [ ] = "models/cz/w_zombibomb.mdl"
 
//Звуки покупки
new const g_SoundGrenadeBuy [ ] [ ] = { "items/gunpickup2.wav" }
new const g_SoundAmmoPurchase [ ] [ ] = { "items/9mmclip1.wav" }
 
//Звук взрыва
new const g_SoundBombExplode [ ] [ ] = { "nst_zombie/zombi_bomb_exp.wav" }
 
//Не изменять! Звуки прописаны в модели.
new const frogbomb_sound [ ] = { "nst_zombie/zombi_bomb_pull_1.wav", "nst_zombie/zombi_bomb_deploy.wav" }
new const frogbomb_sound_idle [ ] = { "nst_zombie/zombi_bomb_idle_1.wav", "nst_zombie/zombi_bomb_idle_2.wav", "nst_zombie/zombi_bomb_idle_3.wav", "nst_zombie/zombi_bomb_idle_4.wav" }
 
new const g_szItemName [ ] = "Odrzucajacy granat" // Nazwa itemu
 
new const g_iItemPrice = 5 // Kosz 1 granatu
 
#define MAXCARRY    5 // Ilość granat
#define RADIUS        300.0 // Radius
 
#define MAXPLAYERS        32
#define pev_nade_type        pev_flTimeStepSound
#define NADE_TYPE_JUMPING    26517
#define AMMOID_SM        13
 
new g_iExplo
new g_iNadeID
 
new g_iJumpingNadeCount [ MAXPLAYERS+1 ]
new g_iCurrentWeapon [ MAXPLAYERS+1 ]
 
new cvar_speed
new iconstatus
new grenade_icons[33][32]
 
new g_msgScreenShake
 
new g_MaxPlayers
new g_msgAmmoPickup
 
const UNIT_SECOND = (1<<12)
 
public plugin_precache ( )
{
precache_model ( g_ViewModel )
precache_model ( g_PlayerModel )
precache_model ( g_WorldModel )
        
precache_sound ( frogbomb_sound )
precache_sound ( frogbomb_sound_idle )
 
new i
for ( i = 0; i < sizeof g_SoundGrenadeBuy; i++ )
precache_sound ( g_SoundGrenadeBuy [ i ] )
for ( i = 0; i < sizeof g_SoundAmmoPurchase; i++ )
precache_sound ( g_SoundAmmoPurchase [ i ] )
for ( i = 0; i < sizeof g_SoundBombExplode; i++ )
precache_sound ( g_SoundBombExplode [ i ] )
 
g_iExplo = precache_model ( "sprites/zombiebomb_exp.spr" ) // Sprite wybuchu
}
 
public plugin_init ( )
{
register_plugin ( Plugin, Version, Author )
 
g_iNadeID = zp_register_extra_item ( g_szItemName, g_iItemPrice, ZP_TEAM_ZOMBIE )
 
register_event ( "CurWeapon", "EV_CurWeapon", "be", "1=1" )
register_event ( "HLTV", "EV_NewRound", "a", "1=0", "2=0" )
register_event ( "DeathMsg", "EV_DeathMsg", "a" )
 
register_forward ( FM_SetModel, "fw_SetModel" )
RegisterHam ( Ham_Think, "grenade", "fw_ThinkGrenade" )
g_msgScreenShake = get_user_msgid("ScreenShake")
 
cvar_speed = register_cvar ( "zp_zombiebomb_knockback", "800" )
 
g_msgAmmoPickup = get_user_msgid ( "AmmoPickup" )
 
g_MaxPlayers = get_maxplayers ( )
register_event("CurWeapon", "grenade_icon", "be", "1=1")
register_event("DeathMsg", "event_death", "a")
iconstatus = get_user_msgid("StatusIcon")
}
 
public client_connect ( id )
{
    g_iJumpingNadeCount [ id ] = 0
}
 
public zp_extra_item_selected ( id, Item )
{
if ( Item == g_iNadeID )
{
if ( g_iJumpingNadeCount [ id ] >= MAXCARRY )
{
client_print ( id, print_chat, "[ZP] Nie mozesz kupic wiecej!" )
return ZP_PLUGIN_HANDLED
}        
new iBpAmmo = cs_get_user_bpammo ( id, CSW_SMOKEGRENADE )
          
if ( g_iJumpingNadeCount [ id ] >= 1 )
{
cs_set_user_bpammo ( id, CSW_SMOKEGRENADE, iBpAmmo+1 )
             
emit_sound ( id, CHAN_ITEM, g_SoundAmmoPurchase[random_num(0, sizeof g_SoundAmmoPurchase-1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM )
             
AmmoPickup ( id, AMMOID_SM, 1 )
             
g_iJumpingNadeCount [ id ]++
}
else
{
give_item ( id, "weapon_smokegrenade" )
client_print ( id, print_chat, "[ZP] Kupiles Jump Bomb!" )
emit_sound ( id, CHAN_ITEM, g_SoundGrenadeBuy[random_num(0, sizeof g_SoundGrenadeBuy-1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM )
             
AmmoPickup ( id, AMMOID_SM, 1 )
             
g_iJumpingNadeCount [ id ] = 1
}
}
return PLUGIN_CONTINUE
}
 
public zp_user_infected_post ( id, Infector, Nemesis )
 
{
g_iJumpingNadeCount [ id ] = 0
       
give_item ( id, "weapon_smokegrenade" )    
cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 1)
emit_sound ( id, CHAN_ITEM, g_SoundGrenadeBuy[random_num(0, sizeof g_SoundGrenadeBuy-1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM )     
AmmoPickup ( id, AMMOID_SM, 1 )    
g_iJumpingNadeCount [ id ] = 1
}
 
public zp_user_humanized_post ( id, Survivor )
{
if ( Survivor )
{
g_iJumpingNadeCount [ Survivor ] = 0
}
}
 
public EV_CurWeapon ( id )
{
if ( !is_user_alive ( id ) || !zp_get_user_zombie ( id ) )
return PLUGIN_CONTINUE
 
g_iCurrentWeapon [ id ] = read_data ( 2 )
if ( g_iJumpingNadeCount [ id ] > 0 && g_iCurrentWeapon [ id ] == CSW_SMOKEGRENADE )
{
set_pev(id, pev_viewmodel2, g_ViewModel)
set_pev ( id, pev_weaponmodel2, g_PlayerModel )
}
return PLUGIN_CONTINUE
}
 
public EV_NewRound ( )
{
arrayset ( g_iJumpingNadeCount, 0, 33 )
}
 
public EV_DeathMsg ( )
{
new iVictim = read_data ( 2 )
       
if ( !is_user_connected ( iVictim ) )
return
       
g_iJumpingNadeCount [ iVictim ] = 0
}
 
public fw_SetModel ( Entity, const Model [ ] )
{
if ( Entity < 0 )
return FMRES_IGNORED
       
if ( pev ( Entity, pev_dmgtime ) == 0.0 )
return FMRES_IGNORED
       
new iOwner = entity_get_edict ( Entity, EV_ENT_owner )   
       
if ( g_iJumpingNadeCount [ iOwner ] >= 1 && equal ( Model [ 7 ], "w_sm", 4 ) )
{
// Reset any other nade
set_pev ( Entity, pev_nade_type, 0 )
           
set_pev ( Entity, pev_nade_type, NADE_TYPE_JUMPING )
            
g_iJumpingNadeCount [ iOwner ]--
entity_set_model ( Entity, g_WorldModel )
            
fm_set_rendering(Entity, kRenderFxHologram, 255, 165, 0, kRenderNormal, 16) //kRenderFxGlowShell
 
return FMRES_SUPERCEDE    
}
return FMRES_IGNORED
}
public fw_ThinkGrenade ( Entity )
{
if ( !pev_valid ( Entity ) )
return HAM_IGNORED
       
static Float:dmg_time
pev ( Entity, pev_dmgtime, dmg_time )
       
if ( dmg_time > get_gametime ( ) )
return HAM_IGNORED
       
if ( pev ( Entity, pev_nade_type ) == NADE_TYPE_JUMPING )
{
jumping_explode ( Entity )
return HAM_SUPERCEDE
}
return HAM_IGNORED
}
 
public jumping_explode ( Entity )
{
if ( Entity < 0 )
return
       
static Float:flOrigin [ 3 ]
pev ( Entity, pev_origin, flOrigin )
       
engfunc ( EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, flOrigin, 0 )
write_byte ( TE_SPRITE )
engfunc ( EngFunc_WriteCoord, flOrigin [ 0 ] )
engfunc ( EngFunc_WriteCoord, flOrigin [ 1 ] )
engfunc ( EngFunc_WriteCoord, flOrigin [ 2 ] + 45.0 )
write_short ( g_iExplo )
write_byte ( 35 )
write_byte ( 186 )
message_end ( )
       
new iOwner = entity_get_edict ( Entity, EV_ENT_owner )
       
emit_sound ( Entity, CHAN_WEAPON, g_SoundBombExplode[random_num(0, sizeof g_SoundBombExplode-1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM )
       
for ( new i = 1; i < g_MaxPlayers; i++ )
{
if ( !is_user_alive  ( i ) )
continue
                  
new Float:flVictimOrigin [ 3 ]
pev ( i, pev_origin, flVictimOrigin )
           
new Float:flDistance = get_distance_f ( flOrigin, flVictimOrigin )   
           
if ( flDistance <= RADIUS )
{
static Float:flSpeed
flSpeed = get_pcvar_float ( cvar_speed )
               
static Float:flNewSpeed
flNewSpeed = flSpeed * ( 1.0 - ( flDistance / RADIUS ) )
               
static Float:flVelocity [ 3 ]
get_speed_vector ( flOrigin, flVictimOrigin, flNewSpeed, flVelocity )
               
set_pev ( i, pev_velocity,flVelocity )
 
message_begin(MSG_ONE_UNRELIABLE, g_msgScreenShake, _, i)
write_short(UNIT_SECOND*4) // amplitude             
write_short(UNIT_SECOND*10) // duration
write_short(UNIT_SECOND*10) // frequency
message_end()
                
fm_fakedamage(i, "knockback-bomb", 10.0,  DMG_BLAST);
}
}
 
engfunc ( EngFunc_RemoveEntity, Entity )
}       
 
public AmmoPickup ( id, AmmoID, AmmoAmount )
{
message_begin ( MSG_ONE, g_msgAmmoPickup, _, id )
write_byte ( AmmoID )
write_byte ( AmmoAmount )
message_end ( )
}
 
stock get_speed_vector(const Float:origin1[3],const Float:origin2[3],Float:speed, Float:new_velocity[3])
{
new_velocity[0] = origin2[0] - origin1[0]
new_velocity[1] = origin2[1] - origin1[1]
new_velocity[2] = origin2[2] - origin1[2]
new Float:num = floatsqroot(speed*speed / (new_velocity[0]*new_velocity[0] + new_velocity[1]*new_velocity[1] + new_velocity[2]*new_velocity[2]))
new_velocity[0] *= num
new_velocity[1] *= num
new_velocity[2] *= num
       
return 1;
}
 
public grenade_icon(id) 
{
remove_grenade_icon(id)
 
if(is_user_bot(id))
return
 
static igrenade, grenade_sprite[16], grenade_color[3]
igrenade = get_user_weapon(id)
 
switch(igrenade) 
{
case CSW_SMOKEGRENADE:
{
if(!is_user_alive(id) || zp_get_user_zombie(id)) {
grenade_sprite = "dmg_gas"
grenade_color = {255, 165, 0} 
}
else
{
grenade_sprite = ""
grenade_color = {0, 0, 0} 
}
}
default: 
return
}
grenade_icons[id] = grenade_sprite
 
// show grenade icons
message_begin(MSG_ONE,iconstatus,{0,0,0},id)
write_byte(1) // status (0=hide, 1=show, 2=flash)
write_string(grenade_icons[id]) // sprite name
write_byte(grenade_color[0]) // red
write_byte(grenade_color[1]) // green
write_byte(grenade_color[2]) // blue
message_end()
 
return
}
 
public remove_grenade_icon(id) 
{
// remove grenade icons
message_begin(MSG_ONE,iconstatus,{0,0,0},id)
write_byte(0) // status (0=hide, 1=show, 2=flash)
write_string(grenade_icons[id]) // sprite name
message_end()
}
 
public event_death() 
{
new id = read_data(2)
 
if(!is_user_bot(id))
remove_grenade_icon(id)
}

 

Amxbans - admin na nick/hasło

21.12.2013 00:59

Witam,

mam na stronie www jak i serwerze zainstalowany amxbans "stable", mój problem polega na tym iż gdy dodaję adminów na hasło i nick, serwer ich nie wczytuje.

Natomiast gdy powtarzam tą czynność na steam id działa bez zarzutów.

Wszystkie te czynności wykonuję na stronie www i jest to mi niezbędne do automatycznego sklepu.

 

2 pytanie to jak ustawić na stronie aby domyślnie pojawiali się wszyscy admini w zakładce "lista adminów"?