Jump to content

Lilith

Members
  • Posts

    407
  • Joined

  • Last visited

  • Days Won

    11

Everything posted by Lilith

  1. curlys - фигурная скобка. Где то упущена закрывающая фигурная скобка } infinity loop - не бесконечная петля, а бесконечный цикл
  2. Не в курсе, т.к. не использую. Следи по истории изменений здесь. Вроде как фиксы делают.
  3. 3CeAM
  4. Начнём с того, что revision 15067 не относится к данному проекту rathena. Вероятно у тебя eathena.
  5. Вероятные ошибки 1) НЕ .BMP формат, размер НЕ 24x24, глубина цвета НЕ 24 bit 2) Название сервера с пробелом 3) Не прокачано умение Глория (Guilds Glory) ?
  6. Забудь мой скрипт. НО в таком случае если карты 3 и более, то никакой эффект не проявляется... Вероятно тут нужна модификация исходников.
  7. Я конечно не проверял, но попробуй... должно работать function script GetCardCount { getinventorylist; for(set .@a,0; .@a < getarraysize(@inventorylist_id); set .@a,.@a+1){ if(@inventorylist_card1[.@a] == getarg(0)) set .@b,.@b+1; else if(@inventorylist_card2[.@a] == getarg(0)) set .@b,.@b+1; else if(@inventorylist_card3[.@a] == getarg(0)) set .@b,.@b+1; else if(@inventorylist_card4[.@a] == getarg(0)) set .@b,.@b+1; } deletearray @inventorylist_id[0],getarraysize(@inventorylist_id); deletearray @inventorylist_amount[0],getarraysize(@inventorylist_amount); deletearray @inventorylist_equip[0],getarraysize(@inventorylist_equip); deletearray @inventorylist_refine[0],getarraysize(@inventorylist_refine); deletearray @inventorylist_identify[0],getarraysize(@inventorylist_identify); deletearray @inventorylist_attribute[0],getarraysize(@inventorylist_attribute); deletearray @inventorylist_card1[0],getarraysize(@inventorylist_card1); deletearray @inventorylist_card2[0],getarraysize(@inventorylist_card2); deletearray @inventorylist_card3[0],getarraysize(@inventorylist_card3); deletearray @inventorylist_card4[0],getarraysize(@inventorylist_card4); deletearray @inventorylist_expire[0],getarraysize(@inventorylist_expire); return .@b; }
  8. Ну, во-первых скрипт приложеный не полный и только один, а тут ошибка не только в одном. Ошибки синтаксиса, где то не там поставил скобки, наверное....
  9. src/map/Makefile.in Add achievement.o in MAP_OBJ Add achievement.h in MAP_H
  10. На OnInit слабо поставить? Не внимательно ты смотришь... 1к шмоток тебе в любом случае придётся прописывать, что в скрипте, что в бд - разница то? Или нам за тебя всё писать надо? Помогли бы, если бы вы соизволили время выделить и не писать, что от нас 0 помощи. А если так, то шуруй сюда.
  11. Можешь вообще этот мод поставить и не запариваться EDIT: Ты думаешь тебе за пару часов напишут готовый вариант ?) У людей пятница, отдых. А в выходные отоспаться хочется =
  12. Возьми пример с файла mob_chat_db.txt и его код, немного подредактируй под себя. просто вместо твоего описания будет писаться например так: 25000,"Эта вещь даёт это","Можно выбить из монстра" 25001,"Эта вещь даёт это","Можно выбить из монстра" ...
  13. U can use this script: prontera,150,180,5 script Happy Hour EXP::HHE 100,{ OnWhisperGlobal: mes "[Happy Hour EXP]"; if(getgmlevel()>=.Access){ mes "Hello! What would you like to do?"; switch(select("Start the Floating Rates:Stop Event:Nothing")){ case 1: mes " "; mes "Cerrent Base Rate: "+getbattleflag("base_exp_rate")/100; mes "How much % you'd like to increase Base Rates?"; input .@BaseExp; next; mes "[Happy Hour EXP]"; mes "Cerrent Job Rate: "+getbattleflag("job_exp_rate")/100; mes "How much % you'd like to increase Job Rates?"; input .@JobExp; next; mes "[Happy Hour EXP]"; mes "New rates:"; mes "Base: "+((getbattleflag("base_exp_rate") / 100 *.@BaseExp + getbattleflag("base_exp_rate"))/100); mes "Job: "+((getbattleflag("job_exp_rate") / 100 * .@JobExp + getbattleflag("job_exp_rate"))/100); switch(select("Start:Close")){ case 1: setbattleflag "base_exp_rate",getbattleflag("base_exp_rate") / 100 *.@BaseExp + getbattleflag("base_exp_rate"); setbattleflag "job_exp_rate",getbattleflag("job_exp_rate") / 100 * .@JobExp + getbattleflag("job_exp_rate"); set .Event,1; initnpctimer; mes "Event started"; announce "Happy Hour EXP: Floating rates event started. New rates: Base - "+(getbattleflag("base_exp_rate")/100)+"x, Job - "+(getbattleflag("job_exp_rate")/100)+"x",0; close; break; default: close; } break; case 2: if(.Event == 1) goto L_STOP; else { mes "Event not started"; close; } break; default: close; } } else { mes "You aren't a GM."; close; } end; OnTimer3600000: // After 1 hour L_STOP: set .Event,0; stopnpctimer; setbattleflag "base_exp_rate",.DefaultBaseRates; setbattleflag "job_exp_rate",.DefaultJobRates; announce "Happy Hour EXP: The floating rates event have been ended. Rates back to the normal.",0; close; OnInit: set .DefaultBaseRates,getbattleflag("base_exp_rate"); set .DefaultJobRates,getbattleflag("job_exp_rate"); set .Access,80; // GM access lvl end; or whispers only script: - script HHE -1,{ end; OnWhisperGlobal: if(getgmlevel()<.Access) end; if(@whispervar0$ == "Start"){ if(.Event == 1){ dispbottom "Event already started"; end; } else { dispbottom "Input New Base Rate"; input .@BaseExp; dispbottom "Input New Job Rate"; input .@JobExp; setbattleflag "base_exp_rate",.@BaseExp*100; setbattleflag "job_exp_rate",.@JobExp*100; dispbottom "Event has been started."; initnpctimer; set .Event,1; announce "Happy Hour EXP: Floating rates event started. New rates: Base - "+.@BaseExp+"x, Job - "+.@JobExp+"x",0; } end; } if(@whispervar0$ == "Stop"){ if(.Event == 1) goto L_STOP; else dispbottom "Event not started."; end; } end; OnInit: set .DefaultBaseRates,getbattleflag("base_exp_rate"); set .DefaultJobRates,getbattleflag("job_exp_rate"); set .Access,80; // GM access lvl end; OnTimer3600000: // After 1 hour L_STOP: set .Event,0; stopnpctimer; setbattleflag "base_exp_rate",.DefaultBaseRates; setbattleflag "job_exp_rate",.DefaultJobRates; announce "Happy Hour EXP: The floating rates event have been ended. Rates back to the normal.",0; end; } npc:HHE Commands: Start, Stop. I forget about checking of started event. I fix it. Follow the links.
  14. LOL!!! Thx! Fixed.~
  15. Eden, wrong. You use global account variables... ~.~ Nokia, look this. I made two versions. Enjoy 1. Without %% rates increase. Link 2. With %% rates increase. Link P.S.: sorry, if my english is bad
  16. Это ни к чему было писать ) Решение уже прозвучало : убери import: npc/scripts_main.conf из scripts_main.conf
  17. It's? callsub OnBuyItem,7539,250,7227,50,5000000,"Zeny",30265,1,0;
  18. It works only with static IP addresses. Dynamic IP's will ignore this script.
  19. conf/battle/status.conf EDIT: 75
  20. Try ./configure --enable-64bit
  21. conf/battle/party.conf display_party_name: yes
  22. It doesn't help because problem in ехе file.
  23. The script returns card id of item even if the item isn't equipped. i think like ... getinventorylist; @inventorylist_card1, @inventorylist_card2 etc..
  24. Тоже раньше нужно было. По поводу использования умения 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]
  25. *setiteminfo(<item id>,<type>,<value>) setiteminfo 7049,6,999; // Stone now weighs 999
×
×
  • Create New...