[ROZWIĄZANE] Funkcja ktora zabija cały mój...
Bloody_
13.05.2012
Witam czy jest taka funkcja że po użyciu klasy/perku zabije cały mój team oprócz mnie z góry thx.
radim
13.05.2012
public cod_class_skill_used(id) { if(!is_user_connected(id) || !is_user_alive(id)) return PLUGIN_CONTINUE; new players[ 32 ], pnum, pid, team = get_user_team( id ); get_players( players, pnum, "a" ) for( new i; i < pnum; i++ ) { pid = pnum[ i ] if( get_user_team( pid ) == team ) cod_inflict_damage(id, pid, float(get_user_health(pid))+1.0, 0.0, 0, 1); } return PLUGIN_CONTINUE; }
Użytkownik radim edytował ten post 14.05.2012 07:37
Engi
13.05.2012
Żeby nie pisać nowego tematu jak to przerobić żeby zabijało cały przeciwny team?
radim
13.05.2012
Liczy to jak zabojstwo z rakiety/miny/dynamitu. A nie wiem czy wlicza się zabójstwa z rakiet itp. do ranku.
Engi
13.05.2012
Nie wlicza tzn jak wciśnie TAB to będzie pokazywało, że zabił ale jak wpisze /rank to nie będzie mu tam zaliczałoLiczy to jak zabojstwo z rakiety/miny/dynamitu. A nie wiem czy wlicza się zabójstwa z rakiet itp. do ranku.
Bloody_
13.05.2012
używam kompilacji lokalnej i mam takie cuś: Error: Invalid subscript (not an array or too many subscripts): "pnum" on line 166
Bloody_
14.05.2012
benio101 możesz zrobić tą funkcję ze zmianą którą dałeś powyżej bo Cię nie rozumię :S
Engi
14.05.2012
public cod_class_skill_used(id)
{
if(!is_user_connected(id) || !is_user_alive(id))
return PLUGIN_CONTINUE;
new players[ 32 ], pnum=31, pid, team = get_user_team( id );
get_players( players, pnum, "a" )
for( new i; i < pnum; i++ )
{
pid = pnum[ i ]
if( get_user_team( pid ) == team )
cod_inflict_damage(id, pid, float(get_user_health(pid))+1.0, 0.0, 0, 1);
}
return PLUGIN_CONTINUE;
}
G[o]Q
14.05.2012
po pierwsze benio pisze jakies glupoty jak zwykle po drugie pokaz caly kod a po trzecie warto dodac sprawdzanie czy team to nie spect
edit
blad w kodzie radima
na
Użytkownik G[o]Q edytował ten post 14.05.2012 12:49
edit
blad w kodzie radima
pid = pnum[ i ]
na
pid = players[ i ]
Użytkownik G[o]Q edytował ten post 14.05.2012 12:49
Bloody_
14.05.2012
kod: http://amxx.pl/wklejka/13369962380/ jak więc kompiluję lokalnie "kod radmima" nie BENIA to tu mi wykrywa błąd= pid = pnum[ i ]
sprawdzę bo widzę że edytowałeś posta
Nie działa kod radima + zmiana Goq'a kiedy wciskam e to MI zabiera hp...
sprawdzę bo widzę że edytowałeś posta
Nie działa kod radima + zmiana Goq'a kiedy wciskam e to MI zabiera hp...
Gość_21977_* 14.05.2012
Albo tak, zależy jaki chcesz uzyskać rezultat (ta funkcja po prostu zabija cały team gracza (id), oprócz niego samego):
public kill_my_team(id){
new maxpl=get_maxplayers();
new team=get_user_team(id);
if(team%3)
for(new i=1;i<=maxpl;++i)
if(i!=id && is_user_alive(i) && !is_user_hltv(i) && get_user_team(i)%3 && get_user_team(i)-team)
user_kill(i);
return PLUGIN_CONTINUE;
}
radim
14.05.2012
Po poprawkach moich i uwagach GoQ wyszedł oto taki kod, który powinien działać:
public cod_class_skill_used(id) { if(!is_user_connected(id) || !is_user_alive(id)) return PLUGIN_CONTINUE; new players[ 32 ], pnum, pid, team = get_user_team( id ); get_players( players, pnum, "a" ) for( new i; i < pnum; i++ ) { pid = players[ i ] if(cs_get_user_team(pid) == CS_TEAM_SPECTATOR) return PLUGIN_CONTINUE; if( get_user_team( pid ) == team ) user_kill(pid) } return PLUGIN_CONTINUE; }
sebul
14.05.2012
public cod_class_skill_used(id) {
if(!is_user_alive(id))
return;
new players[32], pnum, pid, i, team = get_user_team(id);
get_players(players, pnum, "a");
for(i=0; i<pnum; ++i) {
pid = players[i];
if(pid != id && get_user_team(pid) == team)
user_kill(pid, 1);
}
}
Co do sprawdzania czy gracz nie jest na spekcie, to przy zabijaniu całej swojej drużyny nie trzeba tego tutaj sprawdzać.
Bloody_
14.05.2012
sorka że tyle mam próśb ale czy mógłby ktoś jeszcze zrobić że jak użyję to zabija mnie, mój team, i wrogi team?.thx
sebul
14.05.2012
public cod_class_skill_used(id) {
if(!is_user_alive(id))
return;
new players[32], pnum, i;
get_players(players, pnum, "a");
for(i=0; i<pnum; ++i)
user_kill(players[i], 1);
}