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
 

Emcio312 - zdjęcie

Emcio312

Rejestracja: 03.05.2011
Aktualnie: Nieaktywny
Poza forum Ostatnio: 02.02.2014 15:01
-----

Moje tematy

Problem z pluginem siłownia na serwery JailBreak

29.01.2014 16:20

Witam,
 
mam problem z pluginem siłownia. Powinien on dawać określoną prędkość po zrobieniu określonej liczby przysiadów lecz nie daje. Daje natomiast wtedy gdy np trzymamy jakaś bron i zaczniemy z niej strzelać, wtedy prędkość się pojawia tyle, że jest ona za duża tak jakby wartość dodatkowej prędkości którą powinno dodać raz do maxspeed dodało kilka razy, a gdy zmienimy broń np na nóż znów biegamy normalnie...

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta_util>

#define PLUGIN "JailBreak: Silownia"
#define VERSION "1.0"
#define AUTHOR "Sn!ff3r"

new ducks[33]
new Float:speeds[] = { 0.0, 5.0, 10.0, 15.0, 25.0 }

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)	
	
	register_event("CurWeapon", "CurWeapon", "be", "1=1")
	
	register_forward(FM_PlayerPreThink, "PlayerPreThink", 0)
		
	register_clcmd("say /silownia", "client_say")
}

public client_say(id)
{
	if(get_user_team(id) != 1)
	{
		client_print(id, print_chat, "= gryps: Nie jestes wiezniem.")
		return
	}
	client_print(id, print_chat, "= gryps: Twoje statystyki na silowni:")
	client_print(id, print_chat, "= gryps: [ Przysiady: %d razy ]", ducks[id])
}


public client_disconnect(id)
{
	ducks[id] = 0
}

public PlayerPreThink(id)
{
	if(!is_user_alive(id))
		return FMRES_IGNORED
	
	if(pev(id, pev_oldbuttons) & IN_DUCK && !(pev(id, pev_button) & IN_DUCK) && get_user_team(id) == 1)
	{
		static s_iFlags
		s_iFlags = pev(id, pev_flags)
		if(/*!*/(s_iFlags & FL_DUCKING)/* && pev(id, pev_bInDuck)*/)
		{
			ducks[id] ++			
		}
	}
	
	return FMRES_IGNORED;
}

public CurWeapon(id)
{
	if(is_user_alive(id) && get_user_team(id) == 1)
	{		
		switch(ducks[id])
		{				
			case 50 .. 100: fm_set_user_maxspeed(id, fm_get_user_maxspeed(id) + speeds[1])	
				case 101 .. 200: fm_set_user_maxspeed(id, fm_get_user_maxspeed(id) + speeds[2])
				case 201 .. 300: fm_set_user_maxspeed(id, fm_get_user_maxspeed(id) + speeds[3])
				case 301 .. 1000: fm_set_user_maxspeed(id, fm_get_user_maxspeed(id) + speeds[4])	
				default: {}
		}
	}	
}

 

Błąd jest chyba z CurWeapon, ale ja nie umiem tego naprawić ;P

Szybka przeróbka pluginu.

24.04.2013 06:36

Witam, 

 

mógłby ktoś przerobić ten plugin tak, aby nie dawał on nieskończoności ammunicji, i dodawał po 50 HP i po 25 ARMORA za zabicie?



#define PLUGIN "Last Human AP + Unlimited Clip + Health"  
#define VERSION "1.0"  
#define AUTHOR "GPOWER"  

new g_Players  

// CS Offsets  
#if cellbits == 32  
const OFFSET_CLIPAMMO = 51  
#else  
const OFFSET_CLIPAMMO = 65  
#endif  
const OFFSET_LINUX_WEAPONS = 4  

// Max Clip for weapons  
new const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,  
10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 }  

new g_has_unlimited_clip[33]  
new g_gived[33]  

