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
 

[ŁATKA] Naprawa CurWeapon !

CoD Nowy

  • Nie możesz napisać tematu
  • Nie możesz odpowiedzieć
17 odpowiedzi w tym temacie

#1 Najkon

    Profesjonalista

  • Użytkownik

  • Reputacja: 60
    Pomocny

  • Postów:161
Offline

Napisano 11.11.2011 15:30

*
Popularny

Cześć, DarkGL naprawił dla mnie CurWeapon - wcześniej tworzyło errory i crashowalo serwer a teraz działa.

Na początku pod
#include <nvault>
dodajemy
#include <engine>

Następnie w silniku coda podmieniamy public CurWeapon(id)
na :
public CurWeapon(id)
{
	if(!is_user_alive(id) )
		return;

	new team = get_user_team(id);

	if(team > 2)
		return;

	new bron = read_data(2);

	if(!(1<<bron & (bronie_klasy[klasa_gracza[id]] | bonusowe_bronie_gracza[id] | bronie_druzyny[team] | bronie_dozwolone)))	 ham_strip_weapon_short( id );

	if(cs_get_user_shield(id) && !gracz_ma_tarcze[id])
		engclient_cmd(id, "drop", "weapon_shield");	

	UstawSzybkosc(id);
}

stock ham_strip_weapon_short(id)
{
	new szWeapon[64];
	
	get_weaponname( get_user_weapon( id ) , szWeapon , charsmax ( szWeapon ) )
	
	new wId = get_weaponid(szWeapon);
	if(!wId) return 0;
	
	new wEnt	=	find_ent_by_owner( -1,szWeapon,id )
	
	if(!wEnt) return 0;
	
	ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt);
	
	ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)
	ExecuteHamB(Ham_Item_Kill,wEnt);
	
	set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId));
	
	return 1;
}

a następnie usuwamy na samym dole pluginu taki stock :

stock ham_strip_weapon(id, weapon[])
{
	if(!equal(weapon, "weapon_", 7) ) return 0
	new wId = get_weaponid(weapon)
	if(!wId) return 0
	new wEnt
	while( (wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname", weapon) ) && pev(wEnt, pev_owner) != id) {}
	if(!wEnt) return 0
	
	if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon, wEnt)
	
	if(!ExecuteHamB(Ham_RemovePlayerItem, id, wEnt)) return 0
	ExecuteHamB(Ham_Item_Kill ,wEnt)
	
	set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<wId) )
	return 1
}

I BUM ! Nie ma errorów i crashy

Wszelkie podziękowania słać do DarkGL


// Jeśli wam ta funkcja nie tworzy errorow dotyczacych 'stack error' to wydaje mi się że nie opłaca się tego wgrywać, lecz tamten błąd jest bardzo popularny.

Użytkownik DarkGL edytował ten post 12.11.2011 01:05

  • +
  • -
  • 17

#2 d0naciak

    Godlike

  • Power User

  • Reputacja: 1 029
    Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 11.11.2011 17:14

Pkaż jak w całości ten public wygląda, bo nie rozumiem
  • +
  • -
  • 0

#3 Najkon

    Profesjonalista

  • Autor tematu
  • Użytkownik

  • Reputacja: 60
    Pomocny

  • Postów:161
Offline

Napisano 11.11.2011 17:17

Który public ?

Wydawało mi się że jest to napisane prostym jezykiem :S

Użytkownik Najkon edytował ten post 11.11.2011 17:21

  • +
  • -
  • 0

#4 d0naciak

    Godlike

  • Power User

  • Reputacja: 1 029
    Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 11.11.2011 19:12

Dobra, to ja niezrozumiałem, + dla CB

Tylko napisz ze engine jest do tego potrzebny

Użytkownik d0n tHe Pr0oo edytował ten post 11.11.2011 19:17

  • +
  • -
  • 0

#5 Szymek^

    Profesjonalista

  • Użytkownik

  • Reputacja: 30
    Życzliwy

  • Postów:187
  • Imię:Szymon
  • Lokalizacja:Tczew
