* 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:
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user