Descriere (adica ce face el mai exact): sa poti da scanare wargods prin comanda /wg nume , are 5 minute la dispozitie sau cat pui tu acolo 10 sa ti de-a test-ul daca nu il da in acest timp primeste ban , daca da drop tot asa sa primeasca ban , daca admin-ul care ia facut test-ul verifica si vede ca este curat sa exista comanda /curat nume , iar jucatorul poate intra sa joace , si doua poze cu player-ul inainte sa il bage spec , si comanda de /infowg
Ai cautat pluginul?(daca da, precizeaza cum): da am cautat nu am gasit ce caut am vazut ca exista pe alte sv
Serverul impune conditii strict HLDS/REHLDS?: rehlds
Necesita mod special?: nu
Versiune AMXX Server: 1.9.0
pun aici cod-ul care este asemanator cu ce doresc eu doar ca nu vreau acel meniu care apare acum , vreau comenzile /wg nume , /curat nume , /codat nume , /infowg
cand scrii comanda /wg nume ii face poze si lui si le are si admin-ul pentru proba , cu comanda /curat nume , anunti pe chat ca acel jucator este curat , /codat nume , anunti lumea ca este codat si ca a primit ban , /infowg , sa arate informatii despre test-ul wg
Code: Select all
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <colorchat>
#pragma tabsize 0
new bool: hascan[33],admin,target[33]=0,targetIP[32]
new const TAG[] = "[www.maniacs.ro]"
new gCvarMoveSpec,gCvarMinutesToGive,admin_spec,ban_time,SyncHudMessage
public plugin_init() {
register_plugin("WarGods Cerere", "1.0", "DanN");
register_clcmd ( "say", "hook_say" );
register_clcmd ( "say_team", "hook_say" );
gCvarMoveSpec = register_cvar( "wg_move_spec", "1" );
gCvarMinutesToGive = register_cvar( "wg_min_to_response", "5" );
admin_spec = register_cvar( "wg_admin_must_be_spec", "0" );
ban_time = register_cvar( "wg_ban_time_minutes", "60" );
SyncHudMessage=CreateHudSyncObj()
}
public client_connect(id)
{
hascan[id] = false;
target[id]=0
}
public client_disconnect(id)
{
if(hascan[id]&&get_pcvar_num(ban_time)>=0)
{
ColorChat( 0, GREEN, "%s^x03 %s^1 a parasit serverul in timp ce trebuia sa prezinte^4 WG^1 si a primit ban", TAG, get_name(id));
server_cmd( "addip %d ^"%s^"; wait; writeip", get_pcvar_num(ban_time),targetIP );
hascan[id]=false
target[id]=0
}
}
public hook_say ( id )
{
new szSaid[ 195 ],text[512]
read_args( szSaid, sizeof( szSaid ) -1 );
remove_quotes( szSaid );
if( contain( szSaid, "/wg" ) != -1 )
{
if(!is_user_admin(id)) return PLUGIN_HANDLED
new target[ 32 ];
copy( target, sizeof( target ) -1, szSaid[ 6 ] );
if(equal(target,""))
{
ColorChat( id, GREEN, "%s^x03 Folosire /wg NICK",TAG)
return PLUGIN_HANDLED
}
for(new x=0;x<=get_maxplayers();x++)
{
if(hascan[x]/*||target[x]>0*/)
{
ColorChat( id, GREEN, "%s^x03 Deja se afla in curs o cerere de wg, ceruta de %s pentru %s", TAG, get_name(admin), get_name(x));
break
}
}
new player = cmd_target( id, target, 2 );
if(hascan[player])
{
ColorChat( id, GREEN, "%s^x03 Jucatorului^x04 [%s]^x03 i s-a cerut deja o scanare wargods, de catre adminul ^x04[%s].", TAG, get_name(player), get_name(admin));
return PLUGIN_HANDLED;
}
if( player )
{
if(get_pcvar_num(admin_spec)==1)
{
ColorChat(0, GREEN, "%s^x03 Trebuie sa fii SPECTATOR pentru a cere WG", TAG);
return PLUGIN_HANDLED
}
new timer[ 32 ]
get_time("%d/%m/%Y - %H:%M:%S", timer,31);
hascan[player] = true;
target[player]=id
admin=id
targetIP=get_ip(player)
ColorChat(0, GREEN, "%s^x03 Adminul ^x04[%s] ^x03ii cere scanare Wargods lui ^x04[%s]. Data/Ora: ^x03 %s", TAG, get_name(id), get_name(player), timer);
ColorChat(0, GREEN, "%s^x03 De asemenea are si el o poza cu mesajul ca ia cerut, in caz de neprezentare are dovada pentru ban.", TAG);
ColorChat(0, GREEN, "%s^x03 Link download WG ^x04www.wargods.ro/wcd/download.php", TAG);
if(get_pcvar_num(gCvarMoveSpec)==1)
{
if(is_user_alive(player)) user_silentkill(player)
cs_set_user_team(player,CS_TEAM_SPECTATOR)
}
new Float:Minutes = (float(get_pcvar_num( gCvarMinutesToGive )) * 60.0);
set_task( Minutes / 3.0, "BanThis", id );//??
ColorChat(player, GREEN, "%s^x03 Ai %d minut%s pentru a prezenta WG Adminului %s", TAG,get_pcvar_num( gCvarMinutesToGive ),get_pcvar_num( gCvarMinutesToGive )==1?"":"e",get_name(id));
client_cmd(player, ";Snapshot");
client_cmd(id, ";Snapshot");
formatex(text,charsmax(text),"%s %s Adminul %s i-a cerut o scanare WG jucatorului %s",TAG,timer,get_name(id),get_name(player))
write_file("addons/amxmodx/logs/wg.txt",text,-1)
}
else
{
ColorChat(id, GREEN, "%s Jucatorul specificat nu exista.", TAG);
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED;
}
return PLUGIN_CONTINUE;
}
public BanThis( id )
{
new MenuTitle[ 168 ];
formatex( MenuTitle, sizeof( MenuTitle ), "\d|\r WG\d |\y Mertia\r %s\y ban?", get_name(target[id]) );
new BanMenu = menu_create( MenuTitle, "BanHandler" );
menu_additem( BanMenu, "\yDa", "1" );
menu_additem( BanMenu, "\yNu", "2" );
menu_additem( BanMenu, "\wIntreaba-ma mai incolo", "3" );
menu_additem( BanMenu, "\wMa descurc singur", "4" );
menu_setprop( BanMenu, MPROP_EXIT, MEXIT_NEVER );
menu_display( id, BanMenu );
}
public BanHandler( id, BanMenu, item )
{
if( item == MENU_EXIT )
return PLUGIN_HANDLED;
new Key[ 3 ];
new Access, CallBack;
menu_item_getinfo( BanMenu, item, Access, Key, 2, _, _, CallBack );
new isKey = str_to_num( Key );
switch( isKey )
{
case 1:
{
if( !is_user_connected( find_player( "c", targetIP ) ) )
{
if( is_user_connected( id ) )
{
client_cmd( id, "amx_addban %s %d ^"Neprezentare WG la timp^"", targetIP,get_pcvar_num(ban_time) );
}
else
{
server_cmd( "addip %d %s; wait; writeip",get_pcvar_num(ban_time), targetIP );
}
}
set_hudmessage( 0, 255, 0, -1.0, -1.0, 0, 5.0, 10.0 );
ShowSyncHudMsg( 0, SyncHudMessage, "[ADMIN] %s: l-a Banat pe %s (IP: %s)^n Motiv : Problema la WG !", get_name(admin), get_name(target[id]), targetIP );
hascan[target[id]]=false
target[id]=0
}
case 2:
{
set_hudmessage( 0, 255, 0, -1.0, -1.0, 0, 5.0, 10.0 );
ShowSyncHudMsg( 0, SyncHudMessage, "[ADMIN] %s: l-a Crutat pe %s (IP: %s)^nMotiv : WG CURAT !", get_name(admin), get_name(target[id]), targetIP );
switch(random_num(1,2))
{
case 1: cs_set_user_team(target[id],CS_TEAM_T)
case 2: cs_set_user_team(target[id],CS_TEAM_CT)
}
hascan[target[id]]=false
target[id]=0
}
case 3: if(is_user_connected(id)&&is_user_admin(id)&&is_user_connected(target[id])) set_task(5.0,"BanThis",id);
case 4: menu_destroy( BanMenu );
}
menu_destroy( BanMenu );
return PLUGIN_HANDLED;
}
stock get_name ( id ) {
new name [ 32 ]
if(is_user_connected(id)&&!(is_user_hltv(id)||is_user_bot(id))) get_user_name ( id, name, 31 );
return name;
}
stock get_ip( id ) {
new ip [ 20 ] ;
if(is_user_connected(id)&&!(is_user_hltv(id)||is_user_bot(id))) get_user_ip ( id, ip, 19,1 );
return ip;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ ansicpg1252\\ deff0\\ deflang1033{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ f0\\ fs16 \n\\ par }
*/