[ŁATKA] Naprawa CurWeapon !
Najkon
11.11.2011
Cześć, DarkGL naprawił dla mnie CurWeapon - wcześniej tworzyło errory i crashowalo serwer a teraz działa.
Na początku pod
Następnie w silniku coda podmieniamy public CurWeapon(id)
na :
a następnie usuwamy na samym dole pluginu taki stock :
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
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
Najkon
11.11.2011
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
Wydawało mi się że jest to napisane prostym jezykiem :S
Użytkownik Najkon edytował ten post 11.11.2011 17:21
d0naciak
11.11.2011
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
Tylko napisz ze engine jest do tego potrzebny
Użytkownik d0n tHe Pr0oo edytował ten post 11.11.2011 19:17
Szymek^
11.11.2011
Czasem mam te błędy w logach. + za opublikowanie i podziękowania dla Rafała.
d0naciak
12.11.2011
No mi właśnie wcześniej crashowało, tylko że CheQ dał mi nieco inną łatkę, i ta jego chyba też działa

Najkon
12.11.2011
jakie crashe ? jakie errory ?
Pierwszy raz słysze o takim zdarzeniu
A takie, na czystym codzie bez niczego także pojawiają się crashe dotyczące CurWeapon :
ToRRent
13.11.2011
no cóż ja nie mam takich problemów
wystarczy amx zaktualizować do 1.8.2

MalutkiDuzy
25.11.2011
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
Nie polecam jak wam serwer crashujcie to naprawcie se według poradnika bład pobierz perk
lacia7
26.11.2011
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)

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)
Najkon
27.11.2011
Dziwne, bo mi wyskakiwały errory .. pełno ich - po podmianie nic a nic, zero crashy

SoPelQ
30.12.2011
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
"error017:undefined symbol ham_strip_weapon_short"
Użytkownik lok301 edytował ten post 30.12.2011 09:43
M&M's
02.01.2012
Ta łatka nic nie daje dalej errory
zapodam taką bez errorów 
Pod:
Dodajemy:
Podmieniamy cały
Pamiętajcie, aby na samym dole zostało:
Nie musicie dziękować
Użytkownik M&M's edytował ten post 02.01.2012 16:12




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ć



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