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

Wieksza ilosc ammo dla danej klasy


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

#1 slowly

    Wszechwidzący

  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 26.08.2010 16:40

Witam.
Mam pytanko. Jak zrobić, że przy danej klasie mamy większą ilość ammo do wystrzelenia? Przykładowo:
Standardowo w ak47 jest 30 naboi. Ja chce, aby osoba posiadająca tą klasę miała na przykład 50.
Za all odpowiedzi bardzo dziękuję. Z góry pozdro, Slowly

Użytkownik slowly edytował ten post 27.08.2010 09:45


#2 Onyke

    Godlike

  • Przyjaciel

Reputacja: 708
Guru

  • Postów:2 178
Offline

Napisano 27.08.2010 21:48

Przyłączam się do pytania.
  • +
  • -
  • 0

#3 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 28.08.2010 11:43

Odpowie ktoś?

#4 reklama*-Cs.Pl

    Pomocny

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:41
  • Lokalizacja:Polska
Offline

Napisano 28.08.2010 11:54

dolaczam sie.

#5 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 28.08.2010 12:01

event zmiany broni
register_event("CurWeapon","CurWeapon","be", "1=1")
public CurWeapon(id)
{
	new wid = read_data(2)	// Id broni
	if(wid == CSW_XM1014 || wid == CSW_C4 || wid == CSW_FLASHBANG || wid == CSW_HEGRENADE || wid == CSW_KNIFE || wid == CSW_SMOKEGRENADE || klasa_gracza[id] != jakas_klasa){
		return PLUGIN_CONTINUE;
	}
	if(wid != stare_id_broni[id]){
		ile_dodac_magazynek[id] = ile_ammo_wiecej
		stare_id_broni[id] = wid;
                 return PLUGIN_CONTINUE;
	}
	new ammo = read_data(3)	// liczba naboi w magazynku
	if(ammo > stare_ammo[id]){
		ile_dodac_magazynek[id] = ile_ammo_wiecej
		stare_ammo[id] = ammo;
               return PLUGIN_CONTINUE;
	}
	if(ile_dodac_magazynek[id] == 0){
		return PLUGIN_CONTINUE;
	}
	new ent = fm_get_user_weapon_entity(id);
	if(ent){
		cs_set_weapon_ammo(ent, ammo+1);
		ile_dodac_magazynek[id]--;
	}
	return PLUGIN_CONTINUE;
	
}

stock fm_get_user_weapon_entity(id, wid = 0) {
	new weap = wid, clip, ammo
	if (!weap && !(weap = get_user_weapon(id, clip, ammo)))
		return 0
	
	new class[32]
	get_weaponname(weap, class, sizeof class - 1)
	
	return fm_find_ent_by_owner(-1, class, id)
}
globalne
new ile_dodac_magazynek[33]
new stare_id_broni[33]
new stare_ammo[33];

Użytkownik DarkGL edytował ten post 28.08.2010 12:10

  • +
  • -
  • 2

#6 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 28.08.2010 12:15

A co ustala dodatkową ilość ammo do magazynka i jak ją zmienić?

#7 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 28.08.2010 12:19

ile_dodac_magazynek[id] = ile_ammo_wiecej
  • +
  • -
  • 1

#8 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 28.08.2010 12:46

Błędy przy kompilacji wyskakują...:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

dbmod.sma(1338) : warning 217: loose indentation
dbmod.sma(1338) : error 029: invalid expression, assumed zero
dbmod.sma(1338) : error 001: expected token: ";", but found "{"
dbmod.sma(1350) : warning 225: unreachable code
dbmod.sma(1350) : warning 217: loose indentation
dbmod.sma(1429) : warning 217: loose indentation
dbmod.sma(1436) : warning 217: loose indentation
dbmod.sma(1440) : error 017: undefined symbol "ile_ammo_wiecej"
dbmod.sma(1442) : warning 217: loose indentation
dbmod.sma(1444) : error 021: symbol already defined: "ammo"
dbmod.sma(1446) : error 017: undefined symbol "ile_ammo_wiecej"
dbmod.sma(1448) : warning 217: loose indentation
dbmod.sma(1462) : error 054: unmatched closing brace
dbmod.sma(1718) : warning 217: loose indentation
dbmod.sma(9502) : warning 217: loose indentation
dbmod.sma(9510) : warning 217: loose indentation
dbmod.sma(9518) : warning 217: loose indentation
dbmod.sma(9528) : warning 217: loose indentation
dbmod.sma(9538) : warning 217: loose indentation
dbmod.sma(9548) : warning 217: loose indentation

6 Errors.
Could not locate output file dbmod.amxx (compile failed).


#9 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 28.08.2010 13:01

