Page 1 of 2

Bomb Plant/Defuse Assist

Posted: 2013 Oct 13 19:26
by xFrostas
Bomb Plant/Defuse Assist


Aprašymas
Pluginas prideda naują galimybę, kai žaidėjas deda/minuoja bombą šalia esantys (pagal tam tikrą atstumą, reguliuojama su cvar) komandos nariai gauna apdovanojimus.

Cvars
Plant_Assist_AliveReq // Kiek reikia gyvų CT, kad apdovanoti teroristus už bombos padėjimo asistavimą? (Numatyta: 3)
Defuse_Assist_AliveReq // Kiek reikia gyvų T, kad apdovanoti policininkus už bombos išminavimo asistavimą? (Numatyta: 3)

Plant_Assist_Distance // Toliausias atstumas nuo bombos dejėjo, gauti apdovanojimams (Numatyta: 500)
Defuse_Assist_Distance // Toliausias atstumas nuo bombos minuotojo, gauti apdovanojimams (Numatyta: 500)

Plant_Assist_Award // Bombos padėjimo apdovanojimas asistentams. 1 - Taškai; 2 - Pinigai (Numatyta: 2)
Defuse_Assist_Award // Bombos išminavimo apdovanojimas asistentams. 1 - Taškai; 2 - Pinigai (Numatyta: 2)

Plant_Assist_Reward // Bombos padėjimo asistentų apdovanojimo kiekis (Numatyta: 400)
Defuse_Assist_Reward // Bombos išminavimo asistentų apdovanojimo kiekis (Numatyta: 400)

Kreditai
OneEyed - už admin_check plugino žaidėjų sąrašą
Phant - už keleta naujų pasiūlymų

Atkreipkite dėmesį į tai, kai keičiate apdovanojimus ir jų kiekį, kad išvengtumėte pvz. gauti 400 taškų arba 1$ už asistavimą.

Re: Bomb Plant/Defuse Assist

Posted: 2013 Oct 13 20:58
by MPD
Iš ties įdomus pluginas. Jau dabar įsivaizduoju kaip vienas kitam mėtys bombas, kad tik nereiktų minuoti ir guatų pinigų už stovėjimą šalia :D
Toks dalykas užkabino mano akį:

Code: Select all

 else if (get_pcvar_num(Cvar_Plant_Assist_Award) == 2)            {                cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(Cvar_Plant_Assist_Reward))                 CheckMoney(id, get_pcvar_num(Cvar_Plant_Assist_Reward))            }
ir

Code: Select all

stock CheckMoney(id, Reward){    new Money = cs_get_user_money(id)    Money += Reward     if (Money > MaxMoney)        cs_set_user_money(id, MaxMoney)    else        cs_set_user_money(id, Money)}
Taip gaunasi, kad 2 kartus pridedi rewardą.
Tas pats liečia ir bomb_defused funkcijoje.

Re: Bomb Plant/Defuse Assist

Posted: 2013 Oct 13 21:02
by xFrostas
Vėliau žadu padaryti ir minuotojui/plantintojui atlygį.

Edit, pats susimaišiau :D viskas ten gerai, ta funckija tik patikrina pinigus, jei jų yra > 16000 padaro lygiai 16000. Tik else nereikia.

Re: Bomb Plant/Defuse Assist

Posted: 2013 Oct 13 21:11
by MPD
Tai, kad ne.
Tarkim turim 15400 pinigėlių. Pradžiai prideda 400 pinigėlių prie turimos sumos -> 15800. Tada iššaukiamas tikrinimas (tarkim be else). Paimamos turimos kapeikos -> 15800, o tada prie turimų vėl pridedama 400 -> 16200. Patikrina ar daugiau už 16000 ir jei daugiau, tai nustato maksimalią sumą -> 16000. Išeina taip: turi 15400, o kai gauni rewardą 400 turi 16000. Tau nereikia ne else dalies, o cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(Cvar_Plant_Assist_Reward))

Re: Bomb Plant/Defuse Assist

Posted: 2013 Oct 13 21:15
by xFrostas
Šiaip else panaikinus, viskas susitvarko, bet geriau padarysiu kaip sakai, taip bus paprasčiau, viskas vienoje vietoje.

Re: Bomb Plant/Defuse Assist

Posted: 2013 Oct 14 03:03
by xuzy
Esu naudojas kill assist pluginą, tikrai patiko, reikės išbandyt ir šitą.

Ačiū

Re: Bomb Plant/Defuse Assist

Posted: 2013 Oct 14 10:52
by newb

Code: Select all

for (new id = 1; id <= MaxPlayers; id++)    {        if (is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T && id != Planter && get_entity_distance(Planter, id) <= get_pcvar_num(Cvar_Plant_Assist_Distance))        ...
Kodel nedarai su get_players ?

Kiek atsimenu

Code: Select all

set_user_frags(id, get_user_frags(id) + get_pcvar_num(Cvar_Plant_Assist_Reward))
Nieko i statistika neiraso, tai neidomu gaut tuos fragus tik i scoreboarda ^_^

Tikrinimas pinigu irgi nieko nedaro, gi pasibaige raundas/greit pasibaigs ir pinigu bus 16k. Cso nezaidziau jau labai senai, bet man rodos ten uz nuzudyma duodavo pinigu kai buvo 16k, tai cia tas pats. Nors tau sprest.

Galima padaryti, kad butu cvarai pinigu ir fragu, o ne awardo. Gal kas nors nori duoti ta ir ta, o 0 butu atjungimas.

Re: Bomb Plant/Defuse Assist

Posted: 2013 Oct 14 12:31
by alfre
Su tokiu kodu nebent susidegint...

Re: Bomb Plant/Defuse Assist

Posted: 2013 Oct 14 13:49
by psychical
Mano akimis:
52-59 eil. siūlyčiau naudoti switch()
54 ir 108 eil. tik "scoreboard'e" parodai kad gauna, o į statistika tai neįeina. (sakė newb)
beje kodėl bomb_defused(Defuser)/bomb_planted(Planter) darai du ciklus, kai galima apsieiti su vienu?

Taip pat patarčiau padaryt 3 pasirinkimą kad duotų ir Frag ir Money.

---------------
alfre wrote:Su tokiu kodu nebent susidegint...
Geriau patylėtum, pačio kodų skaityt neįmanoma...

Re: Bomb Plant/Defuse Assist

Posted: 2013 Oct 14 13:59
by aaarnas
Jis įspėjimą gavo už tai.