UWAGA
W związku z upgrade'em Forum Wiaderko do vB 4.x ewentualne błędy i nieprawidłowości proszę zgłaszać w tym temacie
Serwery Counter Strike 1.6 wiaderko.com

HashJama [TP] 193.33.176.148:27015 status serwera HashJama [TP] połącz

HashJama [FFA] 193.33.176.188:27015status serwera HashJama [FFA] połącz

HashJama [DM] 193.33.176.53:27015status serwera HashJama [DM] połącz

HashJama [Aim Hs] 193.33.176.15:27015status serwera HashJama [Aim Hs] połącz

HashJama [Flags] 193.33.176.111:27015status serwera HashJama  [Flags] połącz

HashJama [AWP/HG DM] 193.33.176.50:27015status serwera HashJama [AWP/HG DM] 193.33.176.50:27015 połącz

HashJama [TP #2] 193.33.176.54:27015status serwera HashJama [TP #2] 193.33.176.54:27015 połącz

wiaderko.com [Ventrilo] v1.svoice.pl:6416status serwera wiaderko.com [Ventrilo]

SPONSOR:
pukawka.pl

Wątek: Parachute - Spadochron

Pokaż wyniki od 1 do 3 z 3
  1. #1 Parachute - Spadochron 
    Spamer
    Dołączył
    Jan 2008
    Wiek
    17
    Posty
    170
    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(238) : 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. #2  
    V.I.P. Awatar JaCo
    Dołączył
    Jul 2007
    Wiek
    19
    Posty
    3,526
    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

    [ Dodano: Sob 08 Mar, 2008 ]
    Cytat Zamieszczone przez 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ć :p
    188.165.19.22:27031 - PGC-CS.EU [GUN GAME] !! Rekrutacja Na Administratorów !!
    Wejdz -
    http://pgc-cs.eu/
    http://allegro.pl/show_item.php?item=1458311575
     

  3. #3  
    Spamer
    Dołączył
    Jan 2008
    Wiek
    17
    Posty
    170
    OK! dzięki JaCo, dostałeś "Pomógł"!
    Modele mam xD

    Można zamknąć!
     

Podobne wątki

  1. [Non Steam] Bots & Parachute jak włączyć?
    By akon401 in forum Problemy z CS 1.6
    Odpowiedzi: 2
    Ostatni post / autor: 25-01-2011, 01:55
  2. [PL!] Parachute (spadochron) [PL!]
    By simivar in forum Przydatne pluginy AMX i AMXX
    Odpowiedzi: 22
    Ostatni post / autor: 24-12-2010, 23:28
  3. Parachute Retro
    By Kazik Na Żywo in forum Gry zręcznościowe online
    Odpowiedzi: 0
    Ostatni post / autor: 21-12-2009, 17:30
  4. Parachute Plunder
    By Kazik Na Żywo in forum Gry zręcznościowe online
    Odpowiedzi: 0
    Ostatni post / autor: 17-10-2009, 09:11
  5. Fatal error błąd parachute.mdl
    By Lipa1992 in forum Problemy z CS 1.6
    Odpowiedzi: 10
    Ostatni post / autor: 11-09-2009, 16:01
  6. Spadochron .
    By T00g in forum Problemy i konfiguracja AMXX
    Odpowiedzi: 1
    Ostatni post / autor: 28-03-2009, 15:15
  7. Parachute All
    By Domil04 in forum Szukam pluginu AMX/AMXX
    Odpowiedzi: 3
    Ostatni post / autor: 11-10-2008, 22:15
  8. Spadochron:/
    By Camper1992 in forum Problemy z HLDS
    Odpowiedzi: 1
    Ostatni post / autor: 04-05-2008, 17:57
  9. Parachute ;/
    By JoneQ in forum Problem z pluginem AMX/AMXX
    Odpowiedzi: 1
    Ostatni post / autor: 21-02-2008, 13:45

Odwiedzający znaleźli tę stronę szukając:

spadochron do csa 1.6

spadochron do cs chomikuj

jak sie używa spadochronu w cs i czy trzeba go kupic

parachute tylko dla admina

como es el comando del parachute fallspeed de cs 1.6

co to znaczy slowo buy_parachute

buy_parachute na kup_spadochron

spadochron do cs free

pobierz spadochron do cs

Uprawnienia umieszczania postów
  • 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
  •