Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Weapon suplement


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
10 odpowiedzi w tym temacie

#1 Miczu

    Godlike

  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 03.10.2009 22:24

Oto maly suplement do robienia plugow w oparciu o dawanie/sprzedawanie broni.
Uzywamy glownie id broni lub id broni (jako enum :F)

CSW_P228 1
CSW_SCOUT 3
CSW_HEGRENADE 4
CSW_XM1014 5
CSW_C4 6
CSW_MAC10 7
CSW_AUG 8
CSW_SMOKEGRENADE 9
CSW_ELITE 10
CSW_FIVESEVEN 11
CSW_UMP45 12
CSW_SG550 13
CSW_GALIL 14
CSW_FAMAS 15
CSW_USP 16
CSW_GLOCK18 17
CSW_AWP 18
CSW_MP5NAVY 19
CSW_M249 20
CSW_M3 21
CSW_M4A1 22
CSW_TMP 23
CSW_G3SG1 24
CSW_FLASHBANG 25
CSW_DEAGLE 26
CSW_SG552 27
CSW_AK47 28
CSW_KNIFE 29
CSW_P90 30

Cod:

#include <amxmodx>
#include <amxmisc>
#include <fakemeta> 
#include <cstrike>

#define weapon_num 30
#define ammo_num 14

new weapon_name[weapon_num+1][]={"none","weapon_p228","weapon_shield","weapon_scout",
"weapon_hegrenade","weapon_xm1014","weapon_c4","weapon_mac10","weapon_aug",
"weapon_smokegrenade","weapon_elite","weapon_fiveseven","weapon_ump45",
"weapon_sg550","weapon_galil","weapon_famas","weapon_usp","weapon_glock18",
"weapon_awp","weapon_mp5navy","weapon_m249","weapon_m3","weapon_m4a1",
"weapon_tmp","weapon_g3sg1","weapon_flashbang","weapon_deagle","weapon_sg552",
"weapon_ak47","weapon_knife","weapon_p90"}

new ammo_name[ammo_num+1][]={"none","ammo_338magnum","ammo_762nato","ammo_556natobox","ammo_556nato","
ammo_buckshot","ammo_45acp","ammo_57mm","ammo_50ae","ammo_357sig","ammo_9mm",
"weapon_flashbang","weapon_hegrenade","weapon_smokegrenade","weapon_c4"}

new weapon_ammo[weapon_num+1]={0,9,0,2,12,5,14,6,4,13,10,7,6,4,4,4,6,10,1,10,3,5,4,10,2,11,8,4,2,0,7}
new weapon_cost[weapon_num+1]={0,600,2200,2750,300,3000,0,1400,3500,300,800,750,1700,4200,2000,2250,500,400,4750,1500,5750,1700,3100,1250,5000,200,650,3500,2500,0,2350}
new ammo_cost[ammo_num+1]={0,125,80,60,60,65,25,50,40,50,20,200,300,300,0}
new weapon_clip[weapon_num+1]={0,13,0,10,0,7,0,30,30,0,30,20,25,30,35,25,12,20,10,30,100,8,30,30,20,0,7,30,30,0,50}
new weapon_ammo_max[weapon_num+1]={0,52,0,90,1,32,1,100,90,1,120,100,100,90,90,90,100,120,30,120,200,32,90,120,90,2,35,90,90,0,100}
new weapon_speed_max[weapon_num+1]={0,250,0,260,250,240,250,250,240,250,250,250,250,210,240,240,250,250,210,250,220,230,230,250,210,250,250,235,221,250,245}

stock give_weapon(id,wid,ammo)
{
	if(!is_user_alive(id)) return 0
	if(wid<1||wid>weapon_num) return 0	
	fm_give_item(id,weapon_name[wid])
	
	for(new i=0;i<ammo,i++) fm_give_item(id,ammo_name[weapon_ammo[wid]] )
	return 1
}

stock sell_weapon(id,wid,ammo,Float:multi)
{
	if(!is_user_alive(id)) return -1
	if(wid<1||wid>weapon_num) return -1
	
	new w_cost = floatround(weapon_cost[wid]*multi)
	new a_cost = floatround(ammo_cost[weapon_ammo[wid]]*multi)
	if(cs_get_user_money(id)<w_cost) return -1
	cs_set_user_money(id,cs_get_user_money(id)-w_cost)
	fm_give_item(id,weapon_name[wid])
	for(new i=0;i<ammo,i++)
	{
		if(cs_get_user_money(id)<a_cost) return i
		cs_set_user_money(id,cs_get_user_money(id)-a_cost)
		fm_give_item(id,ammo_name[weapon_ammo[wid]] )
	}
	return ammo
}

stock get_weapon_full_name(wid,name,size)
{
	if(wid<1||wid>weapon_num) return -1
	copy(name,size,weapon_name[wid])
}