Offline

Napisano 11.11.2011 20:34

Czasem mam te błędy w logach. + za opublikowanie i podziękowania dla Rafała.
  • +
  • -
  • 0

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

  • Reputacja: 6 559
    Godlike

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

Napisano 11.11.2011 20:37

dodałem jeszcze warunek is_user_alive tak dla pewności
sebul (12.11.2011 00:53):
No to wywal "is_user_connected" xD
DarkGL (12.11.2011 01:05):
zrobione

  • +
  • -
  • 2

#7 ToRRent

    Czempion

  • Power User

  • Reputacja: 229
    Wszechwidzący

  • Postów:861
  • Imię:Łukasz
  • Lokalizacja:Wrocław
Offline

Napisano 12.11.2011 11:24

jakie crashe ? jakie errory ? :o

Pierwszy raz słysze o takim zdarzeniu
  • +
  • -
  • 0

#8 d0naciak

    Godlike

  • Power User

  • Reputacja: 1 029
    Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 12.11.2011 12:01

No mi właśnie wcześniej crashowało, tylko że CheQ dał mi nieco inną łatkę, i ta jego chyba też działa :)
  • +
  • -
  • 0

#9 Najkon

    Profesjonalista

  • Autor tematu
  • Użytkownik

  • Reputacja: 60
    Pomocny

  • Postów:161
Offline

Napisano 12.11.2011 16:30

jakie crashe ? jakie errory ? :o

Pierwszy raz słysze o takim zdarzeniu


A takie, na czystym codzie bez niczego także pojawiają się crashe dotyczące CurWeapon :
  • +
  • -
  • 0

#10 ToRRent

    Czempion

  • Power User

  • Reputacja: 229
    Wszechwidzący

  • Postów:861
  • Imię:Łukasz
  • Lokalizacja:Wrocław
Offline

Napisano 13.11.2011 15:20

no cóż ja nie mam takich problemów :D wystarczy amx zaktualizować do 1.8.2
  • +
  • -
  • 0

#11 MalutkiDuzy

    Nowy

  • Użytkownik

  • Reputacja: 1
    Nowy

  • Postów:6
  • Lokalizacja:Golina
Offline

Napisano 25.11.2011 12:34

to nie jest naprawa tylko popsucie po zrobieniu cura bronie nieraz znikaja ...
Nie polecam jak wam serwer crashujcie to naprawcie se według poradnika bład pobierz perk
  • +
  • -
  • 0

#12 devil_dwight

    Zaawansowany

  • Użytkownik

  • Reputacja: -1
    Nowy

  • Postów:133
  • Lokalizacja:zg
Offline

Napisano 25.11.2011 15:29

w ogóle to nie pomoglo ;// lol
  • +
  • -
  • 0

#13 lacia7

    Pomocny

  • Użytkownik

  • Reputacja: -4
    Nowy

  • Postów:46
  • Imię:Michał
  • Lokalizacja:Łęczyca
Offline

Napisano 26.11.2011 22:00

a mi nadal errory sie pokazują ale teraz takie , sprawdzcie może coś trzeba dodać czy coś , bo już nie wiem co robić ^^

L 11/26/2011 - 21:48:30: [AMXX] [0] phpncli0K.sma::ham_strip_weapon_short (line 1075)
L 11/26/2011 - 21:48:30: [AMXX] [1] phpncli0K.sma::CurWeapon (line 1065)
  • +
  • -
  • 0

#14 devil_dwight

    Zaawansowany

  • Użytkownik

  • Reputacja: -1
    Nowy

  • Postów:133
  • Lokalizacja:zg
Offline

Napisano 26.11.2011 22:07

nic nie podmieniaj.. wieksze sa errory niz przed podmiana
  • +
  • -
  • 0

#15 Najkon

    Profesjonalista

  • Autor tematu
  • Użytkownik

  • Reputacja: 60
    Pomocny

  • Postów:161
