Cerere modificare /knife

Tutoriale scripting, cod si portiuni de cod.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
User avatar
died1337
Membru, skill 0
Membru, skill 0
Posts: 13
Joined: 16 Jan 2020, 06:11
Detinator Steam: Da
CS Status: eXtreamCS FTW!!
Fond eXtream: 0
Has thanked: 7 times

27 Jan 2020, 16:03

Salut! Am rugamintea de a imi modifica acest plugin de Knife Mod (link oficial)
Vreau sa fie asa:

1. PRO Knife (Default knife, fara nimic special)
2. Butcher (Low Gravity, 400)
3. VIP Knife (Low Gravity, 400)
4. STAFF Knife (Low Gravity, 400)
5. 1337's Knife (Low Gravity 400, Speed 600)

(3. Sa fie accesibil doar cu flag-ul A)
(4. Sa fie accesibil doar cu flag-ul E)
(5. Sa fie accesibil doar cu flag-ul L)

Am mai vazut un plugin de genul asta.. cutitele pe care nu le puteai lua apareau in lista dar erau cu ROSU

Va multumesc enorm, dragi prieteni :ily_gesture:

Code: Select all

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

#define PLUGIN "Knife Mod"
#define VERSION "1.0" 
#define AUTHOR "spunko"

#define TASK_INTERVAL 4.0  
#define MAX_HEALTH 255  

new knife_model[33] 
new g_Menu

new CVAR_HIGHSPEED
new CVAR_LOWSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX
new CVAR_DAMAGE 

public plugin_init() { 
	
	register_plugin(PLUGIN, VERSION, AUTHOR) 
	
	register_event( "Damage", "event_damage", "be" )
	register_event("CurWeapon","CurWeapon","be","1=1") 
	
	g_Menu = register_menuid("Knife Mod")
	register_menucmd(g_Menu, 1023, "knifemenu")
	
	register_clcmd("say /knife", "display_knife")
	
	CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
	CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
	CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
	CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
	CVAR_DAMAGE = register_cvar("km_damage", "2")
	CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
	CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
	
	set_task(480.0, "kmodmsg", 0, _, _, "b")
}

public plugin_precache() { 
	precache_model("models/knife-mod/v_butcher.mdl") 
	precache_model("models/knife-mod/p_butcher.mdl") 
	precache_model("models/knife-mod/v_machete.mdl")
	precache_model("models/knife-mod/p_machete.mdl")
	precache_model("models/knife-mod/v_bak.mdl")
	precache_model("models/knife-mod/p_bak.mdl")
	precache_model("models/knife-mod/v_pocket.mdl")
	precache_model("models/knife-mod/p_pocket.mdl")
	precache_model("models/v_knife.mdl") 
	precache_model("models/p_knife.mdl")
} 

public display_knife(id) {
	new menuBody[512]
	add(menuBody, 511, "\rKnife Mod\w^n^n")
	add(menuBody, 511, "1. Machete \y(More Damage/Low Speed)\w^n")
	add(menuBody, 511, "2. Bak Knife \y(No Footsteps)\w^n")
	add(menuBody, 511, "3. Pocket Knife \y(High Speed)\w^n")
	add(menuBody, 511, "4. Butcher Knife \y(Low Gravity)\w^n")
	add(menuBody, 511, "5. Default Knife \y(Health Regeneration)\w^n^n")
	add(menuBody, 511, "0. Exit^n")
	
	new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
	show_menu(id, keys, menuBody, -1, "Knife Mod")
}

public knifemenu(id, key) {
	switch(key) 
	{
		case 0: SetKnife(id , 4)
		case 1: SetKnife(id , 2)
		case 2: SetKnife(id , 3)
		case 3: SetKnife(id , 1)
		case 4: SetKnife(id , 0)
		default: return PLUGIN_HANDLED
	}
	SaveData(id)
	return PLUGIN_HANDLED
} 

public SetKnife(id , Knife) {
	knife_model[id] = Knife
	
	new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo) 
	if ( Weapon != CSW_KNIFE )
		return PLUGIN_HANDLED
	
	new vModel[56],pModel[56]
	
	switch(Knife)
	{
		case 0: {
			format(vModel,55,"models/v_knife.mdl")
			format(pModel,55,"models/p_knife.mdl")
		}
		case 1: {
			format(vModel,55,"models/knife-mod/v_butcher.mdl")
			format(pModel,55,"models/knife-mod/p_butcher.mdl")
		}
		case 2: {
			format(vModel,55,"models/knife-mod/v_bak.mdl")
			format(pModel,55,"models/knife-mod/p_bak.mdl")
		}
		case 3: {
			format(vModel,55,"models/knife-mod/v_pocket.mdl")
			format(pModel,55,"models/knife-mod/p_pocket.mdl")
		}
		case 4: {
			format(vModel,55,"models/knife-mod/v_machete.mdl")
			format(pModel,55,"models/knife-mod/p_machete.mdl")
		}
	} 
	
	entity_set_string(id, EV_SZ_viewmodel, vModel)
	entity_set_string(id, EV_SZ_weaponmodel, pModel)
	
	return PLUGIN_HANDLED;  
}

