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

Hook


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

#1 burnhouse

    Zaawansowany

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:100
  • Lokalizacja:Dębica, Polska
Offline

Napisano 25.02.2010 10:34

Witam..

Przeglądając ten temat:

kz hook wyłączenie przy uruchomieniu timera - Nieoficjalny polski support AMX Mod X ...

...postanowiłem to samo zrobić, ale jak zwykle mam problemy.


#include <amxmodx>
#include <amxmisc>
#include <engine>

#define KZ_LEVEL ADMIN_USER		// Adminlevel

new bool:canusehook[32]
new bool:ishooked[32]
new hookorigin[32][3]

new Sbeam

public plugin_init() {
	register_plugin("ProKreedzHook","1.0","p4ddY")
	
	register_clcmd("+hook","hook_on",KZ_LEVEL)
	register_clcmd("-hook","hook_off",KZ_LEVEL)
	
	register_clcmd("kz_hook","give_hook",KZ_LEVEL,"<name|#userid|steamid|@ALL> <on/off>")
}

public plugin_precache() {
	precache_sound("weapons/xbow_hit2.wav")
	Sbeam = precache_model("sprites/laserbeam.spr")
}

// =================================================================================================

public client_disconnect(id) {
	remove_hook(id)
}

public client_putinserver(id) {
	remove_hook(id)
}

// =================================================================================================

public give_hook(id,level,cid) {
	if(!cmd_access(id,level,cid,3))
		return PLUGIN_HANDLED
			
	new name[32]
	get_user_name(id,name,32)
		
	new szarg1[32], szarg2[8], bool:mode
	read_argv(1,szarg1,32)
	read_argv(2,szarg2,32)
	if(equal(szarg2,"on"))
		mode = true
		
	if(equal(szarg1,"@ALL")) {
		for(new i=1;i<=get_maxplayers();i++) {
			if(is_user_connected(i) && is_user_alive(i)) {
				canusehook[i-1] = mode
				if(mode) {
					client_print(i,print_chat,"Admin %s dal Ci pozwolenie na uzywanie hook'a!",name)
					client_print(i,print_chat,"[Zbinduj '+hook' na jakis klawisz, np. bind 'v' '+hook'..")
				}
				else
					client_print(i,print_chat,"Admin %s usunal Ci pozwolenie na uzywanie hook'a!",name)
			}
		}
	}
	else {
		new pid = cmd_target(id,szarg1,2)
		if(pid > 0) {
			canusehook[pid-1] = mode
			if(mode) {
				client_print(pid,print_chat,"Admin %s dal Ci pozwolenie na uzywanie hook'a!",name)
				client_print(pid,print_chat,"Zbinduj '+hook' na jakis klawisz, np. bind 'v' '+hook'..")
			}
			else
				client_print(pid,print_chat,"Admin %s usunal Ci pozwolenie na uzywanie hook'a!",name)
		}
	}
	
	return PLUGIN_HANDLED
}

// =================================================================================================

public hook_on(id,level,cid) {
	if(!canusehook[id-1] && !cmd_access(id,level,cid,1))
		return PLUGIN_HANDLED
	
	get_user_origin(id,hookorigin[id-1],3)


          if (climber_status[id] == STATUS_CLIMBER)
	{
		set_hudmessage(255, 0, 0, -1.0, 0.1, 1, 0.0, 3.0, 0.0, 0.0, 4)
		show_hudmessage(id, "%L",LANG_PLAYER,"STOP_CLIMBTIMER")
		climber_status[id] = STATUS_NONE
		climber_hud[id] = 1
		hook_off(id)
		
	}


	
	//if(callfunc_begin("detect_cheat","prokreedz.amxx") == 1) {
		//callfunc_push_int(id)
		//callfunc_push_str("Hook")
		//callfunc_end()
	//}
	
	ishooked[id-1] = true
	
	emit_sound(id,CHAN_STATIC,"weapons/xbow_hit2.wav",1.0,ATTN_NORM,0,PITCH_NORM)
	set_task(0.1,"hook_task",id,"",0,"ab")
	hook_task(id)
	
	return PLUGIN_HANDLED
}

// =================================================================================================

public is_hooked(id) {
	return ishooked[id-1]
}

// =================================================================================================

public hook_off(id) {
	remove_hook(id)
	
	return PLUGIN_HANDLED
}

// =================================================================================================