stock get_ammo_full_name(aid,name,size)
{
	if(aid<1||aid>ammo_num) return -1
	copy(name,size,ammo_name[wid])
}

stock get_weapon_ammo_name(wid,name,size)
{
	if(wid<1||wid>weapon_num) return -1
	copy(name,size,ammo_name[weapon_ammo[wid]])
}

stock get_weapon_ammo_id(wid)
{
	if(wid<1||wid>weapon_num) return -1
	return weapon_ammo[wid]
}

stock get_weapon_cost(wid)
{
	if(wid<1||wid>weapon_num) return -1
	return weapon_cost[wid]
}

stock get_ammo_cost(aid)
{
	if(aid<1||aid>ammo_num) return -1
	return ammo_cost[aid]
}

stock get_weapon_clip(wid)
{
	if(wid<1||wid>weapon_num) return -1
	return weapon_clip[wid]
}

stock get_weapon_ammo_max(wid)
{
	if(wid<1||wid>weapon_num) return -1
	return weapon_ammo_max[wid]
}

stock fm_give_item(id, const item[]) {
	if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10))
		return 0

	new ent = fm_create_entity(item)
	if (!pev_valid(ent))
		return 0

	new Float:origin[3]
	pev(index, pev_origin, origin)
	set_pev(ent, pev_origin, origin)
	set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN)
	dllfunc(DLLFunc_Spawn, ent)

	new save = pev(ent, pev_solid)
	dllfunc(DLLFunc_Touch, ent, index)
	if (pev(ent, pev_solid) != save)
		return ent

	engfunc(EngFunc_RemoveEntity, ent)

	return -1
}

Pozniej zrobie z tego include (jak bedzie mi sie jeszcze jutro chcialo).
  • +
  • -
  • 0

#2 Daku

    Zaawansowany

  • Użytkownik

Reputacja: 6
Nowy

  • Postów:96
  • Lokalizacja:Żory
Offline

Napisano 13.11.2009 16:59

jakoś to nie działa brakuje public plugin init i w lini z broniami jest błąd
  • +
  • -
  • 0

#3 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 13.11.2009 17:29

jakoś to nie działa brakuje public plugin init

Jak byś nie zauważył to to są same funkcje (stocki)
  • +
  • -
  • 0

#4 Daku

    Zaawansowany

  • Użytkownik

Reputacja: 6
Nowy

  • Postów:96
  • Lokalizacja:Żory
Offline

Napisano 13.11.2009 18:46

to jak tego użyć ??
  • +
  • -
  • 0

#5 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 13.11.2009 20:10

Poczytaj sobie o funkcja a potem używaj jak chcesz ;>
  • +
  • -
  • 0

#6 kasza

    Godlike

  • Przyjaciel

Reputacja: 890
Czempion

  • Postów:4 102
  • GG:
  • Steam:steam
  • Imię:Imię
  • Lokalizacja:Lokalizacja
Offline

Napisano 28.12.2009 16:30

a kamizekla z hełmem ?
  • +
  • -
  • 0

Skillownia.com

 

 #3 [UWC3NG] Skillownia.com - 213.189.52.253:27301

 


#7 bakul. <3

    Wszechmogący

  • Użytkownik

Reputacja: 88
Zaawansowany

  • Postów:612
  • GG:
  • Imię:Przemek
  • Lokalizacja:Warszawa
Offline

Napisano 28.12.2009 16:40

Tą funkcją nie dasz kamizelki z hełmem.
  • +
  • -
  • 0

#8 Miczu

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 657
Wszechmogący

  • Postów:2 862
Offline

Napisano 28.12.2009 21:30

Kamizelka z hełmem to nie bron, przynajmniej w polskich standardach ^_^
  • +
  • -
  • 0

#9 Mochi

    Zaawansowany

  • Użytkownik

Reputacja: 16
Początkujący

  • Postów:81
  • Lokalizacja:asd
Offline

Napisano 21.01.2010 18:51

stock fm_give_item(id, const item[]) {
pev(index, pev_origin, origin)
To albo index albo ID :P
  • +
  • -
  • 0

#10 Dalinor

    Zaawansowany

  • Użytkownik

Reputacja: 28
Życzliwy

  • Postów:77
  • GG:
  • Lokalizacja:Rabka :)
Offline

Napisano 07.03.2010 10:20

Mam taki problem. Jak zrobić, żeby dawało 1 ammo?? Bo np. do glocka daje 20, a chciałbym 1.
  • +
  • -
  • 0

#11 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 07.03.2010 12:29

Spróbuj tego
stock set_user_weapon_ammo(id, const szWeapon[], num){
new wid = find_ent_by_owner(-1, szWeapon, id);
if(wid)
cs_set_weapon_ammo(wid, num);
}


set_user_weapon_ammo(id, "weapon_glock18",1);

  • +
  • -
  • 0




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

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