Potrzebuje funkcji wywoływanej tylko i wyłącznie przy strzale
Można by ją wyłuskać z eventu:
register_event("CurWeapon", "ZmianaBroni","be", "1=1")
Na przykład po sprawdzeniu warunku czy liczba ammo w magu się pomniejszyła względem ostatniego wywołania funkcji, to dobry pomysł? Jakieś propozycje?
Z tego co znalazłem to:
#pragma semicolon 0
#include <amxmisc>
#include <fakemeta>
new iEvents[] = {20,12,18,17,23,24,15,10,11,22,13,21,14,16,27,28,4,6,3,7,8,9,2,1,5}
public plugin_init() {
register_plugin("Blokujemy dzwieki", "1.0", "DarkGL")
register_forward(FM_PlaybackEvent, "fwPlaybackEvent");
}
public Strzal(id){
//funkcja wywolywana tylko przy strzale
}
public fwPlaybackEvent( flags, id, eventindex,Float: delay, Float: origin[3], Float: angles[3], Float: fparam1, Float: fparam2, iparam1, iparam2, bparam1, bparam2) {
static bool:bFind
bFind=false;
for(new i = 0;i < sizeof iEvents;i++){
if(eventindex == iEvents[i]){
bFind = true;
break;
}
}
if(bFind)
Strzal(id);
return FMRES_IGNORED;
}
Trochę to przerobiłem i powiedzcie czy to ma sens? Po mojemu to ta funkcja zje procka, ale czy to zadziała zawsze i tylko przy strzale? Z góry dzięki za odp ![]()
Edit, lol nie można by było zapisać tej funkcji na przykład tak?
public fwPlaybackEvent( flags, id, eventindex,Float: delay, Float: origin[3], Float: angles[3], Float: fparam1, Float: fparam2, iparam1, iparam2, bparam1, bparam2) {
switch(eventindex){
case 0: return FMRES_IGNORED;
case 19: return FMRES_IGNORED;
case 25: return FMRES_IGNORED;
case 26: return FMRES_IGNORED;
}
if(eventindex<29)
Strzal(id);
return FMRES_IGNORED;
}
hmm, nie lepiej?
Jeszcze jeden edit, "#pragma semicolon 0", co to jest?
Użytkownik Ossal edytował ten post 17.05.2015 01:24


Dodatki SourceMod













