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

marker dla prowadzącego


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 grol112

    Życzliwy

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:26
  • Imię:Grzesiek
  • Lokalizacja:małopolska
Offline

Napisano 02.01.2014 15:54

Siema.Czy jest marker, ale tylko dla prowadzącego?

Dla innych CT nie tylko dla prowadzącego.



#2 Maxiores

    Zaawansowany

  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:89
  • Imię:Mariusz
  • Lokalizacja:Warszawa
Offline

Napisano 02.01.2014 16:12

Sprawdź nie obiecuje, że zadziała. 

#include <amxmodx>

#include <amxmisc>

#include <fakemeta>

#include <xs>



#define PLUGIN "Magiczny marker"

#define VERSION "1.0"

#define AUTHOR "Maxiores"



#define MAX_PLAYERS 32

#define USAGE_LEVEL ADMIN_USER



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, "Rysuj po scianach!!")

register_clcmd("-paint", "paint_handler", USAGE_LEVEL, "Rysuj po scianach!!")

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, "* Nie zyjesz wiec nie mozesz malowac markerem.")

return PLUGIN_HANDLED

}

else if(get_user_team(id) != 2)

{

client_print(id, print_chat, "* Nie jestes w CT, wiec nie mozesz malowac markerem.")

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 AdaskoMX!

bool:is_aiming_at_sky(index)

{

new Float:origin[3];

fm_get_aim_origin(index, origin);



return engfunc(EngFunc_PointContents, origin) == CONTENTS_SKY;

}

Użytkownik Maxiores edytował ten post 02.01.2014 16:12

  • +
  • -
  • 0

#3 grol112

    Życzliwy

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:26
  • Imię:Grzesiek
  • Lokalizacja:małopolska
Offline

Napisano 02.01.2014 17:38

jak jestem prowadzącym w konsoli pisze ze nie moge użyć komendy



#4 .K3K

    Ja tu tylko sprzątam :s

  • Zbanowany

Reputacja: 46
Pomocny

  • Postów:263
  • Imię:Karol
  • Lokalizacja:Poznań
Offline

Napisano 02.01.2014 17:58

polecił bym Ci wgrać paintballa i modyfikować z jailem pod siebie. oczywiście jeśli o to chodzi.


b_350_20_18CE03_051005_FFFFFF_111111.png

#5 grol112

    Życzliwy

  • Autor tematu
  • Zbanowany

Reputacja: 0
Nowy

  • Postów:26
  • Imię:Grzesiek
  • Lokalizacja:małopolska
Offline

Napisano 02.01.2014 19:25

weź czytaj kolego temat...






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

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