Zasłużony Fragowicz bolek_stw Opublikowano 12 Kwietnia 2015 Zasłużony Fragowicz Opublikowano 12 Kwietnia 2015 (edytowane) leży już długi czas, ktoś na cscenter mi go napisał plugin tworzy krąg-red/blue gdy ktoś podkłada/rozbraja pake , daje kasę(dla osób w tym kręgu) nie musicie mi dziękować ;) wszystko przerobiłem na colorchat, więc trzeba kompilować lokalnie z tą biblioteką sprites/white.spr do pobrania na necie ^^ #include <amxmodx> #include <fakemeta> #include <cstrike> #include <colorchat> #define PLUGIN "Asysta za bombe" #define VERSION "1.0" #define AUTHOR "ktos" #define DISTANCE 300 // odleglosc w UNITACH w ktorej gracze dostana bonus new planter,defuser,sprite_white public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("SendAudio", "award_defuse", "a", "2&%!MRAD_BOMBDEF") register_event("BarTime", "bomb_defusing", "be", "1=10", "1=5") register_logevent("award_plant", 3, "2=Planted_The_Bomb"); register_event("StatusIcon", "got_bomb", "be", "1=1", "1=2", "2=c4") } public plugin_precache() { sprite_white = precache_model("sprites/white.spr") } public got_bomb(id){ planter = id; return PLUGIN_CONTINUE } public award_plant() { give_near_bonus(planter,1) give_money(planter,600) ColorChat(planter,GREEN,"^x01** Dostales^x03 600$^x01 za podlozenie paki!") creat_blast(planter,255,100,100) } public bomb_defusing(id){ defuser = id; return PLUGIN_CONTINUE } public award_defuse() { give_near_bonus(defuser,2) give_money(defuser,600) ColorChat(defuser,GREEN,"^x01** Dostales^x03 600$^x01 za rozbrojenie paki") creat_blast(defuser,100,100,255) } stock give_near_bonus(id,type) { new on[3] new oni[3] get_user_origin(id,on) for(new i=0;i<32;i++) { if(is_user_connected(i) && is_user_alive(i) && get_user_team(i) == type && i!=id) { get_user_origin(i,oni) new g_Dist = get_distance(on,oni) if(g_Dist <= DISTANCE) { give_money(i,400) ColorChat(i,GREEN,"^x01** Dostales^x03 400$^x01 za asyste przy^x04 %s ^x01paki przez Twoja druzyne",(type == 1) ? "podkladaniu" : "rozbrajaniu") } } } } stock give_money(id,money) { new kasa = cs_get_user_money(id) if(kasa + money > 16000) cs_set_user_money(id,16000) else cs_set_user_money(id,kasa+money) } stock creat_blast(id,r,g,b) { new Float:forigin[3], origin[3] pev(id,pev_origin,forigin) FVecIVec(forigin,origin) message_begin(MSG_BROADCAST, SVC_TEMPENTITY, origin); write_byte(TE_BEAMCYLINDER); write_coord(origin[0]); write_coord(origin[1]); write_coord(origin[2]); write_coord(origin[0]); write_coord(origin[1] + DISTANCE); write_coord(origin[2] + DISTANCE); write_short(sprite_white); write_byte(0); // startframe write_byte(0); // framerate write_byte(10); // life write_byte(10); // width write_byte(255); // noise write_byte(r); // r, g, b // 200 write_byte(g); // r, g, b // 100 write_byte(b); // r, g, b // 100 write_byte(128); // brightness write_byte(5); // speed message_end(); } Edytowane 12 Kwietnia 2015 przez bolek_stw
Właściciel GET Opublikowano 12 Kwietnia 2015 Właściciel Opublikowano 12 Kwietnia 2015 new kasa = cs_get_user_money(id) if(kasa + money > 16000) cs_set_user_money(id,16000) else cs_set_user_money(id,kasa+money) najgorsza metoda, wystarczy: cs_set_user_money(id, min(kasa+money,16000))
Zasłużony Fragowicz bolek_stw Opublikowano 13 Kwietnia 2015 Autor Zasłużony Fragowicz Opublikowano 13 Kwietnia 2015 znacząco wpływa na działanie pluginu ?
Właściciel GET Opublikowano 13 Kwietnia 2015 Właściciel Opublikowano 13 Kwietnia 2015 To jest uproszczenie, min jest szybsze, bo wtedy wykonujesz jedną funkcję. A jak masz ify, to sprawdzasz, znowu sprawdzasz, coś robisz, a jeśli nie, to znowu coś. Trzy razy dłużej to trwa, sprawdź profilerem.
Właściciel GET Opublikowano 6 Czerwca 2017 Właściciel Opublikowano 6 Czerwca 2017 Wiadomość została wygenerowana automatycznie. Ten temat został oznaczony przez Moderatora jako spam i wyrzucony do -> archiwum. Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Rekomendowane odpowiedzi