public event_damage( id ) {
	
	new victim_id = id;
	if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
	new dmg_take = read_data( 2 );
	new dmgtype = read_data( 3 );
	new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
	new Float:damage = dmg_take * multiplier;
	new health = get_user_health( victim_id );
	
	new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );
	
	if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
		return PLUGIN_HANDLED
	}
	
	if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 ) {
		
		if( floatround(damage) >= health ) {
			if( victim_id == attacker_id ) {
				return PLUGIN_CONTINUE
				}else{
				log_kill( attacker_id, victim_id, "knife", 0 );
			}
			
			return PLUGIN_CONTINUE
			}else {
			if( victim_id == attacker_id ) return PLUGIN_CONTINUE
			
			fakedamage( victim_id, "weapon_knife", damage, dmgtype );
		}
	}
	return PLUGIN_CONTINUE
}

public CurWeapon(id)
	{
	new Weapon = read_data(2)
	
	// Set Knife Model
	SetKnife(id, knife_model[id])   
	
	// Task Options
	
	if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
		set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
	else if(task_exists(id))
		remove_task(id)
	
	// Abilities
	set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0) )
	
	new Float:Gravity = ((knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
	set_user_gravity(id , Gravity)
	
	// Speed
	new Float:Speed
	if(Weapon != CSW_KNIFE || knife_model[id] < 3)
		return PLUGIN_CONTINUE
	else if(knife_model[id] == 3)
		Speed = get_pcvar_float(CVAR_HIGHSPEED)
	else if(knife_model[id] == 4)
		Speed = get_pcvar_float(CVAR_LOWSPEED)
	
	set_user_maxspeed(id, Speed)
	
	return PLUGIN_HANDLED   
	
}

stock log_kill(killer, victim, weapon[],headshot) {
	user_silentkill( victim );
	
	message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
	write_byte( killer );
	write_byte( victim );
	write_byte( headshot );
	write_string( weapon );
	message_end();
	
	new kfrags = get_user_frags( killer );
	set_user_frags( killer, kfrags++ );
	new vfrags = get_user_frags( victim );
	set_user_frags( victim, vfrags++ );
	
	return  PLUGIN_CONTINUE
} 


public task_healing(id) {  
	new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)  
	if (!addhealth)
		return  
	
	new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)  
	if (maxhealth > MAX_HEALTH) { 
		set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)  
		maxhealth = MAX_HEALTH 
	}  
	
	new health = get_user_health(id)   
	
	if (is_user_alive(id) && (health < maxhealth)) { 
		set_user_health(id, health + addhealth)
		set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
		show_hudmessage(id,"<< !!HEAL IN PROGRESS!! >>")
		message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
		write_short(1<<10)
		write_short(1<<10)
		write_short(0x0000)
		write_byte(0)
		write_byte(200)
		write_byte(0)
		write_byte(75)
		message_end()
	}
	
	else {
		if (is_user_alive(id) && (health > maxhealth))
			remove_task(id)
	}
}  

public client_disconnect(id) {  
	if(task_exists(id)) remove_task(id)  
}  


public kmodmsg() { 
	
	client_print(0,print_chat,"[AMXX] Type /knife to change your knife skins")
}  

public client_authorized(id)
	{
	LoadData(id)
}

SaveData(id)
{ 
	
	new authid[32]
	get_user_authid(id, authid, 31)
	
	new vaultkey[64]
	new vaultdata[64]
	
	format(vaultkey, 63, "KMOD_%s", authid)
	format(vaultdata, 63, "%d", knife_model[id])
	set_vaultdata(vaultkey, vaultdata)
}

