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
 

MA1L0 - zdjęcie

MA1L0

Rejestracja: 21.01.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 23.09.2012 17:47
-----

Moje posty

W temacie: System Klas

20.02.2012 16:26

Dzięki leci +, ale chciałbym jeszcze aby z takiego menu można by wybrać klasę do której mogę przypisać jakąś moc. Coś jakby klasa była funkcją i aby można było ją zastosować w if-ie. Nie wiem jak to powiedzieć...

W temacie: [ROZWIĄZANE] Detektor ruchu

19.02.2012 18:39

Problem rozwiązany. Można usunąć/zamknąć.

W temacie: Item - radar i teleport

19.02.2012 18:11

Najpierw chciałbym przeprosić za odkop ale czy jest możliwość aby radar pokazywał wroga w określonej odległości ?

W temacie: Dodanie hp, gravitki i speeda do vipa

19.02.2012 14:55


#define DAMAGE_RECIEVED

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>

new mpd, mkb, mhb
new maxplayers
new g_MsgSync
new health_add
new health_hs_add
new health_max
new nKiller
new nKiller_hp
new nHp_add
new nHp_max

#if defined DAMAGE_RECIEVED
    new g_MsgSync2
#endif

public plugin_init()
{
    register_plugin("VIP part1", "2.0", "Dunno")
    mpd = register_cvar("money_per_damage","3")
    mkb = register_cvar("money_kill_bonus","500")
    mhb = register_cvar("money_hs_bonus","200")
    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")

    register_event("Damage","Damage","b")
    register_event("DeathMsg","death_msg","a")
    register_logevent("logevent_Round_Start", 2, "1=Round_Start");
    register_event("DeathMsg", "hook_death", "a", "1>0")
    server_cmd("sv_maxspeed 350")

    maxplayers = get_maxplayers()

    register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0")

    g_MsgSync = CreateHudSyncObj()

#if defined DAMAGE_RECIEVED
    g_MsgSync2 = CreateHudSyncObj()
#endif
}

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_LEVEL_H)
    {
        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_LEVEL_H) )
    {
        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_LEVEL_H)
    {
        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_Round_Start()
{
    new players[32], player, pnum;
    get_players(players, pnum, "a");
    for(new i = 0; i < pnum; i++)
    {
            player = players[i];
            if(get_user_flags(player) & ADMIN_LEVEL_H)
            {
                    give_item(player, "weapon_hegrenade");
                    give_item(player, "weapon_flashbang");
                    give_item(player, "weapon_flashbang");
                    give_item(player, "weapon_smokegrenade");
                    give_item(player, "item_kevlar");
give_item(player, "item_assaultsuit");
give_item(player, "item_thighpack");
set_user_gravity(player, 0.5)
set_user_health(player, 200)
set_user_maxspeed(player, 350.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_LEVEL_H))
   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()

}

Tylko ze speedem nie mogłem sobie poradzić. Tak to grav i hp jest.

W temacie: [ROZWIĄZANE] [EDYCJA]Menu Interpu by MisieQ

19.02.2012 14:42


#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#include <fakemeta>
#include <hamsandwich>

new const gNazwaPluginu[] = "Interp Menu";
new const gWersjaPluginu[] = "0.5";
new const gAutorPluginu[] = "MisieQ";

#define ADMIN_UPRAWNIENIA ADMIN_BAN

#define MAX_PLAYERS 32
#define SetUserReversed(%1) g_bMigraineux |= 1<<(%1 & 31)
#define ClearUserReversed(%1) g_bMigraineux &= ~( 1<<(%1 & 31) )
#define HasUserMigraine(%1) g_bMigraineux &  1<<(%1 & 31)

new bool:wybral_interp[33];
new bool:dostal_kare[33];
new const interp[][] = { "^x03 wybral interp^x04 0.01", "^x03 wybral interp^x04 0.02", "^x03 wybral interp^x04 0.03", "^x03 wybiera interp..." }
new Map[32], Name[32];

new g_bMigraineux

public plugin_init()
{
register_plugin(gNazwaPluginu, gWersjaPluginu, gAutorPluginu);

RegisterHam(Ham_Spawn, "player", "fwSpawn", 1);

register_concmd("amx_interp", "ustaw", ADMIN_UPRAWNIENIA, "<Nazwa Gracza>");


get_mapname(Map,sizeof Map - 1);
}

public client_authorized(id)
{
wybral_interp[id] = false
dostal_kare[id] = false
ClearUserReversed(id)
}

public client_disconnect(id)
{
wybral_interp[id] = false
dostal_kare[id] = false
ClearUserReversed(id)
}

public fwSpawn(id)
{
if (!is_user_alive(id))
return HAM_IGNORED;

if(!wybral_interp[id])
{
menu_interpu(id);
}

return HAM_IGNORED;
}

public menu_interpu(id)
{
new menu = menu_create("\wWybor \yInterpu:", "menu_interpu_1");

menu_additem(menu, "\w0.01", "0", 0);
menu_addblank(menu,0)
menu_additem(menu, "\y0.02", "1", 0);
menu_addblank(menu,0)
menu_additem(menu, "\r0.03", "2", 0);

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
menu_display(id,menu,0);

return PLUGIN_CONTINUE;
}

public menu_interpu_1(id, menu, item)
{
new data[6], iName[64], acces, callback;
menu_item_getinfo(menu, item, acces, data,sizeof data - 1, iName, sizeof iName - 1, callback);
get_user_name(id, Name, sizeof Name - 1);

new key = str_to_num(data);

switch(key)
{
case 0:
{
client_cmd(id,"ex_interp 0.01")
wybral_interp[id] = true;
informacja(id, 0);
menu_destroy(menu);
}

case 1:
{
client_cmd(id,"ex_interp 0.02")
wybral_interp[id] = true;
informacja(id, 1);
menu_destroy(menu);

}

case 2:
{
client_cmd(id,"ex_interp 0.03")
wybral_interp[id] = true;
informacja(id, 2);
menu_destroy(menu);
}
}
return PLUGIN_HANDLED;
}

public informacja(id,itp)
{
get_user_name(id, Name, sizeof Name - 1);
ColorChat(0, GREEN, "[^x03 %s^x04 ]^x03 Gracz^x04 %s %s",Map, Name, interp[itp]);
}

public ustaw(id,level,cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;

read_argv(1, Name, sizeof Name - 1);

new player = cmd_target(id, Name, 0);

if (!player)
{
console_print(id, "Przepraszamy, gracz %s nie moze zostac zlokalizowany!", Name);
return PLUGIN_HANDLED;
}
else
{
ColorChat(0, GREEN, "[^x03 %s^x04 ]^x03 Admin wymusil ponowny wybor interpu dla gracza^x04 %s", Map, Name);
wybral_interp[player] = false
}

return PLUGIN_CONTINUE;
}

Wyjścia z menu nie da się raczej usunąć zrobiłem tak aby nie było kary. I jeżeli nie wybierze się interpu to on się sam ustawi.