Gavard Опубликовано 19 января, 2015 Жалоба Поделиться Опубликовано 19 января, 2015 (изменено) всем привет. скажите пожалуйста как правильно прописать скрипт в шмотке, чтобы при ее одевании призывался монстр ( Бафомет например ), а при заточке например +7 - 2 бафомета и при снятии шмотки монстры пропадали и скажите пожалуйста в чем тут проблема? это происходит при команде @summon 1002 или где взять нормальную AI.lua Изменено 19 января, 2015 пользователем Gavard 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
medlmen Опубликовано 19 января, 2015 Жалоба Поделиться Опубликовано 19 января, 2015 Питомец? Ссылка на комментарий Поделиться на другие сайты Поделиться
Gavard Опубликовано 19 января, 2015 Автор Жалоба Поделиться Опубликовано 19 января, 2015 да как питомец, но не пассивный, а чтоб в пвп зонах, гв, фарме и мог бить 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Kubix! Опубликовано 20 января, 2015 Жалоба Поделиться Опубликовано 20 января, 2015 // Structure of Database:// ID,AegisName,Name,Type,Buy,Sell,Weight,ATK,DEF,Range,Slots,Job,Upper,Gender,Loc,wLV,eLV,Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script } Тебе нужно следующее: { OnEquip_Script },{ OnUnequip_Script } призывать с помощью *summon "Monster name",<monster id>{,<Time Out>{,"event label"}}; убивать наверно с *killmonster "<map name>","<event label>"{,<type>}; хотя на счет убивать неуверен Ссылка на комментарий Поделиться на другие сайты Поделиться
Gavard Опубликовано 21 января, 2015 Автор Жалоба Поделиться Опубликовано 21 января, 2015 вопрос модераторам, зачем удалили посты ?и Кубикс, ты хоть проверял что написал? 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Nurkz Опубликовано 22 января, 2015 Жалоба Поделиться Опубликовано 22 января, 2015 В item_db, в поле OnEquip_Script и OnUnequip_Script соответственно пишем:callfunc("f_mySummon",1,EQI_HEAD_TOP); //вызываемиcallfunc("f_mySummon",0,EQI_HEAD_TOP); //убиваемСоздаем скриптовый файл и пишем туда следующее:function script f_mySummon { function f_checkSummon; function f_checkRefine; set summonRefine,(summonRefine?(f_checkSummon()?summonRefine:0):(getarg(1)?getequiprefinerycnt(getarg(1)):0)); switch(getarg(0)?getarg(0):0) { Default: case 0: if( f_checkSummon() ) { for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 ) killmonster strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i; set summonRefine, 0; } break; case 1: if( f_checkSummon() ) dispbottom "You already have "+f_checkRefine(summonRefine)+" summons.",0; else if( f_checkRefine(summonRefine) ) { for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 ) summon getmonsterinfo(1399,0),1399,86400000,"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i; } break; } end; function f_checkSummon { for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 ) { if( mobcount(strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i) ) return 1; } return 0; } function f_checkRefine { switch(getarg(0)) { case 5: case 6: set .@i, 1; break; case 7: case 8: case 9: set .@i, 2; break; case 10: set .@i, 3; break; Default: set .@i, 0; break; } return .@i; }}Должно работать.@Gavard Нужны скриншоты ошибки из item_db. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Gavard Опубликовано 22 января, 2015 Автор Жалоба Поделиться Опубликовано 22 января, 2015 этот скрипт не работает, но и ошибки не выдаетно старый скрипт работаеfunction script f_mySummon {function f_checkSummon;function f_checkRefine;set summonRefine, (summonRefine?summonRefine:getequiprefinerycnt(getarg(1)));switch(getarg(0)?getarg(0):0){Default:case 0:if( f_checkSummon() ){for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 )killmonster strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i;set summonRefine, 0;}break;case 1:if( f_checkSummon() )dispbottom "You already have "+f_checkRefine(summonRefine)+" summons.",0;else{for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 )summon getmonsterinfo(1062,0),1062,-1,"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i;}break;}end;function f_checkSummon {if( mobcount(strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x1") ||mobcount(strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x2") )return 1;elsereturn 0;}function f_checkRefine {switch(getarg(0)){case 7:case 8:case 9:case 10:set .@i, 2;break;Default:set .@i, 1;break;}return .@i;}}только надо изменить жизнь моба до получаса и чтоб заточка влияла на колличество призваных мобов (+5 - 1, +8 - 2, +10 - 3) 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Nurkz Опубликовано 23 января, 2015 Жалоба Поделиться Опубликовано 23 января, 2015 По порядку, что, где и как писал/делал, что именно не работает?Только что проверял на тестовом сервере, все идеально работает 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Clown Опубликовано 23 января, 2015 Жалоба Поделиться Опубликовано 23 января, 2015 этот скрипт не работает, но и ошибки не выдаетно старый скрипт работаеfunction script f_mySummon {function f_checkSummon;function f_checkRefine;set summonRefine, (summonRefine?summonRefine:getequiprefinerycnt(getarg(1)));switch(getarg(0)?getarg(0):0){Default:case 0:if( f_checkSummon() ){for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 )killmonster strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i;set summonRefine, 0;}break;case 1:if( f_checkSummon() )dispbottom "You already have "+f_checkRefine(summonRefine)+" summons.",0;else{for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 )summon getmonsterinfo(1062,0),1062,-1,"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i;}break;}end;function f_checkSummon {if( mobcount(strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x1") ||mobcount(strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x2") )return 1;elsereturn 0;}function f_checkRefine {switch(getarg(0)){case 7:case 8:case 9:case 10:set .@i, 2;break;Default:set .@i, 1;break;}return .@i;}}только надо изменить жизнь моба до получаса и чтоб заточка влияла на колличество призваных мобов (+5 - 1, +8 - 2, +10 - 3)Ставь проверки на заточку предмета и вызывай 2 монстра.Если ты новичок, то это не означает что за тебя будут делать!Копайся в доках, там много чего полезного для новичков есть. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Gavard Опубликовано 23 января, 2015 Автор Жалоба Поделиться Опубликовано 23 января, 2015 По порядку, что, где и как писал/делал, что именно не работает?Только что проверял на тестовом сервере, все идеально работаетВ item_db, в поле OnEquip_Script и OnUnequip_Script соответственно пишем:callfunc("f_mySummon",1,EQI_HEAD_TOP); //вызываемиcallfunc("f_mySummon",0,EQI_HEAD_TOP); //убиваемРаботаетНо скрипт который ставится в NPC папке не подходитввел самый первый скрипт что ты написалfunction script f_mySummon {function f_checkSummon;function f_checkRefine;set summonRefine, (summonRefine?summonRefine:getequiprefinerycnt(getarg(1)));switch(getarg(0)?getarg(0):0){Default:case 0:if( f_checkSummon() ){for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 )killmonster strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i;set summonRefine, 0;}break;case 1:if( f_checkSummon() )dispbottom "You already have "+f_checkRefine(summonRefine)+" summons.",0;else{for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 )summon getmonsterinfo(1062,0),1062,-1,"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i;}break;}end;function f_checkSummon {if( mobcount(strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x1") ||mobcount(strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x2") )return 1;elsereturn 0;}function f_checkRefine {switch(getarg(0)){case 7:case 8:case 9:case 10:set .@i, 2;break;Default:set .@i, 1;break;}return .@i;}}и он подошел, но вызывается 1 поринг не зависимо от заточки и жизнь моба не более минуты. beez0 ответь мне в скайпе, может быстрее разберемся)как и обещал, отблагодарю) 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
hakilo Опубликовано 23 января, 2015 Жалоба Поделиться Опубликовано 23 января, 2015 тебе же написали надо summon getmonsterinfo(1062,0),1062,-1,"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i;поменять на summon getmonsterinfo(1062,0),1062,86000000,"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i;и напиши как у тебя в итем ДБ это дело выглядит и тебе помогут. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Gavard Опубликовано 23 января, 2015 Автор Жалоба Поделиться Опубликовано 23 января, 2015 тебе же написали надоsummon getmonsterinfo(1062,0),1062,-1,"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i;поменять наsummon getmonsterinfo(1062,0),1062,86000000,"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i;и напиши как у тебя в итем ДБ это дело выглядит и тебе помогут.с этими скриптами в интем_дб моб не призывается! 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
hakilo Опубликовано 23 января, 2015 Жалоба Поделиться Опубликовано 23 января, 2015 Блин кинь мне свой скрипт на якндекс или куда угодно и кинь итемдб где у тебя прописана вещь и кинь ссылку я сейчас тебе сделаю 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Gavard Опубликовано 23 января, 2015 Автор Жалоба Поделиться Опубликовано 23 января, 2015 отправил в пм 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Gavard Опубликовано 23 января, 2015 Автор Жалоба Поделиться Опубликовано 23 января, 2015 разобрались, спасибо большое hakilo и beez0 если кому нужно, отпишите, скину скрипты! 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ggRo Опубликовано 5 марта, 2015 Жалоба Поделиться Опубликовано 5 марта, 2015 Скинь плиз в пм. За ранее спасибо) Ссылка на комментарий Поделиться на другие сайты Поделиться
Gavard Опубликовано 6 марта, 2015 Автор Жалоба Поделиться Опубликовано 6 марта, 2015 Скинь плиз в пм. За ранее спасибо)Вечером 1 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения