Тоже раньше нужно было.
По поводу использования умения NPC'ом :
Я использовал код от Kenpachi
Index: src/map/script.c =================================================================== --- src/map/script.c (revision 14801) +++ src/map/script.c (working copy) @@ -14853,6 +14853,56 @@ } +// [Kenpachi] +// GetNPCInfo(type{, "NPCname"}); +BUILDIN_FUNC(getnpcinfo) +{ + struct npc_data *nd; + + if(script_hasdata(st, 3)) + { + nd = npc_name2id(script_getstr(st, 3)); + if(nd == NULL) + { + ShowError("getnpcgid: NPC not found: %sn", script_getstr(st, 3)); + script_pushint(st, -1); + return 0; + } + } + else + nd = (struct npc_data *)map_id2bl(st->oid); + + switch(script_getnum(st, 2)) + { + case 0: // map + script_pushstrcopy(st, map[nd->bl.m].name); + break; + case 1: // x + script_pushint(st, nd->bl.x); + break; + case 2: // y + script_pushint(st, nd->bl.y); + break; + case 3: // view direction + script_pushint(st, nd->ud.dir); + break; + case 4: // sprite id + script_pushint(st, nd->class_); + break; + case 5: // GID + script_pushint(st, nd->bl.id); + break; + case 6: // type + script_pushint(st, nd->subtype); + default: + script_pushint(st, -1); + break; + } + + return 0; +} + + // declarations that were supposed to be exported from npc_chat.c #ifdef PCRE_SUPPORT BUILDIN_FUNC(defpattern); @@ -15255,5 +15305,8 @@ BUILDIN_DEF(checkquest, "i?"), BUILDIN_DEF(changequest, "ii"), BUILDIN_DEF(showevent, "ii"), + + BUILDIN_DEF(getnpcinfo, "i?"), // [Kenpachi] + {NULL,NULL,NULL}, }; [/codeBOX] [font=verdana,geneva,sans-serif]unitskilluseid getnpcinfo(5),489,5,getcharid(3); // CG_TAROTCARD,Tarot Card of Fate[/font] [font=verdana,geneva,sans-serif]Вся проблема в том, что умения, наносящие урон, зависят от параметров ( атк, стр ну и пр. ), а у непися статов нет =[/font]