[Ł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.
Edited by DarkGL, 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.
Edited by DarkGL, 12.11.2011 01:05.
Najkon
11.11.2011
Który public ?
Wydawało mi się że jest to napisane prostym jezykiem :S
Edited by Najkon, 11.11.2011 17:21.
Wydawało mi się że jest to napisane prostym jezykiem :S
Edited by Najkon, 11.11.2011 17:21.
d0naciak
11.11.2011
Dobra, to ja niezrozumiałem, + dla CB
Tylko napisz ze engine jest do tego potrzebny
Edited by d0n tHe Pr0oo, 11.11.2011 19:17.
Tylko napisz ze engine jest do tego potrzebny
Edited by d0n tHe Pr0oo, 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 :
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"
Edited by lok301, 30.12.2011 09:43.
"error017:undefined symbol ham_strip_weapon_short"
Edited by lok301, 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ć
Edited by M&M's, 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ć
Edited by M&M's, 02.01.2012 16:12.