AAArrrrRRRrRrgggHHhhH... !!!
zamiast ile_ammo_wiecej daj jakoś liczbę
  • +
  • -
  • 0

#10 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 28.08.2010 15:53

Podsyłam mój public curweapon:
public CurWeapon(id)
{	
	after_bullet[id]=1
	
	new clip,ammo
	new weapon=get_user_weapon(id,clip,ammo)
	invisible_cast[id]=0
	
	if(weapon == CSW_KNIFE) on_knife[id]=1
	else on_knife[id]=0
	
	if ((weapon != CSW_C4 ) && !on_knife[id] && (player_class[id] == Ninja || player_b_onlyknife[id]>0))
	{
		client_cmd(id,"weapon_knife")
		engclient_cmd(id,"weapon_knife")
		on_knife[id]=1
	}
	
	
	if (is_user_connected(id))
	{
		if(player_class[id]==Paladyn && on_knife[id] && JumpsLeft[id]>0){
			fm_set_user_longjump(id,true,true)
		}
		else{
			fm_set_user_longjump(id,false,true)
		}
		
		//if (player_item_id[id] == 17 || player_b_usingwind[id] == 1)// engclient_cmd(id,"weapon_knife") 	
		
		if(player_sword[id] == 1)
		{
			
			if(on_knife[id]){
				entity_set_string(id, EV_SZ_viewmodel, SWORD_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, SWORD_PLAYER)  
			}
			if(weapon == CSW_C4){
				entity_set_string(id, EV_SZ_viewmodel, C4_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, C4_PLAYER)  
			}
			if(weapon == CSW_HEGRENADE){
				entity_set_string(id, EV_SZ_viewmodel, HE_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, HE_PLAYER)  
			}
			if(weapon == CSW_FLASHBANG){
				entity_set_string(id, EV_SZ_viewmodel, FL_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, FL_PLAYER)  
			}
			if(weapon == CSW_SMOKEGRENADE){
				entity_set_string(id, EV_SZ_viewmodel, SE_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, SE_PLAYER)  
			}
			
		}
		if(player_sword[id] == 0)
		{	
			if(on_knife[id]){
				entity_set_string(id, EV_SZ_viewmodel, KNIFE_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, KNIFE_PLAYER)  
			}
			if(weapon == CSW_C4){
				entity_set_string(id, EV_SZ_viewmodel, C4_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, C4_PLAYER)  
			}
			if(weapon == CSW_HEGRENADE){
				entity_set_string(id, EV_SZ_viewmodel, HE_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, HE_PLAYER)  
			}
			if(weapon == CSW_FLASHBANG){
				entity_set_string(id, EV_SZ_viewmodel, FL_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, FL_PLAYER)  
			}
			if(weapon == CSW_SMOKEGRENADE){
				entity_set_string(id, EV_SZ_viewmodel, SE_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, SE_PLAYER)  
			}			
		}
		
		if(bow[id]==1)
		{
			bow[id]=0
			if(on_knife[id])
			{
				entity_set_string(id, EV_SZ_viewmodel, KNIFE_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, KNIFE_PLAYER)  
			}
		}
		
		set_gravitychange(id)
		set_speedchange(id)
		set_renderchange(id)
		
		if(player_class[id] == Nekromanta) g_haskit[id] = true
		else g_haskit[id] = false
		
		write_hud(id)
	}
}
Prosiłbym Ciebie DarkGL o przerobienie tego kodu tak, aby mnich miał +10 ammo na każdej broni.

@@EDIT:
Odpowie ktoś?

Użytkownik slowly edytował ten post 30.08.2010 13:05


#11 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 31.08.2010 11:18

