Problem wygląda tak że plugin losuje po 1 osobie z temu i przyznaje jej hp a za zabicie takiej osoby dostaje sie bonusy.
Chciałem zrobić by osoba która wylosuje plugin dostala nie tylko HP ale tez extra skok tylko 1. Kiedy dodałem kawałek kodu i wrzuciłem na serwer okazało się że wszyscy maja extra skok.
Pytanie brzmi jak zrobić by tylko wylosowana osoba z temu dostala 1 extra skok.
Dodatkowo chciałbm dodać prefix przed nickiem takiej osobie i by serwer informował kto został wylosowany.
Jak mam to zrobić?
Oto kod.
#include <amxmodx> #include <amxmisc> #include <fun> #include <fakemeta> #include <cstrike> #include <hamsandwich> #include <ColorChat> new bool:mikolaj[33], skoki[33]; public plugin_init(){ register_plugin("Losowanie Mikolaja", "1.0", "Sniper Elite"); RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1); register_logevent("PoczatekRundy", 2, "1=Round_Start"); register_event("DeathMsg", "Death", "ade"); register_forward(FM_CmdStart, "CmdStart"); register_cvar("santa_hp", "50"); register_cvar("santa_armor", "200"); register_cvar("santa_frags", "2"); register_cvar("santa_money", "500"); } public Odrodzenie(id){ mikolaj[id] = false cs_reset_user_model(id) return PLUGIN_CONTINUE; } public PoczatekRundy(){ if(get_playersnum() >=4){ los_mikolaj_ct() los_mikolaj_tt() } } public Death() { new id = read_data(2); new attacker = read_data(1); if(!is_user_alive(attacker) || !is_user_connected(attacker)) return PLUGIN_CONTINUE; if(get_playersnum() >= 4){ if(mikolaj[id]){ set_user_frags (attacker, get_user_frags(attacker) + get_cvar_num("santa_frags")) cs_set_user_money (attacker,cs_get_user_money(attacker) + get_cvar_num("santa_money")) } } return PLUGIN_CONTINUE; } public CmdStart(id, uc_handle){ new flags = pev(id, pev_flags); if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){ --skoki[id]; new Float:velocity[3]; pev(id, pev_velocity,velocity); velocity[2] = random_float(265.0,285.0); set_pev(id,pev_velocity,velocity); } else if(flags & FL_ONGROUND && skoki[id]!=-1){ skoki[id] = 1; } } public los_mikolaj_ct(){ new players[32], num get_players(players, num); new rand = random_num(1,num) if(cs_get_user_team(rand) == CS_TEAM_CT && is_user_alive(rand)){ ColorChat(rand, BLUE, "Jestes Srebnym Graczem!!"); //skoki[id]=1; set_user_health (rand, get_user_health(rand) + get_cvar_num("santa_hp")) set_user_armor(rand, get_cvar_num("santa_armor")) mikolaj[rand] = true } else los_mikolaj_ct() return PLUGIN_CONTINUE; } public los_mikolaj_tt(){ new players[32], num get_players(players, num); new rand = random_num(1,num) if(cs_get_user_team(rand) == CS_TEAM_T && is_user_alive(rand)){ ColorChat(rand, RED, "Jestes Srebnym Graczem !!"); //skoki[id]=1; set_user_health (rand, get_user_health(rand) + get_cvar_num("santa_hp")) set_user_armor(rand, get_cvar_num("santa_armor")) mikolaj[rand] = true } else los_mikolaj_tt() return PLUGIN_CONTINUE; }