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
 

Zdjęcie
Modyfikacja

[ROZWIĄZANE] Czarodziejski mazak - Tylko dla CT

modyfikacja

  • Zamknięty Temat jest zamknięty
7 odpowiedzi w tym temacie

#1 Daniel`owsky

    Zaawansowany

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:84
  • Lokalizacja:Lokalizacja
Offline

Napisano 08.04.2013 14:08

Chodzi o ten plugin: http://amxx.pl/topic...dziejski-mazak/ Proszę, żeby markera MOGŁO UŻYWAĆ TYLKO CT. Za pomoc daję +.

Użytkownik Daniel`owsky edytował ten post 08.04.2013 14:09

  • +
  • -
  • 0

Zapraszam na jednego z najlepszych CoD Modów w Polsce! Darmowe Premki! IP: 80.72.38.187:27090 

 

b_350_20_692108_381007_FFFFFF_000000.png


#2 Pan Marian

    Banned

  • Zbanowany

Reputacja: 89
Zaawansowany

  • Postów:283
  • Imię:Marian
  • Lokalizacja:इंटरनेट
Offline

Napisano 08.04.2013 14:39

Trzymaj

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <xs>

#define PLUGIN "Magic Marker"
#define VERSION "3.0"
#define AUTHOR "stupok69"

#define MAX_PLAYERS 32
#define USAGE_LEVEL ADMIN_KICK

new Float:origin[MAX_PLAYERS+1][3]
new prethink_counter[MAX_PLAYERS+1]
new bool:is_drawing[MAX_PLAYERS+1]
new bool:is_holding[MAX_PLAYERS+1]

new spriteid

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("+paint", "paint_handler", USAGE_LEVEL, "Paint on the walls!")
    register_clcmd("-paint", "paint_handler", USAGE_LEVEL, "Paint on the walls!")
    register_forward(FM_PlayerPreThink, "forward_FM_PlayerPreThink", 0)
}

public plugin_precache()
{
    spriteid = precache_model("sprites/lgtning.spr")
}

public paint_handler(id, level, cid)
{
    if(!cmd_access(id, level, cid, 1))
        return PLUGIN_HANDLED
    
    if(!is_user_alive(id))
    {
        client_print(id, print_chat, "* You cannot use the magic marker when you are dead.")
        return PLUGIN_HANDLED
    }
    if(get_user_team(id) == 1){
        return PLUGIN_HANDLED
    }
    
    static cmd[2]
    read_argv(0, cmd, 1)
    
    switch(cmd[0])
    {
        case '+': is_drawing[id] = true
        case '-': is_drawing[id] = false
    }
    return PLUGIN_HANDLED
}

public forward_FM_PlayerPreThink(id)
{
    if(prethink_counter[id]++ > 5)
    {
        if(is_drawing[id] && !is_aiming_at_sky(id))
        {
            static Float:cur_origin[3], Float:distance

            cur_origin = origin[id]
            
            if(!is_holding[id])
            {
                fm_get_aim_origin(id, origin[id])
                move_toward_client(id, origin[id])
                is_holding[id] = true
                return FMRES_IGNORED
            }
            
            fm_get_aim_origin(id, origin[id])
            move_toward_client(id, origin[id])
            
            distance = get_distance_f(origin[id], cur_origin)
            
            if(distance > 2)
            {
                draw_line(origin[id], cur_origin)
            }
        }
        else
        {
            is_holding[id] = false
        }
        prethink_counter[id] = 0
    }
    
    return FMRES_IGNORED
}

stock draw_line(Float:origin1[3], Float:origin2[3])
{
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
    write_byte(TE_BEAMPOINTS)
    engfunc(EngFunc_WriteCoord, origin1[0])
    engfunc(EngFunc_WriteCoord, origin1[1])
    engfunc(EngFunc_WriteCoord, origin1[2])
    engfunc(EngFunc_WriteCoord, origin2[0])
    engfunc(EngFunc_WriteCoord, origin2[1])
    engfunc(EngFunc_WriteCoord, origin2[2])
    write_short(spriteid)
    write_byte(0)
    write_byte(10)
    write_byte(255)
    write_byte(50)
    write_byte(0)
    write_byte(random(255))
    write_byte(random(255))
    write_byte(random(255))
    write_byte(255)
    write_byte(0)
    message_end()
}

//from fakemeta_util.inc
stock fm_get_aim_origin(index, Float:origin[3])
{
    static Float:start[3], Float:view_ofs[3]
    pev(index, pev_origin, start)
    pev(index, pev_view_ofs, view_ofs)
    xs_vec_add(start, view_ofs, start)
    
    static Float:dest[3]
    pev(index, pev_v_angle, dest)
    engfunc(EngFunc_MakeVectors, dest)
    global_get(glb_v_forward, dest)
    xs_vec_mul_scalar(dest, 9999.0, dest)
    xs_vec_add(start, dest, dest)
    
    engfunc(EngFunc_TraceLine, start, dest, 0, index, 0)
    get_tr2(0, TR_vecEndPos, origin)
    
    return 1
}

stock move_toward_client(id, Float:origin[3])
{        
    static Float:player_origin[3]
    
    pev(id, pev_origin, player_origin)
    
    origin[0] += (player_origin[0] > origin[0]) ? 1.0 : -1.0
    origin[1] += (player_origin[1] > origin[1]) ? 1.0 : -1.0
    origin[2] += (player_origin[2] > origin[2]) ? 1.0 : -1.0
}
//Thanks Alka!
stock bool:is_aiming_at_sky(index)
{
    static target, temp
    
    get_user_aiming(index, target, temp)
    
    if(engfunc(EngFunc_PointContents,target) == CONTENTS_SKY)
        return true
    
    return false
}


#3 Daniel`owsky

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:84
  • Lokalizacja:Lokalizacja
