X Przeglądasz forum jako gość, zarejestruj się aby uzyskać pełen dostęp do wiaderkowego stuff'u ganja
Forum Counter Strike  
Zarejestruj się FAQ Użytkownicy Kalendarz Zaznacz Wszystkie Fora jako Przeczytane

Wróć   Forum Counter Strike > Serwer HLDS - wszytko o własnym serwerze do Counter Strike 1.6 Non Steam > Pluginy, dodatki, AMX, AMXX > Problem z pluginem AMX/AMXX

Problem z pluginem AMX/AMXX Masz problem z instalacją, kompilacją, konfiguracją pluginu ? Napisz tutaj o tym

Tagi: ,

Zamknięty Temat
 
LinkBack Narzędzia wątku
Parachute - Spadochron
  (#1 (permalink)) stare
Myszax is Offline
Spamer
Myszax is on a distinguished road
 
Postów: 125
Zarejestrowany: Jan 2008
Siła Reputacji: 1
  Wyślij wiadomośc poprzez AIM do Myszax  
Domyślnie Parachute - Spadochron - 08-03-2008, 09:28

Witam!
Postanowiłem spolszczyć sobie plugin parachute. I mam jakieś problemy. Gdy chcę go skomplikować w tym:
to mam takie błędy:
/home/groups/amxmodx/tmp3/phpdwQQgo.sma(23 : error 037: invalid string (possibly non-terminated string)
/home/groups/amxmodx/tmp3/phpdwQQgo.sma(346) : error 037: invalid string (possibly non-terminated string)

2 Errors.
Could not locate output file /home/groups/amxmodx/public_html/websc3/phpdwQQgo.amx (compile failed).

A jeśli chcę komplikować (kopiuje ten tekst .sma) w tym:

To jest OK, ale gdy wchodzę na serwer (adminem) to nie mogę od razu używać tylko muszę kupić, bo jak włożyłem tego nieprzerabianego parachute to działało od razu nie trzeba było kupować.
Pomocy! Kto pomorzę dostanie "Pomógł". Z góry dzięx!

Kod:
/*******************************************************************************

  Parachute

  Version: 1.3
  Author: KRoTaL/JTP10181

  0.1    Release
  0.1.1  Players can't buy a parachute if they already own one
  0.1.2  Release for AMX MOD X
  0.1.3  Minor changes
  0.1.4  Players lose their parachute if they die
  0.1.5  Added amx_parachute cvar
  0.1.6  Changed set_origin to movetype_follow (you won't see your own parachute)
  0.1.7  Added amx_parachute <name> | admins with admin level a get a free parachute
  0.1.8  JTP - Cleaned up code, fixed runtime error
  1.0    JTP - Should be final version, made it work on basically any mod
  1.1    JTP - Added Changes from AMX Version 0.1.8
		     Added say give_parachute and parachute_fallspeed cvar
               Plays the release animation when you touch the ground
               Added chat responder for automatic help
  1.2    JTP - Added cvar to disable the detach animation
  			Redid animation code to improve organization
  			Force "walk" animation on players when falling
  			Change users gravity when falling to avoid choppiness
  1.3    JTP - Upgraded to pCVARs

  Commands:

	say buy_parachute   -   buys a parachute (CStrike ONLY)
	saw sell_parachute  -   sells your parachute (75% of the purchase price)
	say give_parachute <nick, #userid or @team>  -  gives your parachute to the player

	amx_parachute <nick, #userid or @team>  -  gives a player a free parachute (CStrike ONLY)
	amx_parachute @all  -  gives everyone a free parachute (CStrike ONLY)

	Press +use to slow down your fall.

  Cvars:

	sv_parachute "1"			- 0: disables the plugin - 1: enables the plugin

	parachute_cost "1000"		- cost of the parachute (CStrike ONLY)

	parachute_payback "75"		- how many percent of the parachute cost you get when you sell your parachute
								(ie. (75/100) * 1000 = 750$)

	parachute_fallspeed "100"	- speed of the fall when you use the parachute


  Setup (AMXX 1.x):

	Install the amxx file.
	Enable engine and cstrike (for cs only) in the amxx modules.ini
	Put the parachute.mdl file in the modname/models/ folder

*******************************************************************************/

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#include <fun>

new bool:has_parachute[33]
new para_ent[33]
new gCStrike = 0
new pDetach, pFallSpeed, pEnabled, pCost, pPayback

#define PARACHUTE_LEVEL ADMIN_LEVEL_A

public plugin_init()
{
	register_plugin("Parachute", "1.3", "KRoT@L/JTP10181")
	pEnabled = register_cvar("sv_parachute", "1" )
	pFallSpeed = register_cvar("parachute_fallspeed", "100")
	pDetach = register_cvar("parachute_detach", "1")

	if (cstrike_running()) gCStrike = true

	if (gCStrike) {

		pCost = register_cvar("parachute_cost", "1000")
		pPayback = register_cvar("parachute_payback", "75")

		register_concmd("amx_parachute", "admin_give_parachute", PARACHUTE_LEVEL, "<nick, #userid or @team>" )
	}

	register_clcmd("say", "HandleSay")
	register_clcmd("say_team", "HandleSay")

	register_event("ResetHUD", "newSpawn", "be")
	register_event("DeathMsg", "death_event", "a")

	//Setup jtp10181 CVAR
	new cvarString[256], shortName[16]
	copy(shortName,15,"chute")

	register_cvar("jtp10181","",FCVAR_SERVER|FCVAR_SPONLY)
	get_cvar_string("jtp10181",cvarString,255)

	if (strlen(cvarString) == 0) {
		formatex(cvarString,255,shortName)
		set_cvar_string("jtp10181",cvarString)
	}
	else if (contain(cvarString,shortName) == -1) {
		format(cvarString,255,"%s,%s",cvarString, shortName)
		set_cvar_string("jtp10181",cvarString)
	}
}

public plugin_natives()
{
	set_module_filter("module_filter")
	set_native_filter("native_filter")
}

public module_filter(const module[])
{
	if (!cstrike_running() && equali(module, "cstrike")) {
		return PLUGIN_HANDLED
	}

	return PLUGIN_CONTINUE
}

public native_filter(const name[], index, trap)
{
	if (!trap) return PLUGIN_HANDLED

	return PLUGIN_CONTINUE
}

public plugin_precache()
{
	precache_model("models/parachute.mdl")
}

public client_connect(id)
{
	parachute_reset(id)
}

public client_disconnect(id)
{
	parachute_reset(id)
}

public death_event()
{
	new id = read_data(2)
	parachute_reset(id)
}

parachute_reset(id)
{
	if(para_ent[id] > 0) {
		if (is_valid_ent(para_ent[id])) {
			remove_entity(para_ent[id])
		}
	}

	if (is_user_alive(id)) set_user_gravity(id, 1.0)

	has_parachute[id] = false
	para_ent[id] = 0
}

public newSpawn(id)
{
	if(para_ent[id] > 0) {
		remove_entity(para_ent[id])
		set_user_gravity(id, 1.0)
		para_ent[id] = 0
	}

	if (!gCStrike || access(id,PARACHUTE_LEVEL) || get_pcvar_num(pCost) <= 0) {
		has_parachute[id] = true
		//set_view(id, CAMERA_3RDPERSON)
	}
}

public HandleSay(id)
{
	if(!is_user_connected(id)) return PLUGIN_CONTINUE

	new args[128]
	read_args(args, 127)
	remove_quotes(args)

	if (gCStrike) {
		if (equali(args, "buy_parachute")) {
			buy_parachute(id)
			return PLUGIN_HANDLED
		}
		else if (equali(args, "sell_parachute")) {
			sell_parachute(id)
			return PLUGIN_HANDLED
		}
		else if (containi(args, "give_parachute") == 0) {
			give_parachute(id,args[15])
			return PLUGIN_HANDLED
		}
	}

	if (containi(args, "parachute") != -1) {
		if (gCStrike) client_print(id, print_chat, "[AMXX] Komendy spadochronu: buy_parachute, sell_parachute, give_parachute")
		client_print(id, print_chat, "[AMXX] Zeby uzyc spadochron, naciszniji +use. Standardowo E")
	}

	return PLUGIN_CONTINUE
}

public buy_parachute(id)
{
	if (!gCStrike) return PLUGIN_CONTINUE
	if (!is_user_connected(id)) return PLUGIN_CONTINUE

	if (!get_pcvar_num(pEnabled)) {
		client_print(id, print_chat, "[AMXX] Spadochron wylaczony.")
		return PLUGIN_HANDLED
	}

	if (has_parachute[id]) {
		client_print(id, print_chat, "[AMXX] Masz juz spadochron.")
		return PLUGIN_HANDLED
	}

	new money = cs_get_user_money(id)
	new cost = get_pcvar_num(pCost)

	if (money < cost) {
		client_print(id, print_chat, "[AMXX] Nie masz kasy na spadochron! Kosztuje: %i$", cost)
		return PLUGIN_HANDLED
	}

	cs_set_user_money(id, money - cost)
	client_print(id, print_chat, "[AMXX] Kupiles spadochron. Zeby uzyc, naciszniji +use .Standardowo E.
	has_parachute[id] = true

	return PLUGIN_HANDLED
}

public sell_parachute(id)
{
	if (!gCStrike) return PLUGIN_CONTINUE
	if (!is_user_connected(id)) return PLUGIN_CONTINUE

	if (!get_pcvar_num(pEnabled)) {
		client_print(id, print_chat, "[AMXX] Spadochron wylaczony.")
		return PLUGIN_HANDLED
	}

	if (!has_parachute[id]) {
		client_print(id, print_chat, "[AMXX] Nie mozesz sprzedac spadochronu, bo go nie masz!")
		return PLUGIN_HANDLED
	}

	if (access(id,PARACHUTE_LEVEL)) {
		client_print(id, print_chat, "[AMXX] Nie mozesz dac spadochronu.")
		return PLUGIN_HANDLED
	}

	parachute_reset(id)

	new money = cs_get_user_money(id)
	new cost = get_pcvar_num(pCost)

	new sellamt = floatround(cost * (get_pcvar_num(pPayback) / 100.0))
	cs_set_user_money(id, money + sellamt)

	client_print(id, print_chat, "[AMX] Sprzedales spadochron za %d$", sellamt)

	return PLUGIN_CONTINUE
}

public give_parachute(id,args[])
{
	if (!gCStrike) return PLUGIN_CONTINUE
	if (!is_user_connected(id)) return PLUGIN_CONTINUE

	if (!get_pcvar_num(pEnabled)) {
		client_print(id, print_chat, "[AMXX] Spadochron wylaczony.")
		return PLUGIN_HANDLED
	}

	if (!has_parachute[id]) {
		client_print(id, print_chat, "[AMXX] Nie mozesz dac spadochronu, bo go nie masz!")
		return PLUGIN_HANDLED
	}

	new player = cmd_target(id, args, 4)
	if (!player) return PLUGIN_HANDLED

	new id_name[32], pl_name[32]
	get_user_name(id, id_name, 31)
	get_user_name(player, pl_name, 31)

	if(has_parachute[player]) {
		client_print(id, print_chat, "[AMXX] %s masz juz spadochron.", pl_name)
		return PLUGIN_HANDLED
	}

	parachute_reset(id)
	has_parachute[player] = true

	client_print(id, print_chat, "[AMXX] Dales spadochron graczowi: %s.", pl_name)
	client_print(player, print_chat, "[AMXX] %s dal Ci spadochron.", id_name)

	return PLUGIN_HANDLED
}

public admin_give_parachute(id, level, cid) {

	if (!gCStrike) return PLUGIN_CONTINUE

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

	if (!get_pcvar_num(pEnabled)) {
		client_print(id, print_chat, "[AMXX] Spadochron wylaczony.")
		return PLUGIN_HANDLED
	}

	new arg[32], name[32], name2[32], authid[35], authid2[35]
	read_argv(1,arg,31)
	get_user_name(id,name,31)
	get_user_authid(id,authid,34)

	if (arg[0]=='@'){
		new players[32], inum
		if (equali("T",arg[1]))		copy(arg[1],31,"TERRORIST")
		if (equali("ALL",arg[1]))	get_players(players,inum)
		else						get_players(players,inum,"e",arg[1])

		if (inum == 0) {
			console_print(id,"No clients in such team")
			return PLUGIN_HANDLED
		}

		for(new a = 0; a < inum; a++) {
			has_parachute[players[a]] = true
		}

		switch(get_cvar_num("amx_show_activity"))	{
			case 2:	client_print(0,print_chat,"ADMIN %s: dal spadochron ^"%s^" druzynie",name,arg[1])
			case 1:	client_print(0,print_chat,"ADMIN: dal spadochron ^"%s^",arg[1])
		}

		console_print(id,"[AMXX] Dales spadochron ^"%s^" druzynie",arg[1])
		log_amx("^"%s<%d><%s><>^" dal spdochron graczowi: ^"%s^"", name,get_user_userid(id),authid,arg[1])
	}
	else {

		new player = cmd_target(id,arg,6)
		if (!player) return PLUGIN_HANDLED

		has_parachute[player] = true

		get_user_name(player,name2,31)
		get_user_authid(player,authid2,34)

		switch(get_cvar_num("amx_show_activity")) {
			case 2:	client_print(0,print_chat,"ADMIN %s: dal spadochron ^"%s^"",name,name2)
			case 1:	client_print(0,print_chat,"ADMIN: dal spadochron ^"%s^"",name2)
		}

		console_print(id,"[AMXX] Dales spadochron ^"%s^"", name2)
		log_amx("^"%s<%d><%s><>^" dal spadochron ^"%s<%d><%s><>^"", name,get_user_userid(id),authid,name2,get_user_userid(player),authid2)
	}
	return PLUGIN_HANDLED
}

public client_PreThink(id)
{
	//parachute.mdl animation information
	//0 - deploy - 84 frames
	//1 - idle - 39 frames
	//2 - detach - 29 frames

	if (!get_pcvar_num(pEnabled)) return
	if (!is_user_alive(id) || !has_parachute[id]) return

	new Float:fallspeed = get_pcvar_float(pFallSpeed) * -1.0
	new Float:frame

	new button = get_user_button(id)
	new oldbutton = get_user_oldbutton(id)
	new flags = get_entity_flags(id)

	if (para_ent[id] > 0 && (flags & FL_ONGROUND)) {

		if (get_pcvar_num(pDetach)) {

			if (get_user_gravity(id) == 0.1) set_user_gravity(id, 1.0)

			if (entity_get_int(para_ent[id],EV_INT_sequence) != 2) {
				entity_set_int(para_ent[id], EV_INT_sequence, 2)
				entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
				entity_set_float(para_ent[id], EV_FL_frame, 0.0)
				entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
				entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
				entity_set_float(para_ent[id], EV_FL_framerate, 0.0)
				return
			}

			frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0
			entity_set_float(para_ent[id],EV_FL_fuser1,frame)
			entity_set_float(para_ent[id],EV_FL_frame,frame)

			if (frame > 254.0) {
				remove_entity(para_ent[id])
				para_ent[id] = 0
			}
		}
		else {
			remove_entity(para_ent[id])
			set_user_gravity(id, 1.0)
			para_ent[id] = 0
		}

		return
	}

	if (button & IN_USE) {

		new Float:velocity[3]
		entity_get_vector(id, EV_VEC_velocity, velocity)

		if (velocity[2] < 0.0) {

			if(para_ent[id] <= 0) {
				para_ent[id] = create_entity("info_target")
				if(para_ent[id] > 0) {
					entity_set_string(para_ent[id],EV_SZ_classname,"parachute")
					entity_set_edict(para_ent[id], EV_ENT_aiment, id)
					entity_set_edict(para_ent[id], EV_ENT_owner, id)
					entity_set_int(para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW)
					entity_set_model(para_ent[id], "models/parachute.mdl")
					entity_set_int(para_ent[id], EV_INT_sequence, 0)
					entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
					entity_set_float(para_ent[id], EV_FL_frame, 0.0)
					entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
				}
			}

			if (para_ent[id] > 0) {

				entity_set_int(id, EV_INT_sequence, 3)
				entity_set_int(id, EV_INT_gaitsequence, 1)
				entity_set_float(id, EV_FL_frame, 1.0)
				entity_set_float(id, EV_FL_framerate, 1.0)
				set_user_gravity(id, 0.1)

				velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed
				entity_set_vector(id, EV_VEC_velocity, velocity)

				if (entity_get_int(para_ent[id],EV_INT_sequence) == 0) {

					frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0
					entity_set_float(para_ent[id],EV_FL_fuser1,frame)
					entity_set_float(para_ent[id],EV_FL_frame,frame)

					if (frame > 100.0) {
						entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
						entity_set_float(para_ent[id], EV_FL_framerate, 0.4)
						entity_set_int(para_ent[id], EV_INT_sequence, 1)
						entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
						entity_set_float(para_ent[id], EV_FL_frame, 0.0)
						entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
					}
				}
			}
		}
		else if (para_ent[id] > 0) {
			remove_entity(para_ent[id])
			set_user_gravity(id, 1.0)
			para_ent[id] = 0
		}
	}
	else if ((oldbutton & IN_USE) && para_ent[id] > 0 ) {
		remove_entity(para_ent[id])
		set_user_gravity(id, 1.0)
		para_ent[id] = 0
	}
}
P.S. Plugin mam z tąd: http://forums.alliedmods.net/showthr...=parachute+1.3
  
  (#2 (permalink)) stare
JaCo is Offline
Super Moderator
JaCo is on a distinguished road
 
Avatar JaCo
 
Postów: 2,719
Zarejestrowany: Jul 2007
Siła Reputacji: 4
   
Domyślnie 08-03-2008, 13:02

Kod:
/*******************************************************************************

  Parachute

  Version: 1.3
  Author: KRoTaL/JTP10181

  0.1    Release
  0.1.1  Players can't buy a parachute if they already own one
  0.1.2  Release for AMX MOD X
  0.1.3  Minor changes
  0.1.4  Players lose their parachute if they die
  0.1.5  Added amx_parachute cvar
  0.1.6  Changed set_origin to movetype_follow (you won't see your own parachute)
  0.1.7  Added amx_parachute <name> | admins with admin level a get a free parachute
  0.1.8  JTP - Cleaned up code, fixed runtime error
  1.0    JTP - Should be final version, made it work on basically any mod
  1.1    JTP - Added Changes from AMX Version 0.1.8
		     Added say give_parachute and parachute_fallspeed cvar
               Plays the release animation when you touch the ground
               Added chat responder for automatic help
  1.2    JTP - Added cvar to disable the detach animation
  			Redid animation code to improve organization
  			Force "walk" animation on players when falling
  			Change users gravity when falling to avoid choppiness
  1.3    JTP - Upgraded to pCVARs

  Commands:

	say kup_spadochron   -   buys a parachute (CStrike ONLY)
	say sprzedaj_spadochron  -   sells your parachute (75% of the purchase price)
	say daj_spadochron <nick, #userid or @team>  -  gives your parachute to the player

	amx_parachute <nick, #userid or @team>  -  gives a player a free parachute (CStrike ONLY)
	amx_parachute @all  -  gives everyone a free parachute (CStrike ONLY)

	Press +use to slow down your fall.

  Cvars:

	sv_parachute "1"			- 0: disables the plugin - 1: enables the plugin

	parachute_cost "1000"		- cost of the parachute (CStrike ONLY)

	parachute_payback "75"		- how many percent of the parachute cost you get when you sell your parachute
								(ie. (75/100) * 1000 = 750$)

	parachute_fallspeed "100"	- speed of the fall when you use the parachute


  Setup (AMXX 1.x):

	Install the amxx file.
	Enable engine and cstrike (for cs only) in the amxx modules.ini
	Put the parachute.mdl file in the modname/models/ folder

*******************************************************************************/

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#include <fun>

new bool:has_parachute[33]
new para_ent[33]
new gCStrike = 0
new pDetach, pFallSpeed, pEnabled, pCost, pPayback

#define PARACHUTE_LEVEL ADMIN_LEVEL_A

public plugin_init()
{
	register_plugin("Parachute", "1.3", "KRoT@L/JTP10181")
	pEnabled = register_cvar("sv_parachute", "1" )
	pFallSpeed = register_cvar("parachute_fallspeed", "100")
	pDetach = register_cvar("parachute_detach", "1")

	if (cstrike_running()) gCStrike = true

	if (gCStrike) {

		pCost = register_cvar("parachute_cost", "1000")
		pPayback = register_cvar("parachute_payback", "75")

		register_concmd("amx_parachute", "admin_give_parachute", PARACHUTE_LEVEL, "<nick, #userid or @team>" )
	}

	register_clcmd("say", "HandleSay")
	register_clcmd("say_team", "HandleSay")

	register_event("ResetHUD", "newSpawn", "be")
	register_event("DeathMsg", "death_event", "a")

	//Setup jtp10181 CVAR
	new cvarString[256], shortName[16]
	copy(shortName,15,"chute")

	register_cvar("jtp10181","",FCVAR_SERVER|FCVAR_SPONLY)
	get_cvar_string("jtp10181",cvarString,255)

	if (strlen(cvarString) == 0) {
		formatex(cvarString,255,shortName)
		set_cvar_string("jtp10181",cvarString)
	}
	else if (contain(cvarString,shortName) == -1) {
		format(cvarString,255,"%s,%s",cvarString, shortName)
		set_cvar_string("jtp10181",cvarString)
	}
}

public plugin_natives()
{
	set_module_filter("module_filter")
	set_native_filter("native_filter")
}

public module_filter(const module[])
{
	if (!cstrike_running() && equali(module, "cstrike")) {
		return PLUGIN_HANDLED
	}

	return PLUGIN_CONTINUE
}

public native_filter(const name[], index, trap)
{
	if (!trap) return PLUGIN_HANDLED

	return PLUGIN_CONTINUE
}

public plugin_precache()
{
	precache_model("models/parachute.mdl")
}

public client_connect(id)
{
	parachute_reset(id)
}

public client_disconnect(id)
{
	parachute_reset(id)
}

public death_event()
{
	new id = read_data(2)
	parachute_reset(id)
}

parachute_reset(id)
{
	if(para_ent[id] > 0) {
		if (is_valid_ent(para_ent[id])) {
			remove_entity(para_ent[id])
		}
	}

	if (is_user_alive(id)) set_user_gravity(id, 1.0)

	has_parachute[id] = false
	para_ent[id] = 0
}

public newSpawn(id)
{
	if(para_ent[id] > 0) {
		remove_entity(para_ent[id])
		set_user_gravity(id, 1.0)
		para_ent[id] = 0
	}

	if (!gCStrike || access(id,PARACHUTE_LEVEL) || get_pcvar_num(pCost) <= 0) {
		has_parachute[id] = true
		//set_view(id, CAMERA_3RDPERSON)
	}
}

public HandleSay(id)
{
	if(!is_user_connected(id)) return PLUGIN_CONTINUE

	new args[128]
	read_args(args, 127)
	remove_quotes(args)

	if (gCStrike) {
		if (equali(args, "kup_spadochron")) {
			kup_spadochron(id)
			return PLUGIN_HANDLED
		}
		else if (equali(args, "sprzedaj_spadochron")) {
			sprzedaj_spadochron(id)
			return PLUGIN_HANDLED
		}
		else if (containi(args, "daj_spadochron") == 0) {
			daj_spadochron(id,args[15])
			return PLUGIN_HANDLED
		}
	}

	if (containi(args, "parachute") != -1) {
		if (gCStrike) client_print(id, print_chat, "[AMXX] Komendy spadochronu: kup_spadochron, sprzedaj_spadochron, daj_spadochron")
		client_print(id, print_chat, "[AMXX] Do uzycia spadochronu uzyj klawisza +use (domyslnie E)")
	}

	return PLUGIN_CONTINUE
}

public kup_spadochron(id)
{
	if (!gCStrike) return PLUGIN_CONTINUE
	if (!is_user_connected(id)) return PLUGIN_CONTINUE

	if (!get_pcvar_num(pEnabled)) {
		client_print(id, print_chat, "[AMXX] Plugin spadochronu zostal wylaczony")
		return PLUGIN_HANDLED
	}

	if (has_parachute[id]) {
		client_print(id, print_chat, "[AMXX] Masz juz spadochron")
		return PLUGIN_HANDLED
	}

	new money = cs_get_user_money(id)
	new cost = get_pcvar_num(pCost)

	if (money < cost) {
		client_print(id, print_chat, "[AMXX] Masz za malo pieniedzy na kupno spadochronu - Kosztuje $%i", cost)
		return PLUGIN_HANDLED
	}

	cs_set_user_money(id, money - cost)
	client_print(id, print_chat, "[AMXX] Kupiles spadochron. Aby go uzyc, wcisnij klawisz +use (domyslnie E).")
	has_parachute[id] = true

	return PLUGIN_HANDLED
}

public sprzedaj_spadochron(id)
{
	if (!gCStrike) return PLUGIN_CONTINUE
	if (!is_user_connected(id)) return PLUGIN_CONTINUE

	if (!get_pcvar_num(pEnabled)) {
		client_print(id, print_chat, "[AMXX] Plugin spadochronu zostal wylaczony")
		return PLUGIN_HANDLED
	}

	if (!has_parachute[id]) {
		client_print(id, print_chat, "[AMXX] Nie masz spadochronu, wiec go nie sprzedasz")
		return PLUGIN_HANDLED
	}

	if (access(id,PARACHUTE_LEVEL)) {
		client_print(id, print_chat, "[AMXX] Nie mozesz sprzedac spadochronu, ktory otrzymales za darmo jako admin")
		return PLUGIN_HANDLED
	}

	parachute_reset(id)

	new money = cs_get_user_money(id)
	new cost = get_pcvar_num(pCost)

	new sellamt = floatround(cost * (get_pcvar_num(pPayback) / 100.0))
	cs_set_user_money(id, money + sellamt)

	client_print(id, print_chat, "[AMX] You have sold your used parachute for $%d", sellamt)

	return PLUGIN_CONTINUE
}

public daj_spadochron(id,args[])
{
	if (!gCStrike) return PLUGIN_CONTINUE
	if (!is_user_connected(id)) return PLUGIN_CONTINUE

	if (!get_pcvar_num(pEnabled)) {
		client_print(id, print_chat, "[AMXX] Plugin spadochronu zostal wylaczony")
		return PLUGIN_HANDLED
	}

	if (!has_parachute[id]) {
		client_print(id, print_chat, "[AMXX] Nie masz spadochronu, wiec nie mozesz go nikomu dac")
		return PLUGIN_HANDLED
	}

	new player = cmd_target(id, args, 4)
	if (!player) return PLUGIN_HANDLED

	new id_name[32], pl_name[32]
	get_user_name(id, id_name, 31)
	get_user_name(player, pl_name, 31)

	if(has_parachute[player]) {
		client_print(id, print_chat, "[AMXX] %s ma juz spadochron.", pl_name)
		return PLUGIN_HANDLED
	}

	parachute_reset(id)
	has_parachute[player] = true

	client_print(id, print_chat, "[AMXX] Dales swoj spadochron graczowi %s.", pl_name)
	client_print(player, print_chat, "[AMXX] %s dal wlasny spadochron tobie", id_name)

	return PLUGIN_HANDLED
}

public admin_give_parachute(id, level, cid) {

	if (!gCStrike) return PLUGIN_CONTINUE

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

	if (!get_pcvar_num(pEnabled)) {
		client_print(id, print_chat, "[AMXX] Plugin spadochronu zostal wylaczony")
		return PLUGIN_HANDLED
	}

	new arg[32], name[32], name2[32], authid[35], authid2[35]
	read_argv(1,arg,31)
	get_user_name(id,name,31)
	get_user_authid(id,authid,34)

	if (arg[0]=='@'){
		new players[32], inum
		if (equali("T",arg[1]))		copy(arg[1],31,"TERRORIST")
		if (equali("ALL",arg[1]))	get_players(players,inum)
		else						get_players(players,inum,"e",arg[1])

		if (inum == 0) {
			console_print(id,"No clients in such team")
			return PLUGIN_HANDLED
		}

		for(new a = 0; a < inum; a++) {
			has_parachute[players[a]] = true
		}

		switch(get_cvar_num("amx_show_activity"))	{
			case 2:	client_print(0,print_chat,"ADMIN %s: dal spadochron graczowi ^"%s^" players",name,arg[1])
			case 1:	client_print(0,print_chat,"ADMIN: dal spadochron graczowi ^"%s^" players",arg[1])
		}

		console_print(id,"[AMXX] Dales spadochron graczowi ^"%s^" players",arg[1])
		log_amx("^"%s<%d><%s><>^" gave a parachute to ^"%s^"", name,get_user_userid(id),authid,arg[1])
	}
	else {

		new player = cmd_target(id,arg,6)
		if (!player) return PLUGIN_HANDLED

		has_parachute[player] = true

		get_user_name(player,name2,31)
		get_user_authid(player,authid2,34)

		switch(get_cvar_num("amx_show_activity")) {
			case 2:	client_print(0,print_chat,"ADMIN %s: dal spadochron graczowi ^"%s^"",name,name2)
			case 1:	client_print(0,print_chat,"ADMIN: dal spadochron graczowi ^"%s^"",name2)
		}

		console_print(id,"[AMXX] Dales spadochron graczowi ^"%s^"", name2)
		log_amx("^"%s<%d><%s><>^" gave a parachute to ^"%s<%d><%s><>^"", name,get_user_userid(id),authid,name2,get_user_userid(player),authid2)
	}
	return PLUGIN_HANDLED
}

public client_PreThink(id)
{
	//parachute.mdl animation information
	//0 - deploy - 84 frames
	//1 - idle - 39 frames
	//2 - detach - 29 frames

	if (!get_pcvar_num(pEnabled)) return
	if (!is_user_alive(id) || !has_parachute[id]) return

	new Float:fallspeed = get_pcvar_float(pFallSpeed) * -1.0
	new Float:frame

	new button = get_user_button(id)
	new oldbutton = get_user_oldbutton(id)
	new flags = get_entity_flags(id)

	if (para_ent[id] > 0 && (flags & FL_ONGROUND)) {

		if (get_pcvar_num(pDetach)) {

			if (get_user_gravity(id) == 0.1) set_user_gravity(id, 1.0)

			if (entity_get_int(para_ent[id],EV_INT_sequence) != 2) {
				entity_set_int(para_ent[id], EV_INT_sequence, 2)
				entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
				entity_set_float(para_ent[id], EV_FL_frame, 0.0)
				entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
				entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
				entity_set_float(para_ent[id], EV_FL_framerate, 0.0)
				return
			}

			frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0
			entity_set_float(para_ent[id],EV_FL_fuser1,frame)
			entity_set_float(para_ent[id],EV_FL_frame,frame)

			if (frame > 254.0) {
				remove_entity(para_ent[id])
				para_ent[id] = 0
			}
		}
		else {
			remove_entity(para_ent[id])
			set_user_gravity(id, 1.0)
			para_ent[id] = 0
		}

		return
	}

	if (button & IN_USE) {

		new Float:velocity[3]
		entity_get_vector(id, EV_VEC_velocity, velocity)

		if (velocity[2] < 0.0) {

			if(para_ent[id] <= 0) {
				para_ent[id] = create_entity("info_target")
				if(para_ent[id] > 0) {
					entity_set_string(para_ent[id],EV_SZ_classname,"parachute")
					entity_set_edict(para_ent[id], EV_ENT_aiment, id)
					entity_set_edict(para_ent[id], EV_ENT_owner, id)
					entity_set_int(para_ent[id], EV_INT_movetype, MOVETYPE_FOLLOW)
					entity_set_model(para_ent[id], "models/parachute.mdl")
					entity_set_int(para_ent[id], EV_INT_sequence, 0)
					entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
					entity_set_float(para_ent[id], EV_FL_frame, 0.0)
					entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
				}
			}

			if (para_ent[id] > 0) {

				entity_set_int(id, EV_INT_sequence, 3)
				entity_set_int(id, EV_INT_gaitsequence, 1)
				entity_set_float(id, EV_FL_frame, 1.0)
				entity_set_float(id, EV_FL_framerate, 1.0)
				set_user_gravity(id, 0.1)

				velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed
				entity_set_vector(id, EV_VEC_velocity, velocity)

				if (entity_get_int(para_ent[id],EV_INT_sequence) == 0) {

					frame = entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0
					entity_set_float(para_ent[id],EV_FL_fuser1,frame)
					entity_set_float(para_ent[id],EV_FL_frame,frame)

					if (frame > 100.0) {
						entity_set_float(para_ent[id], EV_FL_animtime, 0.0)
						entity_set_float(para_ent[id], EV_FL_framerate, 0.4)
						entity_set_int(para_ent[id], EV_INT_sequence, 1)
						entity_set_int(para_ent[id], EV_INT_gaitsequence, 1)
						entity_set_float(para_ent[id], EV_FL_frame, 0.0)
						entity_set_float(para_ent[id], EV_FL_fuser1, 0.0)
					}
				}
			}
		}
		else if (para_ent[id] > 0) {
			remove_entity(para_ent[id])
			set_user_gravity(id, 1.0)
			para_ent[id] = 0
		}
	}
	else if ((oldbutton & IN_USE) && para_ent[id] > 0 ) {
		remove_entity(para_ent[id])
		set_user_gravity(id, 1.0)
		para_ent[id] = 0
	}
}
Modele chyba masz

[size=2][ Dodano: Sob 08 Mar, 2008 ][/size]
Cytat:
Napisał JaCo
say kup_spadochron - buys a parachute (CStrike ONLY)
say sprzedaj_spadochron - sells your parachute (75% of the purchase price)
say daj_spadochron <nick, #userid or @team> - gives your parachute to the player

amx_parachute <nick, #userid or @team> - gives a player a free parachute (CStrike ONLY)
amx_parachute @all - gives everyone a free parachute (CStrike ONLY)
to są polskie komendy a admin nie musi kupywać


91.102.114.182:27024 - [ PokeMod ] P.R.O.S.T.O @ GamesNet.pl

Pomogłem ? - Wejdź ! www.cs-hlds.pl
  
  (#3 (permalink)) stare
Myszax is Offline
Spamer
Myszax is on a distinguished road
 
Postów: 125
Zarejestrowany: Jan 2008
Siła Reputacji: 1
  Wyślij wiadomośc poprzez AIM do Myszax  
Domyślnie 08-03-2008, 13:25

OK! dzięki JaCo, dostałeś "Pomógł"!
Modele mam xD

Można zamknąć!
  
Zamknięty Temat

Narzędzia wątku

Zasady Postowania
Nie możesz zakładać nowych tematów
Nie możesz pisać wiadomości
Nie możesz dodawać załączników
Nie możesz edytować swoich postów

BB Code jest Włączony
EmotikonyWłączony
[IMG] kod jest Włączony
HTML kod jest Wyłączony
Trackbacks are Włączony
Pingbacks are Włączony
Refbacks are Wyłączony

Podobne wątki
Temat Autor wątku Forum Odpowiedzi Ostatni Post / Autor
spadochron do zombi infect nowy1313 Szukam pluginu AMX/AMXX 0 20-05-2008 17:38
Spadochron:/ Camper1992 Problem z pluginem AMX/AMXX 11 08-05-2008 19:48
Spadochron:/ Camper1992 Konfiguracja serwera HLDS Counter Strike 1.6 1 04-05-2008 17:57
Spadochron Camper1992 Szukam pluginu AMX/AMXX 1 22-04-2008 18:44
Parachute ;/ JoneQ Problem z pluginem AMX/AMXX 1 21-02-2008 13:45


Najpopularniejsze zapytania na forum
Chmura zapytań powered by mosh
amx_parachute.amxx - spadochron cs1,6 komenda na spadochron w cs kup_spadochron amx mapa do cs na spadochrony model spadochronu plugin spadochron plugin spadochron cs 1.6 plugin spadochron download do cs 1.6 plugin spadochron amx plugin spadochron counter-strike plugin spadochron cs plugin spadochron cs 1.6 plugin spadochron do amx plugin spadochron download plugin spadochron download cs plugin spadochron pl plugin spadochronu plugin spadochronu do amx plugin cs spadochron plugin do cs ze spadochronem plugin na spadochron plugin z spadochronem plugin ze spadochronem plugin ze spadochronem do cs pluginy spadochrony pluginy amx spadochron pluginy+cs+spadochron problem ze spadochronem w cs serwery do cs'a 1.6 ze spadochronami zombie mod spadochron free download

Powered by vBulletin ® =w= Edition
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC7
Spolszczenie: vBHELP.pl - Polski Support vBulletin
Copyright © 2007-2008 Counter Strike wiaderko.com


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195