public hook_task(id) {
	if(!is_user_connected(id) || !is_user_alive(id))
		remove_hook(id)

	climber_status[id] = STATUS_NONE
	climber_hud[id] = 1


	
	remove_beam(id)
	draw_hook(id)
	
	new origin[3], Float:velocity[3]
	get_user_origin(id,origin) 
	new distance = get_distance(hookorigin[id-1],origin)
	if(distance > 25)  { 
		velocity[0] = (hookorigin[id-1][0] - origin[0]) * (2.0 * 300 / distance)
		velocity[1] = (hookorigin[id-1][1] - origin[1]) * (2.0 * 300 / distance)
		velocity[2] = (hookorigin[id-1][2] - origin[2]) * (2.0 * 300 / distance)
		
		entity_set_vector(id,EV_VEC_velocity,velocity)
	} 
	else {
		entity_set_vector(id,EV_VEC_velocity,Float:{0.0,0.0,0.0})
		remove_hook(id)
	}
}

// =================================================================================================

public draw_hook(id) {
	message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
	write_byte(1)				// TE_BEAMENTPOINT
	write_short(id)				// entid
	write_coord(hookorigin[id-1][0])	// origin
	write_coord(hookorigin[id-1][1])	// origin
	write_coord(hookorigin[id-1][2])	// origin
	write_short(Sbeam)			// sprite index
	write_byte(0)				// start frame
	write_byte(0)				// framerate
	write_byte(100)				// life
	write_byte(10)				// width
	write_byte(0)				// noise
	if(get_user_team(id) == 1) {		// Terrorist
		write_byte(255)			// r
		write_byte(0)			// g
		write_byte(0)			// b
	}
	else {					// Counter-Terrorist
		write_byte(0)			// r
		write_byte(0)			// g
		write_byte(255)			// b
	}
	write_byte(150)				// brightness
	write_byte(0)				// speed
	message_end()
}

public remove_hook(id) {
	if(task_exists(id))
		remove_task(id)
	remove_beam(id)
	ishooked[id-1] = false
}

public remove_beam(id) {
	message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
	write_byte(99) // TE_KILLBEAM
	write_short(id)
	message_end()
}

// You reached the end of file
// This plugin was made by p4ddY <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/smile.gif' class='bbc_emoticon' alt=':)' />
// Credits to EJL-SpaceDude/JTP10181


I mam błędy w jednej linie

if (climber_status[id] == STATUS_CLIMBER)

A błędy są takie:

/groups/amxmodx/tmp3/textiwdOa6.sma(90) : warning 217: loose indentation
/groups/amxmodx/tmp3/textiwdOa6.sma(90) : error 017: undefined symbol "climber_status"
/groups/amxmodx/tmp3/textiwdOa6.sma(90) : warning 215: expression has no effect
/groups/amxmodx/tmp3/textiwdOa6.sma(90) : error 001: expected token: ";", but found "]"
/groups/amxmodx/tmp3/textiwdOa6.sma(90) : error 029: invalid expression, assumed zero
/groups/amxmodx/tmp3/textiwdOa6.sma(90) : fatal error 107: too many error messages on one line


Z góry thx!

Użytkownik burnhouse edytował ten post 25.02.2010 10:35

  • +
  • -
  • 0

#2 berix

    Wszechwidzący

  • Użytkownik

Reputacja: 34
Życzliwy

  • Postów:254
  • Lokalizacja:Ruda sl (slaskie)
Offline

Napisano 25.02.2010 22:45

ale a jakim kz modem ma ten hook współgrać?
  • +
  • -
  • 0

#3 burnhouse

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:100
  • Lokalizacja:Dębica, Polska
Offline

Napisano 26.02.2010 11:06

ale a jakim kz modem ma ten hook współgrać?

KZ Arg 1.7
  • +
  • -
  • 0

#4 berix

    Wszechwidzący

  • Użytkownik

Reputacja: 34
Życzliwy

  • Postów:254
  • Lokalizacja:Ruda sl (slaskie)
Offline

Napisano 28.02.2010 19:06

ale po jaka cholere chcesz edytowac hooka z prokreedz jak ten mod kz-arg posiada hook?, a ten moj temat co podajesz w linku to dotyczyło modu kz dajrokan
  • +
  • -
  • 1

#5 burnhouse

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:100
  • Lokalizacja:Dębica, Polska
Offline

Napisano 01.03.2010 19:02

ale po jaka cholere chcesz edytowac hooka z prokreedz jak ten mod kz-arg posiada hook?, a ten moj temat co podajesz w linku to dotyczyło modu kz dajrokan


Okej. Hook mi już nie jest potrzebny.

No bo hook KZ-Arg nie wyłącza się timer..

Temat do zamknięcia i dzięki wielką pomoc berix :D
  • +
  • -
  • 0




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

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