Offline

Napisano 08.04.2013 15:11

#define USAGE_LEVEL ADMIN_KICK

Z tego co się domyślam jest to flaga dla Admina. Proszę, żeby markera mogło używać tylko CT.
  • +
  • -
  • 0

Zapraszam na jednego z najlepszych CoD Modów w Polsce! Darmowe Premki! IP: 80.72.38.187:27090 

 

b_350_20_692108_381007_FFFFFF_000000.png


#4 Pan Marian

    Banned

  • Zbanowany

Reputacja: 89
Zaawansowany

  • Postów:283
  • Imię:Marian
  • Lokalizacja:इंटरनेट
Offline

Napisano 08.04.2013 15:30

A no rzeczywiście, nie zauważyłem

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <xs>

#define PLUGIN "Magic Marker"
#define VERSION "3.0"
#define AUTHOR "stupok69"

#define MAX_PLAYERS 32

new Float:origin[MAX_PLAYERS+1][3]
new prethink_counter[MAX_PLAYERS+1]
new bool:is_drawing[MAX_PLAYERS+1]
new bool:is_holding[MAX_PLAYERS+1]

new spriteid

public plugin_init()
{
	    register_plugin(PLUGIN, VERSION, AUTHOR)
	    register_clcmd("+paint", "paint_handler", _, "Paint on the walls!")
	    register_clcmd("-paint", "paint_handler", _,  "Paint on the walls!")
	    register_forward(FM_PlayerPreThink, "forward_FM_PlayerPreThink", 0)
}

public plugin_precache()
{
	    spriteid = precache_model("sprites/lgtning.spr")
}

public paint_handler(id, level, cid)
{	   
	    if(!is_user_alive(id))
	    {
			    client_print(id, print_chat, "* You cannot use the magic marker when you are dead.")
			    return PLUGIN_HANDLED
	    }
	    if(get_user_team(id) == 1){
			    return PLUGIN_HANDLED
	    }
	    
	    static cmd[2]
	    read_argv(0, cmd, 1)
	    
	    switch(cmd[0])
	    {
			    case '+': is_drawing[id] = true
			    case '-': is_drawing[id] = false
	    }
	    return PLUGIN_HANDLED
}

public forward_FM_PlayerPreThink(id)
{
	    if(prethink_counter[id]++ > 5)
	    {
			    if(is_drawing[id] && !is_aiming_at_sky(id))
			    {
					    static Float:cur_origin[3], Float:distance

					    cur_origin = origin[id]
					    
					    if(!is_holding[id])
					    {
							    fm_get_aim_origin(id, origin[id])
							    move_toward_client(id, origin[id])
							    is_holding[id] = true
							    return FMRES_IGNORED
					    }
					    
					    fm_get_aim_origin(id, origin[id])
					    move_toward_client(id, origin[id])
					    
					    distance = get_distance_f(origin[id], cur_origin)
					    
					    if(distance > 2)
					    {
							    draw_line(origin[id], cur_origin)
					    }
			    }
			    else
			    {
					    is_holding[id] = false
			    }
			    prethink_counter[id] = 0
	    }
	    
	    return FMRES_IGNORED
}