LoadData(id) 
{ 
	new authid[32] 
	get_user_authid(id,authid,31)
	
	new vaultkey[64], vaultdata[64]
	
	format(vaultkey, 63, "KMOD_%s", authid)
	get_vaultdata(vaultkey, vaultdata, 63)
	knife_model[id] = str_to_num(vaultdata)
	
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
RoyalServer
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

27 Jan 2020, 19:22

EDIT - FIX

Code: Select all

#include <amxmodx>
#include <engine> 
#include <vault>
#include <fun>

#define PLUGIN "Knife Mod"
#define VERSION "1.0" 
#define AUTHOR "spunko"

new knife_model[33] 
new g_Menu

new CVAR_HIGHSPEED
new CVAR_NORMSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV

#define NTF		"a"
#define NTRF(%1)	(get_user_flags(%1)&read_flags(NTF))
#define NFOF		"e"
#define NFORF(%1)	(get_user_flags(%1)&read_flags(NFOF))
#define NFIF		"l"
#define NFIRF(%1)	(get_user_flags(%1)&read_flags(NFIF))

enum _:KM
{
	VM[32],
	PM[32]
}
new const KMS[][KM]=
{
	{"models/v_knife.mdl","models/p_knife.mdl"},//toate sunt in ordine ca-n meniu, aici ai modelu pentru 1 cutit din meniu, cel pro, daca nu ai un model cu p_ lasi gol la el adica ""
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"}
}

public plugin_init() { 
	register_plugin(PLUGIN, VERSION, AUTHOR) 
	
	register_event("CurWeapon","CurWeapon","be","1=1") 
	
	g_Menu = register_menuid("Knife Mod")
	register_menucmd(g_Menu, 1023, "knifemenu")
	
	register_clcmd("say /knife", "display_knife")
	
	CVAR_HIGHSPEED = register_cvar("km_highspeed","600.0")
	CVAR_NORMSPEED = register_cvar("km_highspeed","250.0")
	CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400.0")
	CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
	
	set_task(480.0, "kmodmsg", 0, _, _, "b")
}

public plugin_precache() { 
	for(new evo; evo < sizeof(KMS); evo++)
	{
		precache_model(KMS[evo][VM])
		if(strlen(KMS[evo][PM]))	precache_model(KMS[evo][PM])
	}
}

public kmodmsg()	client_print(0,print_chat,"[AMXX] Type /knife to change your knife skins")

public client_authorized(id)	LoadData(id)

public display_knife(id) {
	new menuBody[512]
	add(menuBody, 511, "\rKnife Mod\w^n^n")
	add(menuBody, 511, "1. PRO Knife (Default knife, fara nimic special)\w^n")
	add(menuBody, 511, "2. Butcher (Low Gravity, 400)\w^n")
	
	if(NTRF(id))	add(menuBody, 511, "3. VIP Knife (Low Gravity, 400)\w^n")
	else	add(menuBody, 511, "\r3. VIP Knife (Low Gravity, 400)\w^n")
	if(NFORF(id))	add(menuBody, 511, "4. STAFF Knife (Low Gravity, 400)\w^n")
	else	add(menuBody, 511, "\r4. STAFF Knife (Low Gravity, 400)\w^n")
	if(NFIRF(id))	add(menuBody, 511, "5. 1337's Knife (Low Gravity 400, Speed 600)\w^n^n")
	else	add(menuBody, 511, "\r5. 1337's Knife (Low Gravity 400, Speed 600)\w^n^n")
	
	add(menuBody, 511, "0. Exit^n")
	
	new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
	show_menu(id, keys, menuBody, -1, "Knife Mod")
}
public knifemenu(id, key) {
	if(key<0||key==9)	return
	
	knife_model[id] = key
	SaveData(id)
	
	if ( get_user_weapon(id)  != CSW_KNIFE )
	{
		if(!user_has_weapon(id,CSW_KNIFE))	give_item(id,"weapon_knife")
		engclient_cmd(id,"weapon_knife")
		return
	}
	entity_set_string(id, EV_SZ_viewmodel, KMS[key][VM])
	if(strlen(KMS[key][PM]))	entity_set_string(id, EV_SZ_weaponmodel, KMS[key][PM])
} 

public CurWeapon(id)
{
	if(!is_user_alive(id))	return
	new Weapon = read_data(2)
	if(Weapon != CSW_KNIFE)	return
	
	// Set Knife Model
	knifemenu(id, knife_model[id])
	
	new Float:Gravity = ((knife_model[id] == 2||knife_model[id] == 3||knife_model[id] == 4)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0//ssss
	set_user_gravity(id , Gravity)
	
	// Speed
	new Float:Speed=(knife_model[id] == 4)?get_pcvar_float(CVAR_HIGHSPEED):get_pcvar_float(CVAR_NORMSPEED)
	set_user_maxspeed(id, Speed)
}

SaveData(id)
{ 
	new authid[32]
	get_user_authid(id, authid, 31)
	new vaultkey[64]
	new vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	format(vaultdata, 63, "%d", knife_model[id])
	set_vaultdata(vaultkey, vaultdata)
}
LoadData(id) 
{ 
	new authid[32] 
	get_user_authid(id,authid,31)
	new vaultkey[64], vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	get_vaultdata(vaultkey, vaultdata, 63)
	knife_model[id] = str_to_num(vaultdata)
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
died1337
Membru, skill 0
Membru, skill 0
Posts: 13
Joined: 16 Jan 2020, 06:11
Detinator Steam: Da
CS Status: eXtreamCS FTW!!
Fond eXtream: 0
Has thanked: 7 times

27 Jan 2020, 20:17

L E V I N wrote:
27 Jan 2020, 19:22

Code: Select all

#include <amxmodx>
#include <engine> 
#include <vault>
#include <fun>

#define PLUGIN "Knife Mod"
#define VERSION "1.0" 
#define AUTHOR "spunko"

new knife_model[33] 
new g_Menu

new CVAR_HIGHSPEED
new CVAR_NORMSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV

#define NTF		"a"
#define NTRF(%1)	(get_user_flags(%1)&read_flags(NTF))
#define NFOF		"e"
#define NFORF(%1)	(get_user_flags(%1)&read_flags(NFOF))
#define NFIF		"l"
#define NFIRF(%1)	(get_user_flags(%1)&read_flags(NFIF))

enum _:KM
{
	VM[32],
	PM[32]
}
new const KMS[][KM]=
{
	{"models/v_knife.mdl","models/p_knife.mdl"},//toate sunt in ordine ca-n meniu, aici ai modelu pentru 1 cutit din meniu, cel pro, daca nu ai un model cu p_ lasi gol la el adica ""
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"}
}

public plugin_init() { 
	register_plugin(PLUGIN, VERSION, AUTHOR) 
	
	register_event("CurWeapon","CurWeapon","be","1=1") 
	
	g_Menu = register_menuid("Knife Mod")
	register_menucmd(g_Menu, 1023, "knifemenu")
	
	register_clcmd("say /knife", "display_knife")
	
	CVAR_HIGHSPEED = register_cvar("km_highspeed","600.0")
	CVAR_NORMSPEED = register_cvar("km_highspeed","250.0")
	CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400.0")
	CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
	
	set_task(480.0, "kmodmsg", 0, _, _, "b")
}

public plugin_precache() { 
	for(new evo; evo < sizeof(KMS); evo++)
	{
		precache_model(KMS[evo][VM])
		if(strlen(KMS[evo][PM]))	precache_model(KMS[evo][PM])
	}
}

public kmodmsg()	client_print(0,print_chat,"[AMXX] Type /knife to change your knife skins")

public client_authorized(id)	LoadData(id)

public display_knife(id) {
	new menuBody[512]
	add(menuBody, 511, "\rKnife Mod\w^n^n")
	add(menuBody, 511, "1. PRO Knife (Default knife, fara nimic special)\w^n")
	add(menuBody, 511, "2. Butcher (Low Gravity, 400)\w^n")
	
	if(NTRF(id))	add(menuBody, 511, "3. VIP Knife (Low Gravity, 400)\w^n")
	else	add(menuBody, 511, "\r3. VIP Knife (Low Gravity, 400)\w^n")
	if(NFORF(id))	add(menuBody, 511, "4. STAFF Knife (Low Gravity, 400)\w^n")
	else	add(menuBody, 511, "\r4. STAFF Knife (Low Gravity, 400)\w^n")
	if(NFIRF(id))	add(menuBody, 511, "5. 1337's Knife (Low Gravity 400, Speed 600)\w^n^n")
	else	add(menuBody, 511, "\r5. 1337's Knife (Low Gravity 400, Speed 600)\w^n^n")
	
	add(menuBody, 511, "0. Exit^n")
	
	new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
	show_menu(id, keys, menuBody, -1, "Knife Mod")
}
public knifemenu(id, key) {
	if(key<0||key==9)	return
	
	knife_model[id] = key
	SaveData(id)
	
	if ( get_user_weapon(id)  != CSW_KNIFE )
	{
		if(!user_has_weapon(id,CSW_KNIFE))	give_item(id,"weapon_knife")
		engclient_cmd(id,"weapon_knife")
		return
	}
	entity_set_string(id, EV_SZ_viewmodel, KMS[key][VM])
	if(strlen(KMS[Knife][PM]))	entity_set_string(id, EV_SZ_weaponmodel, KMS[key][PM])
} 

public CurWeapon(id)
{
	if(!is_user_alive(id))	return
	new Weapon = read_data(2)
	if(Weapon != CSW_KNIFE)	return
	
	// Set Knife Model
	knifemenu(id, knife_model[id])
	
	new Float:Gravity = (((knife_model[id] == 2||knife_model[id] == 3||knife_model[id] == 4)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0//ssss
	set_user_gravity(id , Gravity)
	
	// Speed
	new Float:Speed=(knife_model[id] == 4)?get_pcvar_float(CVAR_HIGHSPEED):get_pcvar_float(CVAR_NORMSPEED)
	set_user_maxspeed(id, Speed)
}

SaveData(id)
{ 
	new authid[32]
	get_user_authid(id, authid, 31)
	new vaultkey[64]
	new vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	format(vaultdata, 63, "%d", knife_model[id])
	set_vaultdata(vaultkey, vaultdata)
}
LoadData(id) 
{ 
	new authid[32] 
	get_user_authid(id,authid,31)
	new vaultkey[64], vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	get_vaultdata(vaultkey, vaultdata, 63)
	knife_model[id] = str_to_num(vaultdata)
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Salut :cowboy_emoji: Multumesc mult pentru ajutor!!
Am incercat sa compilez dar nu reusesc
Image
Am incercat sa compilez si ce ai trimis tu, fara sa modific si tot nu functioneaza.. ce as putea face?
Mersi frumos!!!
User avatar
died1337
Membru, skill 0
Membru, skill 0
Posts: 13
Joined: 16 Jan 2020, 06:11
Detinator Steam: Da
CS Status: eXtreamCS FTW!!
Fond eXtream: 0
Has thanked: 7 times

28 Jan 2020, 00:13

L E V I N wrote:
27 Jan 2020, 19:22
EDIT - FIX

Code: Select all

#include <amxmodx>
#include <engine> 
#include <vault>
#include <fun>

#define PLUGIN "Knife Mod"
#define VERSION "1.0" 
#define AUTHOR "spunko"

new knife_model[33] 
new g_Menu

new CVAR_HIGHSPEED
new CVAR_NORMSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV

#define NTF		"a"
#define NTRF(%1)	(get_user_flags(%1)&read_flags(NTF))
#define NFOF		"e"
#define NFORF(%1)	(get_user_flags(%1)&read_flags(NFOF))
#define NFIF		"l"
#define NFIRF(%1)	(get_user_flags(%1)&read_flags(NFIF))

enum _:KM
{
	VM[32],
	PM[32]
}
new const KMS[][KM]=
{
	{"models/v_knife.mdl","models/p_knife.mdl"},//toate sunt in ordine ca-n meniu, aici ai modelu pentru 1 cutit din meniu, cel pro, daca nu ai un model cu p_ lasi gol la el adica ""
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"}
}

public plugin_init() { 
	register_plugin(PLUGIN, VERSION, AUTHOR) 
	
	register_event("CurWeapon","CurWeapon","be","1=1") 
	
	g_Menu = register_menuid("Knife Mod")
	register_menucmd(g_Menu, 1023, "knifemenu")
	
	register_clcmd("say /knife", "display_knife")
	
	CVAR_HIGHSPEED = register_cvar("km_highspeed","600.0")
	CVAR_NORMSPEED = register_cvar("km_highspeed","250.0")
	CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400.0")
	CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
	
	set_task(480.0, "kmodmsg", 0, _, _, "b")
}

public plugin_precache() { 
	for(new evo; evo < sizeof(KMS); evo++)
	{
		precache_model(KMS[evo][VM])
		if(strlen(KMS[evo][PM]))	precache_model(KMS[evo][PM])
	}
}

public kmodmsg()	client_print(0,print_chat,"[AMXX] Type /knife to change your knife skins")

public client_authorized(id)	LoadData(id)

public display_knife(id) {
	new menuBody[512]
	add(menuBody, 511, "\rKnife Mod\w^n^n")
	add(menuBody, 511, "1. PRO Knife (Default knife, fara nimic special)\w^n")
	add(menuBody, 511, "2. Butcher (Low Gravity, 400)\w^n")
	
	if(NTRF(id))	add(menuBody, 511, "3. VIP Knife (Low Gravity, 400)\w^n")
	else	add(menuBody, 511, "\r3. VIP Knife (Low Gravity, 400)\w^n")
	if(NFORF(id))	add(menuBody, 511, "4. STAFF Knife (Low Gravity, 400)\w^n")
	else	add(menuBody, 511, "\r4. STAFF Knife (Low Gravity, 400)\w^n")
	if(NFIRF(id))	add(menuBody, 511, "5. 1337's Knife (Low Gravity 400, Speed 600)\w^n^n")
	else	add(menuBody, 511, "\r5. 1337's Knife (Low Gravity 400, Speed 600)\w^n^n")
	
	add(menuBody, 511, "0. Exit^n")
	
	new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
	show_menu(id, keys, menuBody, -1, "Knife Mod")
}
public knifemenu(id, key) {
	if(key<0||key==9)	return
	
	knife_model[id] = key
	SaveData(id)
	
	if ( get_user_weapon(id)  != CSW_KNIFE )
	{
		if(!user_has_weapon(id,CSW_KNIFE))	give_item(id,"weapon_knife")
		engclient_cmd(id,"weapon_knife")
		return
	}
	entity_set_string(id, EV_SZ_viewmodel, KMS[key][VM])
	if(strlen(KMS[key][PM]))	entity_set_string(id, EV_SZ_weaponmodel, KMS[key][PM])
} 

public CurWeapon(id)
{
	if(!is_user_alive(id))	return
	new Weapon = read_data(2)
	if(Weapon != CSW_KNIFE)	return
	
	// Set Knife Model
	knifemenu(id, knife_model[id])
	
	new Float:Gravity = ((knife_model[id] == 2||knife_model[id] == 3||knife_model[id] == 4)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0//ssss
	set_user_gravity(id , Gravity)
	
	// Speed
	new Float:Speed=(knife_model[id] == 4)?get_pcvar_float(CVAR_HIGHSPEED):get_pcvar_float(CVAR_NORMSPEED)
	set_user_maxspeed(id, Speed)
}

SaveData(id)
{ 
	new authid[32]
	get_user_authid(id, authid, 31)
	new vaultkey[64]
	new vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	format(vaultdata, 63, "%d", knife_model[id])
	set_vaultdata(vaultkey, vaultdata)
}
LoadData(id) 
{ 
	new authid[32] 
	get_user_authid(id,authid,31)
	new vaultkey[64], vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	get_vaultdata(vaultkey, vaultdata, 63)
	knife_model[id] = str_to_num(vaultdata)
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Yay!! Poate fi compilat!!
Doar ca.. oricine are acces.. chiar si fara respectivele flag-uri, gravitatia nu e ok.. nici speed-ul.. + am observat ca si pistolul primeste abilitati.. not really ok :exploding_head:
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

28 Jan 2020, 13:10

am greșit un cvar, pune l pe cel de jos și dă i rr
cât despre flage, el citește cum pui tu la define-uri, dacă el are și flagul definit atunci are acces, nu doar dacă are acel flag
ps , uitasem că am editat codu..

Code: Select all

#include <amxmodx>
#include <engine> 
#include <vault>
#include <fun>

#define PLUGIN "Knife Mod"
#define VERSION "1.0" 
#define AUTHOR "spunko"

new knife_model[33] 
new g_Menu

new CVAR_HIGHSPEED
new CVAR_NORMSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV

#define NTF		"a"
#define NTRF(%1)	(get_user_flags(%1)&read_flags(NTF))
#define NFOF		"e"
#define NFORF(%1)	(get_user_flags(%1)&read_flags(NFOF))
#define NFIF		"l"
#define NFIRF(%1)	(get_user_flags(%1)&read_flags(NFIF))

enum _:KM
{
	VM[32],
	PM[32]
}
new const KMS[][KM]=
{
	{"models/v_knife.mdl","models/p_knife.mdl"},//toate sunt in ordine ca-n meniu, aici ai modelu pentru 1 cutit din meniu, cel pro, daca nu ai un model cu p_ lasi gol la el adica ""
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"}
}

public plugin_init() { 
	register_plugin(PLUGIN, VERSION, AUTHOR) 
	
	register_event("CurWeapon","CurWeapon","be","1=1") 
	
	g_Menu = register_menuid("Knife Mod")
	register_menucmd(g_Menu, 1023, "knifemenu")
	
	register_clcmd("say /knife", "display_knife")
	
	CVAR_HIGHSPEED = register_cvar("km_highspeed","600.0")
	CVAR_NORMSPEED = register_cvar("km_normspeed","250.0")
	CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400.0")
	CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
	
	set_task(480.0, "kmodmsg", 0, _, _, "b")
}

public plugin_precache() { 
	for(new evo; evo < sizeof(KMS); evo++)
	{
		precache_model(KMS[evo][VM])
		if(strlen(KMS[evo][PM]))	precache_model(KMS[evo][PM])
	}
}

public kmodmsg()	client_print(0,print_chat,"[AMXX] Type /knife to change your knife skins")

public client_authorized(id)	LoadData(id)

public display_knife(id) {
	new menuBody[512]
	add(menuBody, 511, "\rKnife Mod\w^n^n")
	
	add(menuBody, 511, "1. PRO Knife (Default knife, fara nimic special)\w^n")
	add(menuBody, 511, "2. Butcher (Low Gravity, 400)\w^n")
	
	if(NTRF(id))	add(menuBody, 511, "3. VIP Knife (Low Gravity, 400)\w^n")
	else	add(menuBody, 511, "\r3. VIP Knife (Low Gravity, 400)\w^n")
	if(NFORF(id))	add(menuBody, 511, "4. STAFF Knife (Low Gravity, 400)\w^n")
	else	add(menuBody, 511, "\r4. STAFF Knife (Low Gravity, 400)\w^n")
	if(NFIRF(id))	add(menuBody, 511, "5. 1337's Knife (Low Gravity 400, Speed 600)\w^n^n")
	else	add(menuBody, 511, "\r5. 1337's Knife (Low Gravity 400, Speed 600)\w^n^n")
	
	add(menuBody, 511, "0. Exit^n")
	
	new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
	show_menu(id, keys, menuBody, -1, "Knife Mod")
}
public knifemenu(id, key) {
	if(key<0||key==9)	return
	if(key==2&&!NTRF(id))	return
	if(key==3&&!NFORF(id))	return
	if(key==4&&!NFIRF(id))	return
	
	knife_model[id] = key
	SaveData(id)
	
	if ( get_user_weapon(id) != CSW_KNIFE )
	{
		if(!user_has_weapon(id,CSW_KNIFE))	give_item(id,"weapon_knife")
		engclient_cmd(id,"weapon_knife")
	}
	entity_set_string(id, EV_SZ_viewmodel, KMS[key][VM])
	if(strlen(KMS[key][PM]))	entity_set_string(id, EV_SZ_weaponmodel, KMS[key][PM])
} 

public CurWeapon(id)
{
	if(!is_user_alive(id))	return
	new Weapon = read_data(2)
	if(Weapon != CSW_KNIFE)	return
	
	// Set Knife Model
	knifemenu(id, knife_model[id])
	
	new Float:Gravity = ((knife_model[id] == 1||knife_model[id] == 2||knife_model[id] == 3||knife_model[id] == 4)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0//ssss
	set_user_gravity(id , Gravity)
	
	// Speed
	new Float:Speed=((knife_model[id] == 4)?get_pcvar_float(CVAR_HIGHSPEED):get_pcvar_float(CVAR_NORMSPEED))
	set_user_maxspeed(id, Speed)
}

SaveData(id)
{ 
	new authid[32]
	get_user_authid(id, authid, 31)
	new vaultkey[64]
	new vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	format(vaultdata, 63, "%d", knife_model[id])
	set_vaultdata(vaultkey, vaultdata)
}
LoadData(id) 
{ 
	new authid[32] 
	get_user_authid(id,authid,31)
	new vaultkey[64], vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	get_vaultdata(vaultkey, vaultdata, 63)
	knife_model[id] = str_to_num(vaultdata)
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
died1337
Membru, skill 0
Membru, skill 0
Posts: 13
Joined: 16 Jan 2020, 06:11
Detinator Steam: Da
CS Status: eXtreamCS FTW!!
Fond eXtream: 0
Has thanked: 7 times

29 Jan 2020, 14:00

L E V I N wrote:
28 Jan 2020, 13:10
am greșit un cvar, pune l pe cel de jos și dă i rr
cât despre flage, el citește cum pui tu la define-uri, dacă el are și flagul definit atunci are acces, nu doar dacă are acel flag
ps , uitasem că am editat codu..

Code: Select all

#include <amxmodx>
#include <engine> 
#include <vault>
#include <fun>

#define PLUGIN "Knife Mod"
#define VERSION "1.0" 
#define AUTHOR "spunko"

new knife_model[33] 
new g_Menu

new CVAR_HIGHSPEED
new CVAR_NORMSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV

#define NTF		"a"
#define NTRF(%1)	(get_user_flags(%1)&read_flags(NTF))
#define NFOF		"e"
#define NFORF(%1)	(get_user_flags(%1)&read_flags(NFOF))
#define NFIF		"l"
#define NFIRF(%1)	(get_user_flags(%1)&read_flags(NFIF))

enum _:KM
{
	VM[32],
	PM[32]
}
new const KMS[][KM]=
{
	{"models/v_knife.mdl","models/p_knife.mdl"},//toate sunt in ordine ca-n meniu, aici ai modelu pentru 1 cutit din meniu, cel pro, daca nu ai un model cu p_ lasi gol la el adica ""
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"},
	
	{"models/v_knife.mdl","models/p_knife.mdl"}
}

public plugin_init() { 
	register_plugin(PLUGIN, VERSION, AUTHOR) 
	
	register_event("CurWeapon","CurWeapon","be","1=1") 
	
	g_Menu = register_menuid("Knife Mod")
	register_menucmd(g_Menu, 1023, "knifemenu")
	
	register_clcmd("say /knife", "display_knife")
	
	CVAR_HIGHSPEED = register_cvar("km_highspeed","600.0")
	CVAR_NORMSPEED = register_cvar("km_normspeed","250.0")
	CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400.0")
	CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")
	
	set_task(480.0, "kmodmsg", 0, _, _, "b")
}

public plugin_precache() { 
	for(new evo; evo < sizeof(KMS); evo++)
	{
		precache_model(KMS[evo][VM])
		if(strlen(KMS[evo][PM]))	precache_model(KMS[evo][PM])
	}
}

public kmodmsg()	client_print(0,print_chat,"[AMXX] Type /knife to change your knife skins")

public client_authorized(id)	LoadData(id)

public display_knife(id) {
	new menuBody[512]
	add(menuBody, 511, "\rKnife Mod\w^n^n")
	
	add(menuBody, 511, "1. PRO Knife (Default knife, fara nimic special)\w^n")
	add(menuBody, 511, "2. Butcher (Low Gravity, 400)\w^n")
	
	if(NTRF(id))	add(menuBody, 511, "3. VIP Knife (Low Gravity, 400)\w^n")
	else	add(menuBody, 511, "\r3. VIP Knife (Low Gravity, 400)\w^n")
	if(NFORF(id))	add(menuBody, 511, "4. STAFF Knife (Low Gravity, 400)\w^n")
	else	add(menuBody, 511, "\r4. STAFF Knife (Low Gravity, 400)\w^n")
	if(NFIRF(id))	add(menuBody, 511, "5. 1337's Knife (Low Gravity 400, Speed 600)\w^n^n")
	else	add(menuBody, 511, "\r5. 1337's Knife (Low Gravity 400, Speed 600)\w^n^n")
	
	add(menuBody, 511, "0. Exit^n")
	
	new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<9 )
	show_menu(id, keys, menuBody, -1, "Knife Mod")
}
public knifemenu(id, key) {
	if(key<0||key==9)	return
	if(key==2&&!NTRF(id))	return
	if(key==3&&!NFORF(id))	return
	if(key==4&&!NFIRF(id))	return
	
	knife_model[id] = key
	SaveData(id)
	
	if ( get_user_weapon(id) != CSW_KNIFE )
	{
		if(!user_has_weapon(id,CSW_KNIFE))	give_item(id,"weapon_knife")
		engclient_cmd(id,"weapon_knife")
	}
	entity_set_string(id, EV_SZ_viewmodel, KMS[key][VM])
	if(strlen(KMS[key][PM]))	entity_set_string(id, EV_SZ_weaponmodel, KMS[key][PM])
} 

public CurWeapon(id)
{
	if(!is_user_alive(id))	return
	new Weapon = read_data(2)
	if(Weapon != CSW_KNIFE)	return
	
	// Set Knife Model
	knifemenu(id, knife_model[id])
	
	new Float:Gravity = ((knife_model[id] == 1||knife_model[id] == 2||knife_model[id] == 3||knife_model[id] == 4)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0//ssss
	set_user_gravity(id , Gravity)
	
	// Speed
	new Float:Speed=((knife_model[id] == 4)?get_pcvar_float(CVAR_HIGHSPEED):get_pcvar_float(CVAR_NORMSPEED))
	set_user_maxspeed(id, Speed)
}

SaveData(id)
{ 
	new authid[32]
	get_user_authid(id, authid, 31)
	new vaultkey[64]
	new vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	format(vaultdata, 63, "%d", knife_model[id])
	set_vaultdata(vaultkey, vaultdata)
}
LoadData(id) 
{ 
	new authid[32] 
	get_user_authid(id,authid,31)
	new vaultkey[64], vaultdata[64]
	format(vaultkey, 63, "KMOD_%s", authid)
	get_vaultdata(vaultkey, vaultdata, 63)
	knife_model[id] = str_to_num(vaultdata)
} 
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/
Mersi muult :face_party_blower: All cool, atat ca se pune gravitatia si pe pistol.. la toate (2,3,4,5) Crezi ca ai putea rezolva si asta ? :P :hands_stretched_upwards: You the man!!
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3844
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: riseofevo
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 594 times
Contact:

29 Jan 2020, 20:22

nu are cum
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Post Reply

Return to “Scripting”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 10 guests