* Reverted npc_checknear to exclude check for class_ -1.

* Removed npc_checknear in npc_buysellsel, npc_selllist and npc_buylist as enough preventive measures of hacking are already implemented.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6370 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
Lance
2006-04-29 13:25:12 +00:00
parent d90c69d8a9
commit 2fc07bb1c8
3 changed files with 16 additions and 10 deletions

View File

@@ -979,8 +979,9 @@ int npc_checknear(struct map_session_data *sd,int id)
return 1;
}
if (nd->class_<0) // イベント系は常にOK
return 0;
// Reprecated, please do not uncomment this. [Lance]
//if (nd->class_<0) // イベント系は常にOK
// return 0;
// エリア判定
if (nd->bl.m!=sd->bl.m ||
@@ -1084,8 +1085,8 @@ int npc_buysellsel(struct map_session_data *sd,int id,int type)
nullpo_retr(1, sd);
if (npc_checknear(sd,id))
return 1;
//if (npc_checknear(sd,id))
// return 1;
nd=(struct npc_data *)map_id2bl(id);
if (nd->bl.subtype!=SHOP) {
@@ -1119,8 +1120,8 @@ int npc_buylist(struct map_session_data *sd,int n,unsigned short *item_list)
nullpo_retr(3, sd);
nullpo_retr(3, item_list);
if (npc_checknear(sd,sd->npc_shopid))
return 3;
//if (npc_checknear(sd,sd->npc_shopid))
// return 3;
nd=(struct npc_data*)map_id2bl(sd->npc_shopid);
if (nd->bl.subtype!=SHOP)
@@ -1213,8 +1214,8 @@ int npc_selllist(struct map_session_data *sd,int n,unsigned short *item_list)
nullpo_retr(1, sd);
nullpo_retr(1, item_list);
if (npc_checknear(sd,sd->npc_shopid))
return 1;
//if (npc_checknear(sd,sd->npc_shopid))
// return 1;
for(i=0,z=0;i<n;i++) {
int nameid;
if (item_list[i*2]-2 <0 || item_list[i*2]-2 >=MAX_INVENTORY)

View File

@@ -10898,9 +10898,10 @@ int run_script_main(struct script_state *st)
struct block_list *bl;
st->state = RUN;
if(st->oid && st->rid && (bl = map_id2bl(st->oid))){
if(bl->type == BL_PC){
// Perfomance impact, use buildin_doevent instead for interactive item scripts.
/*if(bl->type == BL_PC){
clif_sendfakenpc(((TBL_PC *)bl),dummy_npc_id);
} else if(bl->type == BL_NPC){
} else */if(bl->type == BL_NPC){
if(npc_checknear(((TBL_PC *)bl), bl->id))
clif_sendfakenpc(((struct map_session_data *)bl),st->oid);
}