LondoN eXtream
-
Posts
640 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Events
Articles
Posts posted by LondoN eXtream
-
-
Avatar/Semnatura/Logo/Banner/etc : Avatar
Tema pozei / Stock-ul dorit ( obligatoriu ) : ZM: http://i562.photobucket.com/albums/ss67/sirtwi/rvs%20modding/zm_mbundu_05-08-2011_003.jpg / CS: http://static.ddmcdn.com/gif/blogs/navy-seals-vs-delta-force.jpg
Text principal : Alex #
Text secundar ( rangfort / www.rangfort.ro / nume server ) : ZM.RANGFORT.RO / CS.RANGFORT.RO
Alte precizari : As vrea ca poza sa fie impartita in 2. intr-o parte [stanga] sa fie stock-ul cu zombie si jos sa scrie zm.rangfort.ro iar in dreapta stock-ul cu cs si sa scrie cs.rangfort.ro. pe mijloc sa fie o bara care sa le desparta.Dimensiuni avatar ( 150 x 250 SAU 150 x 300 ) : 150x250
-
scuzati ca ma bag dar cu asa altitudine http://rangfort.ro/forum/index.php?/topic/30101-urgent-daca-se-poate/
eu nu tias da nimica dar na nu eu conduc pe aici.
E si normal sa ma enervez cand faci 1000 de topicuri. Ti-am mai lasat odata pluginul who cu users.ini.
Ai mai avut sanse de a avea acces la noi aici, insa ai dat mereu cu bata-n balta . De priceput te pricepi, nu pot sa comentez, insa sa ti se ofere sanse pana la infinit, nu prea cred .
Momentan lasam la parerea celorlalti din staff, si pe urma vom revenii cu o decizie finala .
Da, si imi pare foarte rau. Dar am observat ca sunt 2 moderatori pe acea sectiune , care, nu ai nici activitate si nici experienta cat sa ajute useri. Am observat ca, atunci cand un user vine cu ceva mai complicat, seciunea ramane pustie. Userul de mai sus, cred ca are vreo 3-4 topicuri cu aceasi cerere [intr-un topic i-am lasat tot ce a cerut functional] iar el a mai deschis 2 altfel de cereri in care cerea acelasi lucru. Si nimeni nu i-a dat warn sau macar sa trimita topicurile la trash.
Am revenit cu forte proaspete si cu un nou proiect in dezvoltare, special pentru aceasta comunitate, care sper sa fie de folos tuturor membrilor.
In 2 zile am reusit sa reduc sursa de la 391kb la 367kb, eliminand undeva la 2.5 mii linii, si scriptand de la 0, alte cateva mii, vrand sa fac un addons special si "moka" pentru toti/toate.
EDIT: Dani, uita-te:
http://rangfort.ro/forum/index.php?/topic/29606-ajutor-daca-se-poate/- i-am lasat plugin + users.ini functional si testat.
http://rangfort.ro/forum/index.php?/topic/30101-urgent-daca-se-poate/- cred ca asta e batae de joc, sa nu stii sa iti faci un users.ini. Dupa parerea mea asta e post-hunt.
-
Nume : Alexandru [Alex]
Nick : Alex #
Vârstă : 13
Motiv : Tot mai multi detinatori au nevoie de ajutor in cea ce priveste partea tehnica [scripting], acolo unde ma pricep eu bine.
Adresa de contact : romanya_what
Timp alocat forumului : 3-4 ore zilnic.
Ce secţiuni doreşti să moderezi? AMXMODX si SourceMod [m-am apucat si de CS:GO].
De ce ai ales aceste sectiuni? Deoarece in aceste domenii ma pricep eu cel mai bine.
De ce doreşti să moderezi în această comunitate? Pentru ca e singura comunitate care imi creaza un sentiment placut.
Ai mai moderat pe IPB? Da.
Ce înţelegi prin "Post hunt"? Post inutil.
Ce înţelegi prin "Dublu post"? 2 posturi unul dupa altul, de acelasi user.
Ce înseamnă "Warez"? Piratat.
Ce înseamnă "NSFW"? +18
Care este diferenţa dintre post hunt şi off-topic? Post Inutil / Abatere de la subiect.
Ce planuri ai ca să sporeşti activitatea membrilor în secţiunile pe care doreşti să le moderezi ? De curand lucrez la un nou proiect ,care sper eu, sa aduca multe vizite acestui forum.
Ai citit regulamentul forumului ? In mare parte [85-90%] il cunosc. -
-
Doamne frate, nici sa scrii un fisier .ini nu stii? Cum dq ai server? Daca dai un search pe net e plin de asa ceva :| Daca ma uit la sectiunea cereri resurse e plin de tine , cum cersesti vreo 3 mii de pluginuri who.
-
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Who meniu"
#define VERSION "1.0"
#define AUTHOR "Askwrite" // Modificat de SnowFake
#define GRUPURI 6
new const TITLU[] = " \r- \y[ \rXMAS.RANGFORT.RO \w- \rAdmins \y] \r-";
new const IESIRE[] = "\r0. \yExit";
new const NOADMINS[] = "\rNo admins";
#pragma semicolon 1
new g_NumeGrade[ GRUPURI ][ ] = {
"\rMos Craciun",
"\rMos Nicolae",
"\rElf",
"\rRen",
"\rCopil Cuminte",
"\rSlot"
};
new g_Flaguri[ GRUPURI ][ ] = {
"abcdefghijklmnopqrstu",
"bcdefghijklmnopqrstu",
"bcdefghijklmnopqrsu",
"bcdefghijklmnotu",
"bcdefghijklmno",
"b"
};
new g_ValueFlaguri[ GRUPURI ];
public plugin_init( ) {
register_plugin( PLUGIN, VERSION, AUTHOR );
for( new i = 0 ; i < GRUPURI ; i++ )
g_ValueFlaguri[ i ] = read_flags( g_Flaguri[ i ] );
register_clcmd("say /who", "cmdWho");
register_clcmd("say who", "cmdWho");
register_clcmd("say_team who", "cmdWho");
register_clcmd("say_team /who", "cmdWho");
register_clcmd("say /admin", "cmdWho");
register_clcmd("say_team /admin", "cmdWho");
register_clcmd("say /admins", "cmdWho");
register_clcmd("say_team /admins", "cmdWho");
register_clcmd("say /admini", "cmdWho");
register_clcmd("say_team /admini", "cmdWho");
}
public cmdWho( id, page ) {
new MenuName[ 64 ], MenuExitKey[ 32 ];
formatex( MenuName, sizeof ( MenuName ) -1, "%s", TITLU );
formatex( MenuExitKey, sizeof ( MenuExitKey ) -1, "%s", IESIRE );
new menu = menu_create(MenuName, "InchidereMeniu");
if( AdminiON( ) )
{
for( new i = 0; i < GRUPURI; i++ )
{
AdaugareA( id, menu, i );
}
}
else
{
menu_additem( menu, NOADMINS , "1", 0 );
}
menu_setprop(menu, MPROP_EXITNAME, MenuExitKey );
menu_display(id, menu, page);
}
public InchidereMeniu(id, menu, item) {
if(item == MENU_EXIT)
{
menu_destroy( menu );
return 1;
}
new data[6], iName[64];
new iaccess, callback;
menu_item_getinfo(menu, item, iaccess, data,5, iName, 63, callback);
new key = str_to_num(data);
switch(key)
{
case 1,2,3,4,5,6,7:
{
menu_destroy( menu );
return 1;
}
}
return 0;
}
public AdaugareA( const id, const menu, const group ) {
new AdminMenuMessage[ 32 ][ 64 ],AdminMenuKey[ 32 ][ 32 ], MenuKey = 1;
static Players[ 32 ], Num, Player;
get_players( Players, Num, "ch" );
for( new x = 0 ; x < Num ; x++ )
{
Player = Players[ x ];
if( get_user_flags( Player ) == g_ValueFlaguri[ group ] )
{
formatex( AdminMenuMessage[ MenuKey ], sizeof ( AdminMenuMessage[ ] ) -1, " \w%s \y\w%s%s ",
gName( Player ), g_NumeGrade[ group ], Player == id ? "\r *" : "" );
formatex( AdminMenuKey[ MenuKey ], sizeof ( AdminMenuKey[ ] ) -1, "%d", MenuKey );
MenuKey++;
}
}
for( new z = 1 ; z < MenuKey ; z++ )
{
menu_additem( menu, AdminMenuMessage[ z ], AdminMenuKey[ z ], 0 );
}
}
stock bool:AdminiON( ) {
new bool:AGasiti = false;
static Players[ 32 ], Num, Player;
get_players( Players, Num, "ch" );
for( new x = 0 ; x < Num ; x++ )
{
Player = Players[ x ];
for( new i = 0 ; i < GRUPURI ; i++ )
{
if( AGasiti ) break;
if( get_user_flags( Player ) == g_ValueFlaguri[ i ] )
{
AGasiti = true;
}
}
}
return AGasiti ? true : false;
}
stock gName( id ) {
new name[ 32 ];
get_user_name( id, name, sizeof ( name ) -1 );
return name;
}; ##################################################
; == USERS.INI ~ XMAS.RANGFORT.RO ~ XMAS OUTSTANDING ==
; ##################################################
; =================================================
; --- [ 1 ] Mos Craciun - abcdefghijklmnopqrstu ---
; =================================================
; =================================================
; --- [ 2 ] Mos Nicolae - bcdefghijklmnopqrstu ---
; =================================================
; =================================================
; --- [ 3 ] Elf - bcdefghijklmnopqrsu ---
; =================================================
; =================================================
; --- [ 4 ] Ren - bcdefghijklmnotu ---
; =================================================
; =================================================
; --- [ 5 ] Copil Cuminte - bcdefghijklmno ---
; =================================================
; =================================================
; --- [ 6 ] Slot - b ---
; =================================================Ramai dator
Acesta e pluginul care ruleaza pe serverul meu de XMAS
-
Pui dproto pe server.
-
Felicitari pentru plugin, dar optimizeaza putin codul.
-
Addons testat. No error
Unde e moderatorul cu warn-ul pentru post hunt?
-
Mersi ca iti faci timp si publici pluginurile mele si aici.
P.S Eram cam bat cand scisesem descrierea, nu se aude nici un tii-uit.
-
daca imi zici ce sunete ti le adaug
-
#include <amxmodx> #include <amxmisc> #pragma tabsize 0 #pragma semicolon 1 public plugin_init() { register_plugin("Speak", "1.0", "LondoN a.k.a Alex#"); register_clcmd("say", "cmd_say"); } public plugin_precache() { precache_generic("fvox/pa.mp3"); precache_generic("fvox/sall.mp3"); precache_generic("fvox/ban.mp3"); precache_generic("fvox/cutit.mp3"); } public cmd_say(id) { new said[192]; read_args(said, sizeof(said) -1); remove_quotes(said); // begin if(equal(said, "pa")) { client_cmd(0, "spk ^"fvox/pa.mp3^""); } if(equal(said, "sall")) { client_cmd(0, "spk ^"fvox/sall.mp3^""); } if(equal(said, "ban" )) { client_cmd(0, "spk ^"fvox/ban.mp3^""); } if(equal(said, "cutit" )) { client_cmd(0, "spk ^"fvox/cutit.mp3^""); } return PLUGIN_CONTINUE; }
Moderatorii nu prea dau pe la aceasta sectiune vad.
-
Mai astept si de la alti designeri.
-
Avatar/Semnatura/Logo/Banner/etc : Semnatura
Tema pozei / Stock-ul dorit ( obligatoriu ) : Zombie's Invasion
Text principal : ZM.RANGFORT.RO
Text secundar ( rangfort / www.rangfort.ro / nume server ) : New Life Of Zombie Mod
Alte precizari : ceva efecte faine specifice ZMDimensiuni avatar ( 150 x 250 SAU 150 x 300 ) : -
-
Nu prea sta nimeni sa iti faca addons de la 0.
E full netul, ai de unde alege, ca nu stii sa modifici un SMA, treaba ta.
-
E prea gresit codul acela care l'ai dat.
Lasa avantajele ca sa'l rescriu de la 0.
[P.S: Sunt multe greseli, de ce nu folosea un bool [new bool:hk_IsUserVip [ 33 ]] sau citea direct [ if(get_user_flags(index) & read_flags ("flag" )]
Citeste mai multe despre eroarea acea aici: https://forums.alliedmods.net/showthread.php?t=150704
-
#include < amxmodx > #include < amxmisc > #include < cstrike > #include < fun > new const PLUGIN [ ] = "Points"; new const VERSION [ ] = "1.3"; new const AUTHOR [ ] = "Alex #"; new Points [ 33 ]; new SaveDataFile [ 128 ]; const Float:HUD_SPECT_X = -1.0 const Float:HUD_SPECT_Y = 0.8 public plugin_init ( ) { register_plugin ( PLUGIN, VERSION, AUTHOR ); register_event ( "DeathMsg", "eDeath", "a" ); new DataDir [ 64 ]; get_configsdir ( DataDir, charsmax ( DataDir ) ); format ( SaveDataFile, 127, "%s/Points.dat", DataDir ); set_task ( 0.1, "TASK_MSG", _, _, _, "b" ); } public plugin_natives ( ) { register_native ( "csdm_get_user_points", "get_user_points", 1 ); register_native ( "csdm_set_user_points", "set_user_points", 1 ); } public get_user_points ( id ) { return Points [ id ]; } public set_user_points ( id, PointsNum ) { Points [ id ] = PointsNum; } public eDeath ( ) { new Killer = read_data ( 1 ); new Victim = read_data ( 2 ); new HeadShoot = read_data ( 3 ); if ( Killer == Victim ) return PLUGIN_HANDLED; Points [ Killer ] += 1; if ( HeadShoot ) { Points [ Killer ] += 2; } return PLUGIN_CONTINUE; } public client_connect ( id ) { LoadPoints ( id ); } public client_disconnect ( id ) { SavePoints ( id ); } public LoadPoints ( id ) { new Name [ 32 ]; get_user_name ( id, Name, 31 ); new Line [ 128 ], IsPlayer = false, Arg1 [ 32 ], Arg2 [ 32 ]; new File = fopen ( SaveDataFile, "rt" ) while ( !feof ( File ) ) { fgets ( File, Line, 127 ); trim ( Line ); parse ( Line, Arg1, 31, Arg2, 31 ); if ( equali ( Arg1, Name ) ) { Points [ id ] = str_to_num ( Arg2 ); IsPlayer = true; break; } } fclose ( File ); if ( !IsPlayer ) Points [ id ] = 0; } public SavePoints ( id ) { new Name [ 32 ]; get_user_name ( id, Name, 31 ); new Save [ 1024 ]; format ( Save, sizeof ( Save ) -1, "^"%s^" %d", Name, Points [ id ] ); new Line [ 128 ], Linie, IsPlayer = false, Arg1 [ 32 ] new File = fopen ( SaveDataFile, "rt" ); while ( !feof ( File ) ) { fgets ( File, Line, 127 ); parse ( Line, Arg1, 31 ); if ( equali ( Arg1, Name ) ) { write_file ( SaveDataFile, Save, Linie ); IsPlayer = true; break; } Linie++ } fclose ( File ); if ( !IsPlayer ) write_file ( SaveDataFile, Save, -1 ); } public TASK_MSG ( ) { static id; for ( id = 1; id <= get_maxplayers ( ); id++ ) { if ( is_user_alive ( id ) && is_user_connected ( id ) ) { switch ( cs_get_user_team ( id ) ) { case CS_TEAM_T : { set_hudmessage ( id, 127, 255, HUD_SPECT_X, HUD_SPECT_Y, 1, 6.0, 1.1, 0.0, 0.0, -1 ); show_hudmessage ( id, "Terorist, HP: %d - AP: %d - Points: %d", get_user_health ( id ), get_user_armor ( id ), Points [ id ] ); } case CS_TEAM_CT : { set_hudmessage ( id, 127, 255, HUD_SPECT_X, HUD_SPECT_Y, 1, 6.0, 1.1, 0.0, 0.0, -1 ) show_hudmessage ( id, "Counter, HP: %d - AP: %d - Points: %d", get_user_health ( id ), get_user_armor ( id ), Points [ id ] ); } case CS_TEAM_SPECTATOR : { return PLUGIN_CONTINUE; } } } } return PLUGIN_CONTINUE; }
ltima versiune.
-
Acum am observat ca acest server e de GO!.
Nu are ce cauta la aceasta categorie.
Daca spui ca e facut de Hattrick , vorbeste cu el, nu cu noi [Este o mare diferenta intre AMXMODX & SourceMod]
- 1
-
Reinstall la server, si din vechiul addons adaugi la loc doar ce ai tu nevoie.
-
#include < amxmodx > #include < amxmisc > new const g_szMap [ ] = "de_dust2"; public plugin_init ( ) { set_task ( 1.0, "TASK_MAP", _, _, _, "b" ); } public TASK_MAP ( ) { new Time [ 32 ]; get_time ( "%H:%M", Time, 31 ); if ( equal ( Time, "00:00" ) ) { server_cmd ( "amx_map ^"%s^"", g_szMap ); set_cvar_string ( "mp_timelimit", "0" ); } return PLUGIN_CONTINUE; }
Cat despre cvar, trebuie sa rescrii majoritatea pluginelor / modulul principal.
P.S: Observ ca cei care au moderator aici au cam 0 cunostinte...si fac mai mult posturi de umplutura.
- 1
-
Posteaza cvarurile la care sa nu aiba acces si ce flaguri au ceilalti.
-
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <engine>
#pragma semicolon 1
new const PLUGIN[] = "VIP";
new const VERSION[] = "1.0";
new const AUTHOR[] = "londoN";
#define VIP_FLAG "t" // Flag-ul VIP-ului
#define HP_KILL 15 // HP primiti la kill
#define HP_HS 25 // HP primiti la headshoot
#define TIME_MSG 32.5 // La cat timp sa arate in chat mesajele.
new g_msgSayText;
new jumpnum[33];
new bool:dojump[33] = false;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("say", "cmd_say");
register_message(get_user_msgid("ScoreAttrib"), "MsgScoreAttrib");
register_event("DeathMsg", "eDeath", "a");
RegisterHam(Ham_Spawn, "player", "HamSpawn");
set_task(TIME_MSG, "TASK_MSG", _, _, _, "b");
g_msgSayText = get_user_msgid("SayText");
}
public MsgScoreAttrib(iMsgId, iDest, iReciver) {
new iPlayer = get_msg_arg_int(1);
if(get_user_flags(iPlayer) & read_flags(VIP_FLAG)) {
set_msg_arg_int(2, ARG_BYTE, (1<<2));
}
}
public DeathMsg() {
new killer = read_data(1);
new victim = read_data(2);
new headshoot = read_data(3);
if(get_user_flags(killer) & read_flags(VIP_FLAG)) {
if(killer == victim) return PLUGIN_HANDLED;
if(get_user_health(killer) >= 200) return PLUGIN_HANDLED;
set_user_health(killer, get_user_health(killer) + HP_KILL);
if(headshoot) {
set_user_health(killer, get_user_health(killer) + HP_HS);
}
}
return PLUGIN_CONTINUE;
}
public HamSpawn(id) {
if(get_user_flags(id) & read_flags(VIP_FLAG)) {
set_user_health(id, 100);
set_user_armor(id, 100);
}
return HAM_IGNORED;
}
public TASK_MSG() {
switch(random_num(1,2)) {
case 1 : {
ColorChat(0, "!x04[V.I.P] !x03Tasteaza in chat !x04/vip !x03pentru a vedea beneficiile vip-ului.");
return PLUGIN_CONTINUE;
}
case 2 : {
ColorChat(0, "!x04[V.I.P] !x03Tasteaza in chat !x04/vips !x03pentru a vedea VIP-ii online");
return PLUGIN_CONTINUE;
}
}
return PLUGIN_CONTINUE;
}
public cmd_say(id) {
new said[192];
read_argv(1, said, sizeof(said) -1);
remove_quotes(said);
if(containi(said, "/vip")) {
new File[64], DataDir[64];
get_configsdir(DataDir, charsmax(DataDir));
formatex(File, charsmax(File), "%s/vip.txt", DataDir);
if(!file_exists(File)) {
ColorChat(id, "!x04[V.I.P] !x03Nu putem deschide !x04%s", File);
return PLUGIN_HANDLED;
}
show_motd(id, File);
}
if(containi(said, "/vips")) {
new AdminNames[33][32];
new Message[256];
new Count, x, len;
if(is_user_connected(id)) {
if(get_user_flags(id) & read_flags(VIP_FLAG)) {
get_user_name(id, AdminNames[Count++], 31);
}
len = format(Message, 255, "!x04Gold Members: !x03");
if(Count > 0) {
for(x = 0; x < Count; x++) {
len += format(Message[len], 255-len, "%s%s", AdminNames[x], x < (Count - 1) ? ", ":"");
if(len > 96) {
ColorChat(id, Message);
}
}
}
else {
ColorChat(id, "!x04No Gold Members");
}
}
}
return PLUGIN_CONTINUE;
}
public client_PreThink(id) {
if(!is_user_alive(id)) return PLUGIN_HANDLED;
new obut = get_user_oldbutton(id);
new nbut = get_user_button(id);
if(get_user_flags(id) & read_flags(VIP_FLAG)) {
if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP)) {
if(jumpnum[id] > 3) {
dojump[id] = true;
jumpnum[id]++;
return PLUGIN_CONTINUE;
}
}
if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) {
jumpnum[id] = 0;
return PLUGIN_CONTINUE;
}
}
return PLUGIN_CONTINUE;
}
public client_PostThink(id) {
if(!is_user_alive(id)) return PLUGIN_CONTINUE;
if(get_user_flags(id) & read_flags(VIP_FLAG)) {
if(dojump[id] == true) {
new Float:velocity[3];
entity_get_vector(id, EV_VEC_velocity, velocity);
velocity[2] = random_float(265.0, 285.0);
entity_set_vector(id, EV_VEC_velocity, velocity);
dojump[id] = false;
return PLUGIN_CONTINUE;
}
}
return PLUGIN_CONTINUE;
}
stock ColorChat(const id, const input[], any:...) {
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!x04", "^4");
replace_all(msg, 190, "!x03", "^3");
if(id) players[0] = id;
else get_players(players, count, "ch"); {
for(new i = 0; i < count; i++) {
if(is_user_connected(players)) {
message_begin(MSG_ONE_UNRELIABLE, g_msgSayText, _, players);
write_byte(players);
write_string(msg);
message_end();
}
}
}
}L-am facut dupa cum ai cerut.
-
Normal ca atunci cand nu stie sa faca, adauga regula noua, nu mai cereti x/y. Sincer nu stiu cum ati primit grad, s-ar presupune ca daca ai grad si moderezi aceasta sectiune trebuie sa aiba si ceva cunostinte in acest domeniu.
Pentru domnul afk, nu cred ca stii sa faci diferenta intre un plugin vip si un vip menu.
Revin cu edit cand e gata.
- 1
-
#define DAMAGE_RECIEVED
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#inlcude <fakemeta>
#include <hamsandwich>
#include <fakemeta_util>
#include <stripweapons>
#include <colorchat>
#include <engine>
#define NUMAR_DE_SARITURI 1 // 1 saritura default + 1
static const COLOR[] = "^x04" //green
static const CONTACT[] = ""
new maxplayers, gmsgSayText
new mpd, mkb, mhb
new g_MsgSync
new health_add
new health_hs_add
new health_max
new nKiller
new nKiller_hp
new nHp_add
new nHp_max
new g_awp_active
new g_menu_active
new CurrentRound
new bool:HasC4[33]
#define Keysrod (1<<0)|(1<<1)|(1<<2)|(1<<9) // Keys: 1234567890
#if defined DAMAGE_RECIEVED
new g_MsgSync2
#endif
new bool:dojump[33] = false;
new jumpnum[33] = 0;
public plugin_init()
{
register_plugin("VIP", "3.2", "Dunno")
mpd = register_cvar("money_per_damage","3")
mkb = register_cvar("money_kill_bonus","200")
mhb = register_cvar("money_hs_bonus","500")
health_add = register_cvar("amx_vip_hp", "15")
health_hs_add = register_cvar("amx_vip_hp_hs", "30")
health_max = register_cvar("amx_vip_max_hp", "100")
g_awp_active = register_cvar("awp_active", "1")
g_menu_active = register_cvar("menu_active", "1")
register_event("Damage","Damage","b")
register_event("DeathMsg","death_msg","a")
register_menucmd(register_menuid("rod"), Keysrod, "Pressedrod")
register_clcmd("awp","HandleCmd")
register_clcmd("sg550","HandleCmd")
register_clcmd("g3sg1","HandleCmd")
register_clcmd("say /wantvip","ShowMotd")
maxplayers = get_maxplayers()
gmsgSayText = get_user_msgid("SayText")
register_clcmd("say", "handle_say")
register_cvar("amx_contactinfo", CONTACT, FCVAR_SERVER)
register_logevent("LogEvent_RoundStart", 2, "1=Round_Start" );
register_event("TextMsg","Event_RoundRestart","a","2Game_w")
register_event("TextMsg","Event_RoundRestart","a","2Game_C");
register_event("DeathMsg", "hook_death", "a", "1>0")
register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")
g_MsgSync = CreateHudSyncObj()
#if defined DAMAGE_RECIEVED
g_MsgSync2 = CreateHudSyncObj()
#endif
}
public client_PreThink(id) {
if(!is_user_alive(id)) return PLUHIN_HANDLED;
new obut = get_user_oldbutton(id);
new nbut = get_user_button(id);
if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP)) {
if(get_user_flags(id) & read_flags("t")) {
if(jumpnum[id] < NUMAR_DE_SARITURI) {
dojump[id] = true;
jumpnum[id]++;
return PLUGIN_CONTINUE;
}
}
}
if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) {
jumpnum[id] = 0;
return PLUGIN_CONTINUE;
}
return PLUGIN_CONTINUE;
}
public client_PostThink(id) {
if(!is_user_alive(id)) return PLUGIN_HANDLED;
if(get_user_flags(id) & read_flags("t")) {
if(dojump[id] = true) {
new Float:velocity[3];
entity_get_vector(id, EV_VEC_velovity, velocity);
velocity[2] = random_float9265.0, 285.0);
entity_set_vector(id, EV_VEC_velocity, velocity);
return PLUGIN_CONTINUE;
}
}
return PLUGIN_CONTINUE;
}
public on_damage(id)
{
new attacker = get_user_attacker(id)
#if defined DAMAGE_RECIEVED
// id should be connected if this message is sent, but lets check anyway
if ( is_user_connected(id) && is_user_connected(attacker) )
if (get_user_flags(attacker) & ADMIN_IMMUNITY)
{
new damage = read_data(2)
set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1)
ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage)
#else
if ( is_user_connected(attacker) && if (get_user_flags(attacker) & ADMIN_IMMUNITY) )
{
new damage = read_data(2)
#endif
set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1)
ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage)
}
}
public Damage(id)
{
new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint)
if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id)
if (get_user_flags(attacker) & ADMIN_IMMUNITY)
{
new money = read_data(2) * get_pcvar_num(mpd)
if(hitpoint==1) money += get_pcvar_num(mhb)
cs_set_user_money(attacker,cs_get_user_money(attacker) + money)
}
}
public death_msg()
{
if(read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300)
}
public LogEvent_RoundStart()
{
CurrentRound++;
new players[32], player, pnum;
get_players(players, pnum, "a");
for(new i = 0; i < pnum; i++)
{
player = players;
if(is_user_alive(player) && get_user_flags(player) & ADMIN_IMMUNITY)
{
give_item(player, "weapon_hegrenade")
give_item(player, "weapon_flashbang")
give_item(player, "weapon_flashbang")
give_item(player, "weapon_smokegrenade")
give_item(player, "item_assaultsuit")
give_item(player, "item_thighpack")
if (!get_pcvar_num(g_menu_active))
return PLUGIN_CONTINUE
if(CurrentRound >= 3)
{
Showrod(player);
}
}
}
return PLUGIN_HANDLED
}
public Event_RoundRestart()
{
CurrentRound=0;
}
public hook_death()
{
// Killer id
nKiller = read_data(1)
if ( (read_data(3) == 1) && (read_data(5) == 0) )
{
nHp_add = get_pcvar_num (health_hs_add)
}
else
nHp_add = get_pcvar_num (health_add)
nHp_max = get_pcvar_num (health_max)
// Updating Killer HP
if(!(get_user_flags(nKiller) & ADMIN_IMMUNITY))
return;
nKiller_hp = get_user_health(nKiller)
nKiller_hp += nHp_add
// Maximum HP check
if (nKiller_hp > nHp_max) nKiller_hp = nHp_max
set_user_health(nKiller, nKiller_hp)
// Hud message "Healed +15/+30 hp"
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(nKiller, "Healed +%d hp", nHp_add)
// Screen fading
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(0)
write_byte(200)
write_byte(75)
message_end()
}
public Showrod(id) {
show_menu(id, Keysrod, "Meniu arme^n\w1. M4+Deagle^n\w2. AK47+Deagle^n\w3. AWP + Deagle^n\w0. Iesire^n", -1, "rod") // Display menu
}
public Pressedrod(id, key) {
/* Menu:
* VIP Menu
* 1. Get M4A1+Deagle
* 2. Get AK47+Deagle
* 3. Get AWP+Deagle
* 0. Exit
*/
switch (key) {
case 0: {
if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;
strip_user_weapons (id)
give_item(id,"weapon_m4a1")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_knife")
give_item(id,"weapon_hegrenade")
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
ColorChat(id, GREEN, "[V.I.P]^x01 Ai primit un^x04 M4A1^x01 si un^x04 Deagle !")
if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
}
case 1: {
if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;
strip_user_weapons (id)
give_item(id,"weapon_ak47")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_knife")
give_item(id,"weapon_hegrenade")
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
ColorChat(id, GREEN, "[V.I.P]^x01 Ai primit un^x04 Ak47^x01 si un^x04 Deagle !")
if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
}
case 2: {
if (user_has_weapon(id, CSW_C4) && get_user_team(id) == 1)
HasC4[id] = true;
else
HasC4[id] = false;
strip_user_weapons (id)
give_item(id,"weapon_awp")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"weapon_knife")
give_item(id,"weapon_hegrenade")
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
give_item(id, "item_assaultsuit");
give_item(id, "item_thighpack");
ColorChat(id, GREEN, "[V.I.P]^x01 Ai primit un^x04 AWP7^x01 si un^x04 Deagle !")
if (HasC4[id])
{
give_item(id, "weapon_c4");
cs_set_user_plant( id );
}
}
case 9: {
}
}
return PLUGIN_CONTINUE
}
public HandleCmd(id){
if (!get_pcvar_num(g_awp_active))
return PLUGIN_CONTINUE
if(get_user_flags(id) & ADMIN_IMMUNITY)
return PLUGIN_CONTINUE
client_print(id, print_center, "Sniper's Only For VIP's")
return PLUGIN_HANDLED
}
public ShowMotd(id)
{
show_motd(id, "vip.txt")
}
public handle_say(id) {
new said[192]
read_args(said,192)
if( ( containi(said, "who") != -1 && containi(said, "admin") != -1 ) || contain(said, "/vips") != -1 )
set_task(0.1,"print_adminlist",id)
return PLUGIN_CONTINUE
}
public print_adminlist(user)
{
new adminnames[33][32]
new message[256]
new contactinfo[256], contact[112]
new id, count, x, len
for(id = 1 ; id <= maxplayers ; id++)
if(is_user_connected(id))
if(get_user_flags(id) & ADMIN_IMMUNITY)
get_user_name(id, adminnames[count++], 31)
len = format(message, 255, "%s VIP ONLINE: ",COLOR)
if(count > 0) {
for(x = 0 ; x < count ; x++) {
len += format(message[len], 255-len, "%s%s ", adminnames[x], x < (count-1) ? ", ":"")
if(len > 96 ) {
print_message(user, message)
len = format(message, 255, "%s ",COLOR)
}
}
print_message(user, message)
}
else {
len += format(message[len], 255-len, "Nu este nici un V.I.P conectat.")
print_message(user, message)
}
get_cvar_string("amx_contactinfo", contact, 63)
if(contact[0]) {
format(contactinfo, 111, "%s Contact Server Admin -- %s", COLOR, contact)
print_message(user, contactinfo)
}
}
print_message(id, msg[]) {
message_begin(MSG_ONE, gmsgSayText, {0,0,0}, id)
write_byte(id)
write_string(msg)
message_end()
}Incearca.
[ZP] Smoke Explode by Alex #
in Pluginuri
Posted
Descriere: Acest plugin l-am conceput special pentru modul Zombie Plague. Acest plugin inlocuieste grenada Napalm [Cea care face lumina] cu un Smoke care explodeaza si ofera ammo jucatorului si scade random intre 0 - 700.0 din viata ZM-ului.
Download:
#include < amxmodx >
#include < amxmisc >
#include < fakemeta >
#include < hamsandwich >
#include < engine >
#include < zombieplague >
#define PLUGIN "Smoke Explode"
#define VERSION "1.0"
#define AUTHOR "LondoN eXtream"
#define CHAT_PREFIX "ZM"
// pev types
const PEV_NADE_TYPE = pev_flTimeStepSound;
const PEV_NADE_TYPE_SMOKE = 681856;
// Variables
new g_Explo = 0;
public plugin_init ( )
{
register_plugin ( PLUGIN, VERSION, AUTHOR );
RegisterHam ( Ham_Think, "grenade", "HamThink" );
}
public HamThink ( entity )
{
if ( !pev_valid ( entity ) )
return HAM_IGNORED;
new Float:dmgtime;
pev ( entity, pev_dmgtime, dmgtime );
if ( dmgtime > get_gametime ( ) )
return HAM_IGNORED;
if ( pev ( entity, PEV_NADE_TYPE ) != PEV_NADE_TYPE_SMOKE )
return HAM_IGNORED;
SmokeExplode ( entity );
engfunc ( EngFunc_RemoveEntity, entity );
return HAM_SUPERCEDE;
}
SmokeExplode ( entity ) {
new Float: Origin [ 3 ], Float: clOrigin [ 3 ], Float: Velocity [ 3 ], Float: Distance, Float: Damage;
new Special [ 3 ], szName [ 32 ];
new health, owner, i;
pev ( entity, pev_origin, Origin );
FVecIVec ( Origin, Special );
owner = pev ( entity, pev_owner );
if ( !pev_valid ( owner ) || !is_user_connected ( owner ) )
{
engfunc ( EngFunc_RemoveEntity, entity );
return;
}
message_begin ( MSG_BROADCAST, SVC_TEMPENTITY );
write_byte ( TE_EXPLOSION );
write_coord ( Special [ 0 ] );
write_coord ( Special [ 1 ] );
write_coord ( Special [ 2 ] );
write_short ( g_Explo );
write_byte ( 32 );
write_byte ( 16 );
write_byte ( 0 );
message_end ( );
for ( i = 1; i <= get_maxplayers ( ); i++ )
{
if ( !is_user_alive ( i ) )
continue;
if ( !zp_get_user_zombie ( i ) )
continue;
pev ( i, pev_origin, clOrigin );
Distance = get_distance_f ( Origin, clOrigin );
if ( Distance < 330 )
{
Damage = 700.0 - Distance;
health = get_user_health ( i );
Damage = float ( floatround ( Damage ) );
pev ( i, pev_velocity, Velocity );
Velocity [ 0 ] += random_float ( -230.0, 230.0 );
Velocity [ 1 ] += random_float ( -230.0, 230.0 );
Velocity [ 2 ] += random_float ( 60.0, 129.0 );
set_pev ( i, pev_velocity, Velocity );
message_begin ( MSG_ONE_UNRELIABLE, get_user_msgid ( "ScreenFade" ), _, i );
write_short ( 4096 );
write_short ( 4096 );
write_short ( 0x0000 );
write_byte ( 225 );
write_byte ( 0 );
write_byte ( 0 );
write_byte ( 220 );
message_end ( );
message_begin ( MSG_ONE_UNRELIABLE, get_user_msgid ( "ScreenShake" ), _, i );
write_short ( 4096 * 6 );
write_short ( 4096 * random_num ( 4, 12 ) );
write_short ( 4096 * random_num ( 4, 12 ) );
message_end ( );
if ( health - floatround ( Damage ) < 0 )
{
ExecuteHamB ( Ham_Killed, i, owner, 2 );
}
else
{
ExecuteHamB ( Ham_TakeDamage, i, entity, owner, Damage, DMG_MORTAR );
}
get_user_name ( i, szName, sizeof ( szName ) -1 );
ColorChat ( owner, "!x04[%s] !x03Damage to !x04%s !x03:: !x04%d", CHAT_PREFIX, szName, floatround ( Damage ) );
}
}
}
stock ColorChat(const id, const input[], any:...) {
new count = 1, players[32];
static msg[191];
vformat(msg, 190, input, 3);
replace_all(msg, 190, "!x04", "^4");
replace_all(msg, 190, "!x03", "^3");
if(id) players[0] = id;
else get_players(players, count, "ch"); {
for(new i = 0; i < count; i++) {
if(is_user_connected(players)) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players);
write_byte(players);
write_string(msg);
message_end();
}
}
}
}
Credite:
^ionutz^ - Stock colorchat functional
MzQ* - mi-a oferit o parte din cod anul trecut )
Instalare:
1. Fisierul SmokeExplode.sma => /scripting
2. Fisierul SmokeExplode.amxx => /plugins
3. In plugins.ini adaugam: SmokeExplode.amxx
4. Intram in zombieplague.cfg si dezactivam napalm nade.
Module necesare:
FakeMeta
Engine
Hamsandwich
Sper sa va placa.