public CurWeapon(id)
{	
	after_bullet[id]=1
	
	new clip,ammo
	new weapon=get_user_weapon(id,clip,ammo)
	invisible_cast[id]=0
	
	if(weapon == CSW_KNIFE) on_knife[id]=1
	else on_knife[id]=0
	
	if ((weapon != CSW_C4 ) && !on_knife[id] && (player_class[id] == Ninja || player_b_onlyknife[id]>0))
	{
		client_cmd(id,"weapon_knife")
		engclient_cmd(id,"weapon_knife")
		on_knife[id]=1
	}
	
	
	if (is_user_connected(id))
	{
		if(player_class[id]==Paladyn && on_knife[id] && JumpsLeft[id]>0){
			fm_set_user_longjump(id,true,true)
		}
		else{
			fm_set_user_longjump(id,false,true)
		}
		
		//if (player_item_id[id] == 17 || player_b_usingwind[id] == 1)// engclient_cmd(id,"weapon_knife") 	
		
		if(player_sword[id] == 1)
		{
			
			if(on_knife[id]){
				entity_set_string(id, EV_SZ_viewmodel, SWORD_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, SWORD_PLAYER)  
			}
			if(weapon == CSW_C4){
				entity_set_string(id, EV_SZ_viewmodel, C4_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, C4_PLAYER)  
			}
			if(weapon == CSW_HEGRENADE){
				entity_set_string(id, EV_SZ_viewmodel, HE_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, HE_PLAYER)  
			}
			if(weapon == CSW_FLASHBANG){
				entity_set_string(id, EV_SZ_viewmodel, FL_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, FL_PLAYER)  
			}
			if(weapon == CSW_SMOKEGRENADE){
				entity_set_string(id, EV_SZ_viewmodel, SE_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, SE_PLAYER)  
			}
			
		}
		if(player_sword[id] == 0)
		{	
			if(on_knife[id]){
				entity_set_string(id, EV_SZ_viewmodel, KNIFE_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, KNIFE_PLAYER)  
			}
			if(weapon == CSW_C4){
				entity_set_string(id, EV_SZ_viewmodel, C4_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, C4_PLAYER)  
			}
			if(weapon == CSW_HEGRENADE){
				entity_set_string(id, EV_SZ_viewmodel, HE_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, HE_PLAYER)  
			}
			if(weapon == CSW_FLASHBANG){
				entity_set_string(id, EV_SZ_viewmodel, FL_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, FL_PLAYER)  
			}
			if(weapon == CSW_SMOKEGRENADE){
				entity_set_string(id, EV_SZ_viewmodel, SE_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, SE_PLAYER)  
			}			
		}
		
		if(bow[id]==1)
		{
			bow[id]=0
			if(on_knife[id])
			{
				entity_set_string(id, EV_SZ_viewmodel, KNIFE_VIEW)  
				entity_set_string(id, EV_SZ_weaponmodel, KNIFE_PLAYER)  
			}
		}
		
		set_gravitychange(id)
		set_speedchange(id)
		set_renderchange(id)
		
		if(player_class[id] == Nekromanta) g_haskit[id] = true
		else g_haskit[id] = false
		
		write_hud(id)
                new wid = read_data(2)	// Id broni
	if(wid == CSW_XM1014 || wid == CSW_C4 || wid == CSW_FLASHBANG || wid == CSW_HEGRENADE || wid == CSW_KNIFE || wid == CSW_SMOKEGRENADE || player_class[id]  != Mnich ){
		return PLUGIN_CONTINUE;
	}
	if(wid != stare_id_broni[id]){
		ile_dodac_magazynek[id] = ile_ammo_wiecej
		stare_id_broni[id] = wid;
                 return PLUGIN_CONTINUE;
	}
	new ammo = read_data(3)	// liczba naboi w magazynku
	if(ammo > stare_ammo[id]){
		ile_dodac_magazynek[id] = ile_ammo_wiecej
		stare_ammo[id] = ammo;
               return PLUGIN_CONTINUE;
	}
	if(ile_dodac_magazynek[id] == 0){
		return PLUGIN_CONTINUE;
	}
	new ent = fm_get_user_weapon_entity(id);
	if(ent){
		cs_set_weapon_ammo(ent, ammo+1);
		ile_dodac_magazynek[id]--;
	}
	return PLUGIN_CONTINUE;
	}
}
pisane na forum
  • +
  • -
  • 1

#12 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 31.08.2010 12:26

Po dodaniu tego jest błąd przy kompilacji:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

dbmod.sma(1451) : warning 209: function "CurWeapon" should return a value
Header size:          10104 bytes
Code size:           331836 bytes
Data size:           227676 bytes
Stack/heap size:      16384 bytes; max. usage is unknown, due to recursion
Total requirements:  586000 bytes

1 Warning.
Done.


#13 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 31.08.2010 12:39

ja nie widzę tam nigdzie error :mellow:
no i zapomniałem zmienić
ile_ammo_wiecej na 10 ale to już sam zrobisz ;)
daj na samym końcu
return PLUGIN_CONTINUE

Użytkownik DarkGL edytował ten post 31.08.2010 12:40

  • +
  • -
  • 1

#14 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 31.08.2010 12:40

Ale jest warrning - czyli ostrzeżenie. Jak można to naprawić?

#15 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6 553
Godlike

  • Postów:11 976
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 31.08.2010 13:21

post wyżej od twojego masz rozwiązanie
  • +
  • -
  • 1

#16 slowly

    Wszechwidzący

  • Autor tematu
  • Zbanowany

Reputacja: 14
Początkujący

  • Postów:270
  • Steam:steam
  • Lokalizacja:Warszawa
Offline

Napisano 31.08.2010 13:42

Działa, a jak zmienić żeby to było widoczne w prawym dolnym rogu ekranu, bo pokazuje się standardowa ilość...




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

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