stock draw_line(Float:origin1[3], Float:origin2[3])
{
	    message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
	    write_byte(TE_BEAMPOINTS)
	    engfunc(EngFunc_WriteCoord, origin1[0])
	    engfunc(EngFunc_WriteCoord, origin1[1])
	    engfunc(EngFunc_WriteCoord, origin1[2])
	    engfunc(EngFunc_WriteCoord, origin2[0])
	    engfunc(EngFunc_WriteCoord, origin2[1])
	    engfunc(EngFunc_WriteCoord, origin2[2])
	    write_short(spriteid)
	    write_byte(0)
	    write_byte(10)
	    write_byte(255)
	    write_byte(50)
	    write_byte(0)
	    write_byte(random(255))
	    write_byte(random(255))
	    write_byte(random(255))
	    write_byte(255)
	    write_byte(0)
	    message_end()
}

//from fakemeta_util.inc
stock fm_get_aim_origin(index, Float:origin[3])
{
	    static Float:start[3], Float:view_ofs[3]
	    pev(index, pev_origin, start)
	    pev(index, pev_view_ofs, view_ofs)
	    xs_vec_add(start, view_ofs, start)
	    
	    static Float:dest[3]
	    pev(index, pev_v_angle, dest)
	    engfunc(EngFunc_MakeVectors, dest)
	    global_get(glb_v_forward, dest)
	    xs_vec_mul_scalar(dest, 9999.0, dest)
	    xs_vec_add(start, dest, dest)
	    
	    engfunc(EngFunc_TraceLine, start, dest, 0, index, 0)
	    get_tr2(0, TR_vecEndPos, origin)
	    
	    return 1
}

stock move_toward_client(id, Float:origin[3])
{			   
	    static Float:player_origin[3]
	    
	    pev(id, pev_origin, player_origin)
	    
	    origin[0] += (player_origin[0] > origin[0]) ? 1.0 : -1.0
	    origin[1] += (player_origin[1] > origin[1]) ? 1.0 : -1.0
	    origin[2] += (player_origin[2] > origin[2]) ? 1.0 : -1.0
}
//Thanks Alka!
stock bool:is_aiming_at_sky(index)
{
	    static target, temp
	    
	    get_user_aiming(index, target, temp)
	    
	    if(engfunc(EngFunc_PointContents,target) == CONTENTS_SKY)
			    return true
	    
	    return false
}


#5 Daniel`owsky

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:84
  • Lokalizacja:Lokalizacja
Offline

Napisano 08.04.2013 15:40

Teraz gwarantujesz, że będzie działał :D ? Usunąłeś linijkę z flagą. Na pewno admin i TT nie będą mogli tego użyć ?

I mógłbyś mi to skompilować ? Bo jak próbuje to jest napisane, że zawiera nie dowzwolone znaki.
  • +
  • -
  • 0

Zapraszam na jednego z najlepszych CoD Modów w Polsce! Darmowe Premki! IP: 80.72.38.187:27090 

 

b_350_20_692108_381007_FFFFFF_000000.png


#6 Pan Marian

    Banned

  • Zbanowany

Reputacja: 89
Zaawansowany

  • Postów:283
  • Imię:Marian
  • Lokalizacja:इंटरनेट
Offline

Napisano 08.04.2013 16:02

asd

Załączone pliki



#7 Daniel`owsky

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:84
  • Lokalizacja:Lokalizacja
Offline

Napisano 08.04.2013 20:38

Wszystko pięknie działa :) Dziękuję. Do zamknięcia.
  • +
  • -
  • 0

Zapraszam na jednego z najlepszych CoD Modów w Polsce! Darmowe Premki! IP: 80.72.38.187:27090 

 

b_350_20_692108_381007_FFFFFF_000000.png


#8 Kawon

    Godlike

  • Przyjaciel

Reputacja: 887
Czempion

  • Postów:5 165
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Dzierzgoń
Offline

Napisano 08.04.2013 23:26

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

DarkGL to mój autorytet.






Również z jednym lub większą ilością słów kluczowych: modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych