wedlug mnie najlepsze rozwiazanie to powrót do starego garfielda ZM, czyli: worki(lasery za bardzo znane, na kazdym ZM są), odradzanie sie zombiaków i wrzucic autokampe do wyboru broni. Wtedy jest najlepsza gra (ja nie mogłem odejśc od kompa)xD
Klasy zombiaków nie ma znaczenia bo i tak są tutaj wysokie skoki.
Kto grał na starym ZM Garfield to wie ze był kozacki serwer.
K2 ja grałem ale ty chyba grałeś po innym nickiem ja grałem jako N!ke*. Ale to bez znaczenia.
Klasy zombie są dobre szczególnie dla osób które kampią wysoko zombie nie mogą dojść. Tak z 4 klasy:
-Poison zombie - ok 2500 hp wysoki skok
-Big zombie - ok 5000 hp wolny i normal skok
- Classic zombie - troche ze wszystkiego
- jakiś tam dacie nazwe zombie np zombie kota garfa lub cuś - Ok 3000 hp normalny skok i może robic knive blinka.
Zgodzem się z przedmówcą. Worki i auto kampa rulez
// The sizes of models
#define PALLET_MINS Float:{ -27.260000, -22.280001, -22.290001 }
#define PALLET_MAXS Float:{ 27.340000, 26.629999, 29.020000 }
// from fakemeta util by VEN
#define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
#define fm_remove_entity(%1) engfunc(EngFunc_RemoveEntity, %1)
// this is mine
#define fm_drop_to_floor(%1) engfunc(EngFunc_DropToFloor,%1)
// cvars
new pnumplugin, remove_nrnd, maxpallets, phealth;
// num of pallets with bags
new palletscout = 0;
/* Models for pallets with bags .
Are available 2 models, will be set a random of them */
new g_models[][] =
g_itemid_bolsas = zp_register_extra_item(g_item_name, g_item_cost, ZP_TEAM_HUMAN)
/* Register the cvars */
g_BINDMODE = register_cvar("zp_pb_bind","0"); //Auto bind L Key!
g_MSGMODE = register_cvar("zp_pb_msg","1"); //
ZPSTUCK = register_cvar("zp_pb_stuck","1")
pnumplugin = register_cvar("zp_pb_enable","1"); // 1 = ON ; 0 = OFF
remove_nrnd = register_cvar("zp_pb_remround","1");
maxpallets = register_cvar("zp_pb_limit","200"); // max number of pallets with bags
phealth = register_cvar("zp_pb_health","200"); // set the health to a pallet with bags
/* Game Events */
register_event("HLTV","event_newround", "a","1=0", "2=0"); // it's called every on new round
/* This is for menuz: */
register_menucmd(register_menuid("ySand Bags:"), 1023, "menu_command" );
register_clcmd("say /pb","show_the_menu");
register_clcmd("/pb","show_the_menu");
//cvar[0] = register_cvar("zp_autounstuck","1")
cvar[1] = register_cvar("zp_pb_stuckeffects","1")
cvar[2] = register_cvar("zp_pb_stuckwait","7")
}
public plugin_precache()
{
for(new i;i < sizeof g_models;i++)
engfunc(EngFunc_PrecacheModel,g_models[i]);
}
public show_the_menu(id,level,cid)
{
// check if user doesen't have admin
/*if( ! cmd_access( id,level, cid , 0 ))
return PLUGIN_HANDLED;
*/
// check if the plugin cvar is turned off
if( ! get_pcvar_num( pnumplugin ) )
return PLUGIN_HANDLED;
// check if user isn't alive
if( ! is_user_alive( id ) )
{
client_print( id, print_chat, "" ); //msg muerto
return PLUGIN_HANDLED;
}
if ( !zp_get_user_zombie(id) )
{
new szMenuBody[256];
new keys;
new nLen = format( szMenuBody, 255, "ySand Bags:^n" );
nLen += format( szMenuBody[nLen], 255-nLen, "^nw1. Place a Sandbags (%i Remaining)", g_bolsas[id] );
//nLen += format( szMenuBody[nLen], 255-nLen, "^nw2. Remove a pallet with bags" );
nLen += format( szMenuBody[nLen], 255-nLen, "^n^nw0. Exit" );
keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<9)
show_menu( id, keys, szMenuBody, -1 );
// depends what you want, if is continue will appear on chat what the admin sayd
return PLUGIN_HANDLED;
}
client_print(id, print_chat, "[ZP] The zombies can not use this command!")
return PLUGIN_HANDLED;
}
public menu_command(id,key,level,cid)
{
switch( key )
{
// place a pallet with bags
case 0:
{
if ( !zp_get_user_zombie(id) )
{
new money = g_bolsas[id]
if ( money < 1 )
{
if ( get_pcvar_num(g_MSGMODE) == 1 )
{
set_hudmessage(0, 0, 100, 0.80, 0.80, 0, 6.0, 2.0, 1.0, 1.0)
show_hudmessage(id, "You do not have to^nplace sandbags")
return PLUGIN_CONTINUE
}
client_print(id, print_chat, "[ZP] You do not have to place sandbags!")
return PLUGIN_CONTINUE
}
g_bolsas[id]-= 1
place_palletwbags(id);
show_the_menu(id,level,cid);
return PLUGIN_CONTINUE
}
client_print(id, print_chat, "[ZP] The zombies can not use this!!")
return PLUGIN_CONTINUE
}
// remove a pallet with bags
/*case 1:
{
if ( !zp_get_user_zombie(id) )
{
new ent, body, class[32];
get_user_aiming(id, ent, body);
if (pev_valid(ent))
{
pev(ent, pev_classname, class, 31);
if (equal(class, "amxx_pallets"))
{
g_bolsas[id]+= 1
fm_remove_entity(ent);
}
else
client_print(id, print_chat, "[ZP] You are not aiming at a pallet with bags");
}
else
client_print(id, print_chat, "[ZP] You are not aiming at a valid entity !");
show_the_menu(id,level,cid);
}
}
*/
// remove all pallets with bags
/*case 2:
{
g_bolsas[id]= 0
remove_allpalletswbags();
client_print(id,print_chat,"[AMXX] You removed all pallets with bags !");
show_the_menu(id,level,cid);
}
*/
}
return PLUGIN_HANDLED;
}
public place_palletwbags(id)
{
if( palletscout == get_pcvar_num(maxpallets) )
{
client_print(id,print_chat,"[ZP] For security reasons only allow %d Sandbags on the server!",get_pcvar_num(maxpallets));
return PLUGIN_HANDLED;
}
// create a new entity
new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "func_wall"));
// set a name to the entity
set_pev(ent,pev_classname,"amxx_pallets");
// set model
engfunc(EngFunc_SetModel,ent,g_models[random(sizeof g_models)]);
// register a new var. for origin
static Float:xorigin[3];
get_user_hitpoint(id,xorigin);
// check if user is aiming at the air
if(engfunc(EngFunc_PointContents,xorigin) == CONTENTS_SKY)
{
client_print(id,print_chat,"[ZP] You can not put sandbags in the sky!");
return PLUGIN_HANDLED;
}
// set the rock of origin where is user placed
engfunc(EngFunc_SetOrigin, ent, xorigin);
// make the rock solid
set_pev(ent,pev_solid,SOLID_BBOX); // touch on edge, block
// set the movetype
set_pev(ent,pev_movetype,MOVETYPE_FLY); // no gravity, but still collides with stuff
// now the damage stuff, to set to take it or no
// if you set the cvar "pallets_wbags_health" 0, you can't destroy a pallet with bags
// else, if you want to make it destroyable, just set the health > 0 and will be
// destroyable.
new Float:p_cvar_health = get_pcvar_float(phealth);
switch(p_cvar_health)
{
case 0.0 :
{
set_pev(ent,pev_takedamage,DAMAGE_NO);
}
// confirm message
if ( get_pcvar_num(g_MSGMODE) == 1 )
{
set_hudmessage(0, 0, 100, 0.80, 0.80, 0, 6.0, 2.0, 1.0, 1.0)
show_hudmessage(id, "You placed a SandBag^n%i Remaining", g_bolsas[id])
return PLUGIN_HANDLED
}
client_print(id, print_chat, "[ZP] You have placed a Sandbag.")
return PLUGIN_HANDLED;
}
/* ====================================================
get_user_hitpoin stock . Was maked by P34nut, and is
like get_user_aiming but is with floats and better :o
====================================================*/
stock get_user_hitpoint(id, Float:hOrigin[3])
{
if ( ! is_user_alive( id ))
return 0;
new Float:fOrigin[3], Float:fvAngle[3], Float:fvOffset[3], Float:fvOrigin[3], Float:feOrigin[3];
new Float:fTemp[3];
/* ====================================================
This is called on every round, at start up,
with HLTV logevent. So if the "pallets_wbags_nroundrem"
cvar is set to 1, all placed pallets with bugs will be
removed.
====================================================*/
public event_newround()
{
if( get_pcvar_num ( remove_nrnd ) == 1)
remove_allpalletswbags();
}
/* ====================================================
This is a stock to help for remove all pallets with
bags placed . Is called on new round if the cvar
"pallets_wbags_nroundrem" is set 1.
====================================================*/
stock remove_allpalletswbags()
{
new pallets = -1;
while((pallets = fm_find_ent_by_class(pallets, "amxx_pallets")))
fm_remove_entity(pallets);
public effects(id) {
if(get_pcvar_num(cvar[1])) {
set_hudmessage(255,150,50, -1.0, 0.65, 0, 6.0, 1.5,0.1,0.7) // HUDMESSAGE
show_hudmessage(id,"Automatic Unstuck!") // HUDMESSAGE
message_begin(MSG_ONE_UNRELIABLE,105,{0,0,0},id )
write_short(1<<10) // fade lasts this long duration
write_short(1<<10) // fade lasts this long hold time
write_short(1<<1) // fade type (in / out)
write_byte(20) // fade red
write_byte(255) // fade green
write_byte(255) // fade blue
write_byte(255) // fade alpha
message_end()
client_cmd(id,"spk fvox/blip.wav")
}
}
public zp_extra_item_selected(player, itemid)
{
if (itemid == g_itemid_bolsas)
{
g_bolsas[player]+= 15
cmd_bind(player)
set_task(0.3,"show_the_menu",player)
if ( get_pcvar_num(g_MSGMODE) == 1 )
{
set_hudmessage(0, 0, 100, 0.80, 0.80, 0, 6.0, 2.0, 1.0, 1.0)
show_hudmessage(player, "Plugin By LARP^n Chile 2008")
}
}
}
public cmd_bind(id)
{
if ( get_pcvar_num(g_BINDMODE) == 1 )
{
client_print(id, print_chat, "[ZP] You have %i sandbags, to use with the key 'L'", g_bolsas[id])
client_cmd(id,"bind l /pb")
return PLUGIN_HANDLED
}
client_print(id, print_chat, "[ZP] You have %i sandbags, to use type 'say /pb'", g_bolsas[id])
return PLUGIN_HANDLED
A propo bez klas.
Każdy zombie po hmm... 3000hp a ten co jest 1'szy zarażony 2x więcej [6000hp] i on tylko ma niską grawitację [proponuję sv_gravity 400].
Bez respawnów. Na początku rundy grawitacja 100 aż do zamienienia się 1'szego w zombie. Bazooka mile widziana tj. worki. Jakby dało rade jakieś nowe bronie [ale to ciężko będzie]. No i coś na koniec ... hmm ... standardowe granaty [czyli tylko v_ .mdl tylko to, mogą być ogniowe, zamrażające etc. ale bez tych brzydkich modeli ;/]
gram na serwie juz dosyc dlugo i sadze ze wszystko jest ok poza miejscami gdzie mozna wskoczyc na poczatki mapy. chodzi mi o to ze jak Ct tam wszkoczy to nie ma szans zeby zabi dalo rade go tam dopasc . kolorowe flary sa ok bo i tak nie ma u was az tak ciemnych map ze flara musi byc. lasery sadze ze odpadaja za duzo tego gdzie indziej .
Ja sadze ze tak jak jest teraz jest ok i nic bym nie zmienial no moze troche czas mapy np dodac do vota ktory jest pod koniec czy chca zeby mapa trwala xx min dluzej.
ja bym dodał 1 rodzaj zombie. Takie co wysoko skaczą i mają tylko 1800hp- poison zombie
[ Dodano: 2010-03-18, 18:20 ]
mam pytanko!!! Czy jakbym podał plugin na klase zombie to wgracie ją?
Tyle rzeczy podawaliśmy, i czy będzie wogóle cos zmieniane jeszcze?
MirroR
Platforma: NonSteam
Dołączył: 25 Mar 2010 Posty: 1 Skąd: biorą się dzieci ?
Wysłany: 2010-03-25, 22:10
Cool by Było gdyby było więcej rodzaji rozgrywki np 50% graczy surv 50% Nemek Albo np nie że nemek tylko zupełnie coś innego 1 np goblin czy coś na resztę ludzi a nie że tylko to samo
Poszukaj pluginów. Dajecie pomysły to dajcie pluginy. Ja dałem plugin tylko że coś jest nie tak bo worki są za friko xd. Ale pomysł dobry. Poszmeraj z pluginami
Platforma: Steam
Imię: Adam
Wiek: 16 Dołączył: 25 Kwi 2010 Posty: 36 Skąd: Ruda Śląska
Wysłany: 2010-04-26, 00:18
Popieram Underworlda. Na większości serwerów jest parę klas Zombie. Tutaj prócz zwykłego przydałby się trujący zombie, który by wyżej skakał ale miał mniej hp.
Platforma: Steam
Imię: Adam
Wiek: 16 Dołączył: 25 Kwi 2010 Posty: 36 Skąd: Ruda Śląska
Wysłany: 2010-04-27, 18:45
Ja bym powiedział, że brakuje opcji /admin.
11-letnie dzieci, które jeszcze nawet nie przeszły mutacji drą się do mikrofonu i myślą, że są bezkarni, a jeśli jest admin na serwerze to wpierw daje upomnienie. Jakby na "/admin" zobaczyli, że jest admin może by nie darli tego ryja. Prócz tego myślę, że widząc adminów online ogarnęliby się z blokowaniem kamp.
Wnioskuję o rozpatrzenie mojej propozycji