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

Na HLDS plugin działa a na serwerze nie.


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

#1 Emulov.

    Zaawansowany

  • Zbanowany

Reputacja: 7
Nowy

  • Postów:144
  • Imię:Sylwek
  • Lokalizacja:Olsztyn
Offline

Napisano 22.08.2011 08:43

Witam. Mam pewien problem, a mianowicie zrobiłem ruletke i bron ma mieć 1 ammo.

Do ustalenia 1 ammo zrobiłem coś takiego :
fm_give_item(id,"weapon_deagle");
			fm_set_user_bpammo(id, CSW_DEAGLE, 0);
			fm_set_weapon_ammo(id, CSW_DEAGLE, 1);
I na samym końcu :
stock fm_set_weapon_ammo(id, weapon, ammo)
{
	new weaponname[32], weaponid = -1;
	get_weaponname(weapon, weaponname, 31);
	while((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0)
		if(pev(weaponid, pev_owner) == id) {
			set_pdata_int(weaponid, 51, ammo, 4);
			
			return weaponid;
		}
	return 0;
}

stock fm_set_user_bpammo(id, weapon, ammo)
{
	static offset;
	
	switch(weapon)
	{
		case CSW_AWP: offset = 377;
		case CSW_SCOUT, CSW_AK47,CSW_G3SG1: offset = 378;
		case CSW_M249: offset = 379;
		case CSW_M4A1, CSW_FAMAS,CSW_AUG,CSW_SG550,CSW_GALI,CSW_SG552: offset = 380;
		case CSW_M3, CSW_XM1014: offset = 381;
		case CSW_USP, CSW_UMP45, CSW_MAC10: offset = 382;
		case CSW_FIVESEVEN, CSW_P90: offset = 383;
		case CSW_DEAGLE: offset = 384;
		case CSW_P228: offset = 385;
		case CSW_GLOCK18, CSW_MP5NAVY, CSW_TMP, CSW_ELITE: offset = 386;
		case CSW_FLASHBANG: offset = 387;
		case CSW_HEGRENADE: offset = 388;
		case CSW_SMOKEGRENADE: offset = 389;
		case CSW_C4: offset = 390;
		default: return;
	}
	
	set_pdata_int(id, offset, ammo, 5);
	
}

I tu jest problem. Na moim HLDS gdy wylosuje deagle to dostaje 1 ammo, a gdy plugin jest na serwerze gdy sie wylosuje deagle jest 10 ammo, co jest nie tak ?

A może macie inny sposob na ustalenie 1 ammo ?

#2 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 22.08.2011 08:53

może modułu nie masz odblokowanego? spróbuj

stock set_user_clip(id, ammo)
{
	new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
	get_weaponname(weapon, weaponname, 31);
	while ((weaponid = find_ent_by_class(weaponid, weaponname)) != 0)
		if(entity_get_edict(weaponid, EV_ENT_owner) == id) 
	{
		set_pdata_int(weaponid, 51, ammo, 4);
		return weaponid;
	}
	return 0;
}

(na codzie to działa)

a zamiast stock fm_set_user_bpammo(id, weapon, ammo)
masz już gotowe w funie (bodajże) set_user_bpammo :)
  • +
  • -
  • 0

#3 Emulov.

    Zaawansowany

  • Autor tematu
  • Zbanowany

Reputacja: 7
Nowy

  • Postów:144
  • Imię:Sylwek
  • Lokalizacja:Olsztyn
Offline

Napisano 22.08.2011 08:55

Moduł mam odblokowany, zaraz przetestuje ten twój sposób.




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

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