Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

pomoc w kompilowaniu


HE!

Rekomendowane odpowiedzi

Pasjonat
Opublikowano

Witam.

Kompilator ani kompilator lokalny mi nie chce tego skompilować ciągle pisze error color chat...

Możecie mi go skompilować?O to kod do pluginu sma

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

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

#define MAX_PLAYERS 32
#define USAGE_LEVEL własny poziom H

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(!(get_user_flags(id) & ADMIN_LEVEL_H))
	{
		ColorChat(id, GREY, "Chcesz tego używać? To sobie vipa kup /vip <nieziemskiskill.pl>");
		return PLUGIN_HANDLED
	}
	
	if(!cmd_access(id, level, cid, 1))
		return PLUGIN_HANDLED
	
	if(!is_user_alive(id))
	{
		client_print(id, print_chat, "Nie możesz używać markera, nie żyjesz ośle! -.-")
		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
}

 

Opublikowano
#define USAGE_LEVEL własny poziom H

To jest źle, poprawiłem na:

#define USAGE_LEVEL ADMIN_LEVEL_H

i kompiluje się bez lipy.

Masz tu całe .sma, poprawione:

 

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <xs>
#include <colorchat>
#define PLUGIN "Magic Marker"
#define VERSION "3.0"
#define AUTHOR "stupok69"
#define MAX_PLAYERS 32
#define USAGE_LEVEL ADMIN_LEVEL_H
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(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
  ColorChat(id, GREY, "Chcesz tego używać? To sobie vipa kup /vip <nieziemskiskill.pl>");
  return PLUGIN_HANDLED
}

if(!cmd_access(id, level, cid, 1))
  return PLUGIN_HANDLED

if(!is_user_alive(id))
{
  client_print(id, print_chat, "Nie możesz używać markera, nie żyjesz ośle! -.-")
  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
}

:makka: DajGrzdyla - s.56 Diumar  <3  <3

 

 

808911489533930136490.jpeg

Pasjonat
Opublikowano

dziękuje ;]

ale dalej w kompilatorze lokalnym robie i ciągle error color chat pisze :>

Pasjonat
Opublikowano

no kompilowałem i nie kompiluje mi ciągle pisze o tym colorchat...

Jak możesz wyślij mi przekompilowany plik amxx tylko taki kod sma

taki sam jak podawałeś tylko zmieniłem z

"nie możesz tego używać ośłe bo nie żyjesz"

NA

"nie mozesz tego uzywac osle bo nie zyje"

aby się nie bugowało proszę o to kod

 

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <xs>
#include <colorchat>
#define PLUGIN "Magic Marker"
#define VERSION "3.0"
#define AUTHOR "stupok69"
#define MAX_PLAYERS 32
#define USAGE_LEVEL ADMIN_LEVEL_H
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(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
  ColorChat(id, GREY, "Chcesz tego uzywać? To sobie vipa kup /vip <nieziemskiskill.pl>");
  return PLUGIN_HANDLED
}

if(!cmd_access(id, level, cid, 1))
  return PLUGIN_HANDLED

if(!is_user_alive(id))
{
  client_print(id, print_chat, "Nie mozesz uzywać markera, nie zyjesz osle! -.-")
  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
}
Pasjonat
Opublikowano

dziękuje :)

A mogę jeszcze prosić o twój kompilator download jeśli byłaby taka możliwość?

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...