Offline

Napisano 27.11.2011 16:26

Dziwne, bo mi wyskakiwały errory .. pełno ich - po podmianie nic a nic, zero crashy :)
  • +
  • -
  • 0

#16 SoPelQ

    Banned

  • Zbanowany

  • Reputacja: 7
    Nowy

  • Postów:121
  • Lokalizacja:Utajnione
Offline

Napisano 30.12.2011 09:43

W ogóle nie chce mi się skompilować, wyskakuje error, z niezdefiniwanym symbolem ham_strip_weapon_short.

"error017:undefined symbol ham_strip_weapon_short"

Użytkownik lok301 edytował ten post 30.12.2011 09:43


#17 M&M's

    Życzliwy

  • Użytkownik

  • Reputacja: 28
    Życzliwy

  • Postów:30
  • Imię:Matt
  • Lokalizacja:AXE
Offline

Napisano 02.01.2012 16:11

*
Popularny

Ta łatka nic nie daje dalej errory :facepalm2: :facepalm2: :facepalm2: zapodam taką bez errorów ^D^
Pod:
new bool:freezetime = true;

Dodajemy:
new weaponname[22];


Podmieniamy cały
public CurWeapon(id)
na:
public CurWeapon(id)
{
if(!is_user_connected(id))
return;

new team = get_user_team(id);

if(team > 2)
return;

new bron = read_data(2);

new bronie = (bronie_klasy[klasa_gracza[id]] | bonusowe_bronie_gracza[id] | bronie_druzyny[team] | bronie_dozwolone);

if(!(1<<bron & bronie))
{
new param[2];
param[0] = id;
param[1] = bron;
set_task(0.1, "Strip", _, param, 2);
}

if(cs_get_user_shield(id) && !gracz_ma_tarcze[id])
engclient_cmd(id, "drop", "weapon_shield");

UstawSzybkosc(id);
}
public Strip(param[2])
{
if(is_user_alive(param[0]) && ( 1 <= param[1] <= 30) )
{
get_weaponname(param[1], weaponname, 21);
ham_strip_weapon(param[0], weaponname);
}
}


Pamiętajcie, aby na samym dole zostało:
stock ham_strip_weapon(id, weapon[])
{
if(!equal(weapon, "weapon_", 7) ) return 0
new wId = get_weaponid(weapon)
if(!wId) return 0
new wEnt
while( (wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname", weapon) ) && pev(wEnt, pev_owner) != id) {}
if(!wEnt) return 0

if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon, wEnt)

if(!ExecuteHamB(Ham_RemovePlayerItem, id, wEnt)) return 0
ExecuteHamB(Ham_Item_Kill ,wEnt)

set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<wId) )
return 1
}


Nie musicie dziękować :^D :^D :^D

Użytkownik M&M's edytował ten post 02.01.2012 16:12

  • +
  • -
  • 8
Kliknij
Dołączona grafikaIP:79.133.192.41:27036
Dołączona grafikaIP:79.133.192.41:27028
Dołączona grafika
IP:31.186.83.188:27040
Dołączona grafikaIP:79.133.192.45:27077
Dołączona grafika
IP:31.186.83.188:27047

#18 TSpeedGamerT

    Początkujący

  • Użytkownik

  • Reputacja: 0
    Nowy

  • Postów:19
  • Lokalizacja:polska
Offline

Napisano 18.06.2012 16:33

ładnie ale która metoda lepsza?? By M&M czy metoda by Najkon?
  • +
  • -
  • 0




  


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

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

Coinsy CSGOPolygon Za SMS, PSC , Przelew - CoinSell.pro
Skiny do CS:GO za SMS, PSC, Przelew - CSGOPaka.com
Automatyczny Bot Levelowania Steam - LVLUPSteam.com
CSGO Gambling Sites and Free Betting Codes - DreamCodes.gg

Logowanie


  • Potrzebujesz konta? Zarejestruj się!