public plugin_init()  
{  
    register_plugin(PLUGIN, VERSION, AUTHOR)  
     
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")  
    register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")  
    register_event("DeathMsg", "Event_DeathMsg", "a")  
     
    g_Players = get_maxplayers();  
}  
public Event_DeathMsg()  
{  
    set_task(0.1,"check_alive", 0)  
}  
public event_round_start()  
{  
    for (new id; id <= g_Players; id++)  
    { 
        g_has_unlimited_clip[id] = false;  
        g_gived[id] = false; 
    } 
}  
public message_cur_weapon(msg_id, msg_dest, msg_entity)  
{  
    // Player doesn't have the unlimited clip upgrade  
    if (!g_has_unlimited_clip[msg_entity])  
        return;  
     
    // Player not alive or not an active weapon  
    if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)  
        return;  
     
    static weapon, clip  
    weapon = get_msg_arg_int(2) // get weapon ID  
    clip = get_msg_arg_int(3) // get weapon clip  
     
    // Unlimited Clip Ammo  
    if (MAXCLIP[weapon] > 2) // skip grenades  
    {  
        set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon]) // HUD should show full clip all the time  
         
        if (clip < 2) // refill when clip is nearly empty  
        {  
            // Get the weapon entity  
            static wname[32], weapon_ent  
            get_weaponname(weapon, wname, sizeof wname - 1)  
            weapon_ent = fm_find_ent_by_owner(-1, wname, msg_entity)  
             
            // Set max clip on weapon  
            fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon])  
        }  
    }  
}  
// Find entity by its owner (from fakemeta_util)  
stock fm_find_ent_by_owner(entity, const classname[], owner)  
{  
    while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {}  
     
    return entity;  
}  

// Set Weapon Clip Ammo  
stock fm_set_weapon_ammo(entity, amount)  
{  
    set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS);  
}  
public check_alive()  
{  
    if(fnGetAliveCt() == 1)  
    {  
        for( new i = 1; i <= g_Players; i++ )   
        {   
            if (is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT && !g_gived[i])   
            {  
                set_user_health(i, get_user_health(i) + 150)  
                cs_set_user_armor( i, get_user_armor(i) + 150 , CS_ARMOR_KEVLAR)  
                g_has_unlimited_clip[i] = true  
                g_gived[i] = true 
            }  
        }   
    }  
}  
fnGetAliveCt()  
{  
    static iAlive, id  
    iAlive = 0  
     
    for (id = 1; id <= g_Players; id++)  
    {  
        if (is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT)  
            iAlive++  
    }  
    return iAlive;  
}  

Z góry dziękuje. ;]

 

 

Prośba o "wyciągnięcie" z pluginu trzech rzeczy.

18.02.2013 07:39

Witam, chciałbym poprosić kogoś kto się na tym zna, aby z "silnika" JB Extreme, albo wyciągnał jakoś albo napisał wzorując sie na tym trzy pluginy - Kropki które pozostawia po sobie Simon na ziemi, łom dla losowego gracza na początku rundy, oraz to, że gdy zostanie jeden Klawisz dostaje on +200 życia.

Tutaj jest link do JB Extreme - JailBreak Extreme v1.9 - UPDATED 10-04-2010 - AlliedModders . Jedyne co udało mi się znaleźć to kawałek kodu o tych kropkach dla simona, ale ja sam nic z tym nie zrobie. Prosiłbym również, żeby te "kropki" dało się włączyć i wyłączyć komendą /kropki. Mam nadzieje że ktoś mi pomoże, z góry wielkie, wielkie dzięki.</p>

Prośba o "wyciągnięcie" z silnika trzech drobnych rzeczy.

18.02.2013 07:32

<p>Witam, chciałbym poprosić kogoś kto się na tym zna, aby z "silnika" JB Extreme, albo wyciągnał jakoś albo napisał wzorując sie na tym trzy pluginy - Kropki które pozostawia po sobie Simon na ziemi, łom dla losowego gracza na początku rundy, oraz to, że gdy zostanie jeden Klawisz dostaje on +200 życia.

Tutaj jest link do JB Extreme - JailBreak Extreme v1.9 - UPDATED 10-04-2010 - AlliedModders .Wkleił bym kod , ale niestety nie wiem jak wziąć go w taką ramke.Jedyne co udało mi się znaleźć to kawałek kodu o tych kropkach dla simona, ale ja sam nic z tym nie zrobie.Prosiłbym również, żeby te "kropki" dało się włączyć i wyłączyć komendą /kropki. Mam nadzieje że ktoś mi pomoże, z góry wielkie, wielkie dzięki.