UID12556
帖子
精華
主題
積分716089
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限255
註冊時間2007-9-5
在線時間 小時
最後登錄1970-1-1
TA的每日心情 | 開心 2019-8-18 04:57 PM |
---|
簽到天數: 2148 天 連續簽到: 1 天 [LV.Master]伴壇終老
|
放置炸彈,並遠距控引爆
http://www.tudou.com/programs/view/fomIRXlGw-A/?phd=99
http://www.youtube.com/watch?v=0DLD9DHKNNQ
2/3 機會放置 爆擊 黏彈
http://i.imgur.com/2oqnr.jpg
下載原始碼
下載技能圖檔補丁
db\mob_db2.txt - 2127,SOCCER_BALL,stickbomb,stickbomb,1,2000,0,0,0,1,0,0,0,0,1,1,1,1,1,1,1,1,0,3,86,0x0040,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
複製代碼 db\mob_avail.txtdata\lua files\skillinfoz\skillid.lua - STICKYBOMB = 999,
- STICKYBOMBBOMB = 998,
複製代碼 data\lua files\skillinfoz\skillinfolist.lua - [SKID.STICKYBOMB] = {
- "STICKYBOMB";
- SkillName = "STICKYBOMB",
- MaxLv = 10,
- SpAmount = { 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 },
- },
- [SKID.STICKYBOMBBOMB] = {
- "STICKYBOMBBOMB";
- SkillName = "STICKYBOMBBOMB",
- },
複製代碼 battle.c http://pastebin.com/....php?i=5VizNY5g
找到這函數 - int battle_calc_damage(struct block_l...
複製代碼 拉到尾端 - status_damage(src, s_bl, damage, 0, clif_damage(s_bl, s_bl, gettick(), 500, 500, damage, -1, 0, 0), 0);
- return ATK_NONE;
- }
- }
- }
- return damage;
- }
複製代碼 增加這段 - damage=stickybombdamage(src, bl, damage);
複製代碼 在這上面找空的地方曾個新函數 - int stickybombdamage(struct block_list *src, struct block_list *bl, int damage)
- {
- int _far=0, i=0;
- if(src->sbp==bl->sbp)
- return 0;
- for(i=0;i<=MAX_STICKYBOMB;i++)
- if(src->stickbomb!=-1)
- break;
- if(i==MAX_STICKYBOMB)
- damage = damage*3;
- else
- {
- _far = distance_xy(src->x,src->y,bl->x,bl->y)+1;
- _far = _far >= 10 ? 10 : _far ;
- damage = damage/_far;
- }
- return damage;
- }
複製代碼 map.c http://pastebin.com/....php?i=aKRM2P9V - pc_makesavestatus(sd);
- pc_clean_skilltree(sd);
- chrif_save(sd,1);
- unit_free_pc(sd);
- killstickybmob(sd,0); //Add
- return 0;
複製代碼 map.h http://pastebin.com/....php?i=UuyR67YF - struct block_list {
- struct block_list *next,*prev;
- int id, sbp; //Add
- short m,x,y;
- enum bl_type type;
- int stickbomb[MAX_STICKYBOMB]; //Add
- };
複製代碼 mmo.h - #define MAX_STICKYBOMB 8 //Add
複製代碼 pc.c http://pastebin.com/....php?i=H2zxukgJ
增新函數 - void killstickybmob(struct map_session_data* sd, int t)
- {
- struct block_list *mb = NULL;
- int i=0;
- if(sd==NULL)
- return;
- for(;i <= MAX_STICKYBOMB ;i++)
- {
- mb=map_id2bl(sd->bl.stickbomb);
- if(mb!=NULL)
- if(!t)
- status_kill(mb);
- else
- unit_skilluse_id(mb, mb->id, 173, 1);
- else
- continue;
- }
- return;
- }
複製代碼 pc.h
加個定義 - void killstickybmob(struct map_session_data* sd, int t);
複製代碼 skill.c http://pastebin.com/....php?i=4dGTqDri
增新函數- void _STICKYBOMB(struct block_list *src, struct block_list *bl, int skillid, int skilllv)
- {
- int _x=0, _y=0, i=0, id=0;
- struct block_list *mb = NULL;
- switch(unit_getdir(bl))
- {
- case 0: _x = 0; _y = 1; break;
- case 1: _x = -1; _y = 1; break;
- case 2: _x = -1; _y = 0; break;
- case 3: _x = -1; _y = -1; break;
- case 4: _x = 0; _y = -1; break;
- case 5: _x = 1; _y = -1; break;
- case 6: _x = 1; _y = 0; break;
- case 7: _x = 1; _y = 1; break;
- }
- _x = _x*(skilllv-1);
- _y = _y*(skilllv-1);
- clif_skill_nodamage(src,bl,skillid,skilllv,0);
- id=mob_once_spawn(BL_CAST(BL_PC, src),src->m,src->x+_x,src->y+_y,"StickBomb",2127,1,"");
- src->sbp++;
- if(src->sbp==MAX_STICKYBOMB)
- src->sbp=0;
- mb=map_id2bl(src->stickbomb[src->sbp]);
- if(mb!=NULL)
- unit_skilluse_id(mb, mb->id, 173, 1);
- src->stickbomb[src->sbp]=id;
- mb=map_id2bl(src->stickbomb[src->sbp]);
- mb->sbp=src->id;
- if(rand()%3)
- {
- for(i=0;i<MAX_STICKYBOMB;i++)
- mb->stickbomb=-1;
- clif_specialeffect(mb, 47,AREA);
- }else
- for(i=0;i<MAX_STICKYBOMB;i++)
- mb->stickbomb=0;
- return;
- }
複製代碼 到這函數底下 - int skill_castend_nodamage_id
複製代碼 找到這個增加這些 - case STICKYBOMB:
- _STICKYBOMB(src, bl, skillid, skilllv);
- break;
- case STICKYBOMBBOMB:
- clif_skill_nodamage(src,bl,skillid,skilllv,0);
- killstickybmob(map_id2sd(src->id),1);
- break;
複製代碼 skill.h - enum e_skill {
- STICKYBOMB = 999, //Add
- STICKYBOMBBOMB = 998, //Add
- NV_BASIC = 1,
複製代碼 db\skill_cast_db.txt - 999,0,0,1000:1500:2000:2500:3000:3500:4000:4500:5000:5500,0,0,0 //Add
複製代碼 db\skill_require_db.txt - 999,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //STICKYBOMB //Add
- 998,0,0,10,0,0,0,99,0,0,none,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //STICKYBOMBBOMB //Add
複製代碼 |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?註冊
x
|