Перейти к содержанию

Elmiria

Проверенные
  • Постов

    344
  • Зарегистрирован

  • Посещение

  • Победитель дней

    18

Весь контент Elmiria

  1. Elmiria

    МОТОР

    Если я правильно понимаю то тут нет проверки на вызывающего, то есть он может стоять где угодно? И как указывать значение .@xp и.@yp, чтобы не было фейлов, когда их действительно нет? UPD Все понял, дурак) Учимся читать скрипты))) Можно сие чудо сразу привязать к билетику, который с помощью меню и проверит на пати и нитки раскидает. И потом через него же или другой билет начать сам вызов с проверками на правильность звезды..
  2. мапфлаг гвг вроде ищи и убирай. (почто ты мапфлаги то повторяешь) И вообще прочитай про мапфлаги, что ты так ребенок то.
  3. Elmiria

    @costumitem

    Ну я примерно о том-же) Тож не поняла сложности в этом деле. А еще как вариант с выбором экипированной шапки под копирку. Обменялись плюсами XD
  4. Elmiria

    @costumitem

    О госпади чего проще - так это не давать игроку самому выбирать. Подумал за него, организовал магаз этих шапок. Все.
  5. Elmiria

    @costumitem

    Их можно ставить на вендинг, продавать нпц за зени, а также рисовать карты, которые вставляются в слот головы Ну если не давать никому таких привилегий а предоставить все неписю, который все проверит и возьмет денежку - то проблем быть не должно.
  6. Elmiria

    @costumitem

    А в чем беда с костюмами? Я пока не сталкивалась. Поделитесь опытом.
  7. Требуется верстка psd шаблона для флюкса. Писать сюда или в лс
  8. Спасибо. Я вот тоже хотела бы бров освоить, да все никак, а когда время было не смогла в нем разобраться чтоб хоть что либо наваять. Если (вдруг)есть у кого желание мне помочь, буду рада. Хотя пинок с сервером наверное актуальнее)
  9. Пока отложила, ибо концентрации надо много на него. Надо один баг выловить, а время сейчас свободное на ремонт уходит. А вчера муж смылся - сидела скучала, ничего не хотелось делать. Мне вообще очередной пинок нужен, чтоб сервер закончить. Все никак за эти мелочи не взяться. Да еще и магнум тянет время...
  10. Делать ничего не хочется, рисую. Набросок сделан еще очень давно в SAI, покраска Photoshop. Кому хоцца поглядеть на старую версию (на аве) вот Можно ругать, обсуждать, критиковать, хвалить, ставить плюсы и прочее. Ибо скучно мне.
  11. Я дурак или скрины одинаковые?) Ткните пальцем, где что меняется.
  12. те надо ставить две защиты - гуард и гармонь?! Гармони хватит, можешь Adelays еще сверху поставить. Либо подождать пока @ph1047 допилит свою защиту, и купить у него уже 3 месяца завтраками кормит(
  13. Первое. Ну неужели так сложно найти нужную информацию в гугле? там мильён ссылок на гайды на русском языке для создания сервера рагнарок. А если у тебя конкретная проблема ищи конкретное решение. Без какой-то конкретики никто тебе не сможет ответить. Второе. Никто тебя учить не будет, удивительно вообще как тебя не задушили раньше - ведь все тут конкуренты. Если не можешь справиться с такими (описанными тонну раз) простыми проблемами, что будет дальше? Третье. Всегда конкретизируй свои вопросы. У меня тоже ничего не работает, вот реши мою проблему попробуй...
  14. можно все что угодно). Хоть генератор лабиринтов написать (о чем я уже тоже думаю). Но у меня немного другая цель пока). Сначала закончить с тем что есть (там еще 18 пунктов, которые нужно реализовать), потом привлечь внимание к самой игре, а потом устраивать еженедельные/ежесмесячные соревнования, среди которых будет и эта игра. на данный момент пытаюсь заставить окров не ходить на занятые ячейки. Они упорно отказываются не ходить куда не надо) Наворотила такого, в чем сама уже с трудом разбираюсь XD
  15. Скорей всего я добавлю возможность играть вдвоем, как пока не знаю. Но такое поле можно использовать для многих игр, хоть шашки, хоть крестики нолики, хоть линии. Мечта змейку написать, но это пока выше моих возможностей) Причем не простую, а на несколько игроков. В общем идей гора, да только время ограниченно.
  16. о, вот теперь понятно) Не могу не поделиться. Первый геймовер) Еще не все фуннкции реализованы, да и орки должны будут умирать, куда им ходить некуда, но уже поиграться можно)
  17. Ну дык измените им скорость в ../db/mob_db.txt //flag parameter: //&1 -> 1/0 = easy/hard //&2 -> force walking //&4 -> Delay walking if the reason you can't walk is the canwalk delay Уже догадалась сама) Спасибо. Я правда все равно не поняла ничего) Ну главное что работает! Еще раз спасибо огромное!!!
  18. Мда, умная мысль приходит последней. У меня ж мобы планты не ходячие. То есть мне нужно чтоб они не двигалист, когда мне не нужно и двигались когда нужно) сейчас последний раз проверю, если не заходят, пойду править сорцы UPD ходить они конечно начали.... медленно... но абсолютно бесконтрольно, куда вздумается. будем глядеть, код то не дописан. UPD2 ходят подконтрольно. (была ошибка в скрипте) только побыстрее бы... таки вопрос за что двойка отвечает?
  19. в марше были нпсы, с ними в разы проще.
  20. Это было для дебага, вылавливала баги и ошибки логики. там часть над переделать, но смысл я поняла) 0, забыла убрать в последний раз. Там все равно в направлениях куева туча проверок убрана, из-за того, что мой эмуль отказывается работать с переменной перебора цикла. Мб канеш цикл по другому построить, но это будет уже когда основа заработает. Вообще у меня сейчас введена туча переменных, которые по хорошему не нужны. Либо для дебага, либо для наглядности. Но оптимизировать бум потом, как и убрать глобальные переменные. UPD принудительно заставила ходить своего чара вместо моба. сработало.... но почему мобы не хотят т__________т я не хочу уже все с начала начинать переделывать.....
  21. На данном этапе все переменные, которые передаются между функциями - глобальные - поэтому нет необходимости ничего вводить собственно не работает это и единственная переменная тут проверена, выдает верный GID unitwalk getd("$orc_"+.@k),117,80;
  22. Elmiria

    Unitwalk

    Пишу игру, в которой столкнулась с тысячью проблем. На данном этапе мне нужно заставить монстра передвигаться по квадратному полю (на одну клетку). Именно монстра, так как поле большое, и дублировать неписей под это дело нет никакого желания. Используется bg_monster, так как только он генерирует GID требуемый командой unitwalk. Проблема в том, что мобы отказываются ходить даже в заранее заданном направлении. Весь скрипт велик , поэтому выложу лишь значимые в данный момент части. генерация моба: if ($moblvl == 31) { set $@game[getarg(0)],30; set .m, getarraysize($@orcind); //debugmes " arraysize orcind "+getarraysize($@orcind)+" "; for (set .@j,0; .@j<81; set .@j,.@j+1) { //debugmes " elof orcind from j "+getelementofarray($@orcind,.@j)+" "; if (getelementofarray($@orcind,.m)==0); { set $@game[getarg(0)],30; set $@orcs[.m],.m; set $@orcind[.m],getarg(0); set $@orcx[.m],$x; set $@orcy[.m],$y; //debugmes " getarg0 "+getarg(0)+" "; //debugmes " cicle m "+.m+" "; //debugmes " elof orcs ot m "+getelementofarray ($@orcs,.m)+" "; //debugmes " elof orcx ot m "+getelementofarray ($@orcx,.m)+" "; //debugmes " elof orcy ot m "+getelementofarray ($@orcy,.m)+" "; //debugmes " elof orcind ot m "+getelementofarray ($@orcind,.m)+" "; setd "$orc_"+.m, bg_monster( 0, $mapname$,$x,$y,"Orc baby",2920+4000,""); //set $orc_1, bg_monster( 0, $mapname$,$x,$y,"Orc baby",2920+4000,""); debugmes " orc gid from m "+("$orc_"+.m)+" "+ getd("$orc_"+.m)+" "; debugmes " m "+.m+" "; //monster( $mapname$,$x,$y, "Orc baby",2920,1,""+.m+"::OnMywalkingmodead"); callfunc ("searchsimilar", @temp); } } } Функция передвижения моба //------------------------------------------------------ORCMOVE function script orcmove { //debugmes " arraysize orcind(f-n orcmove befor loop) "+getarraysize($@orcind)+" "; if (getarraysize($@orcind)>0 ){ set .@k,-1; for(set .@i,0; .@i<(getarraysize($@orcind)); set .@i,.@i+1) { set .@k,.@k+1; set .@b, 0; //debugmes " i(f-n orcmove) "+.@k+" "; //debugmes " elof orcind from i(f-n orcmove) "+.@b+" "; //debugmes " elof orcind from 0(f-n orcmove) "+getelementofarray($@orcind,0)+" "; //debugmes " arraysize orcind(f-n orcmove) "+getarraysize($@orcind)+" "; debugmes " k "+.@k+" "; //debugmes " elfo orcin from k "+getelementofarray($@orcind,.@k)+" "; if (getelementofarray($@game,getelementofarray($@orcind,.@k)+1) == 0) {setarray .@direction[.@b],1; set .@b,.@b+1;} if (getelementofarray($@game,getelementofarray($@orcind,.@k)-1) == 0) {setarray .@direction[.@b],2; set .@b,.@b+1;} if (getelementofarray($@game,getelementofarray($@orcind,.@k)+11) == 0) {setarray .@direction[.@b],3; set .@b,.@b+1;} if (getelementofarray($@game,getelementofarray($@orcind,.@k)-11) == 0) {setarray .@direction[.@b],4; set .@b,.@b+1;} debugmes " "+.@direction[0]+" "+.@direction[1]+" "+.@direction[2]+" "+.@direction[3]+" "; //debugmes " arrayysizy dirs "+getarraysize(.@direction)+" "; //debugmes " elof orcin from k "+getelementofarray($@orcind,.@k)+" "; //debugmes " elof game from elof orcin from k "+getelementofarray($@game,getelementofarray($@orcind,.@k)+1)+" "; if ( getelementofarray(.@direction,1) !=0 || getelementofarray(.@direction,2) !=0 || getelementofarray(.@direction,3) !=0 ) { //debugmes " "+.@direction[0]+" "+.@direction[1]+" "+.@direction[2]+" "+.@direction[3]+" "; set .@n, getarraysize(.@direction); //debugmes " arraysize dirs "+.@n+" "; set .@l, rand(0,.@n); //debugmes " rand from dirs "+.@l+" "; set .@r, getelementofarray(.@direction,.@l); //debugmes " el from rand from dirs "+.@r+" "; if (.@r == 1) { debugmes " random "+1+" "; set $@orcx[.@k],getelementofarray($@orcx,.@k)+1; debugmes " k "+.@k+" "; debugmes " orc "+("$orc_"+.@k)+" "+getd("$orc_"+.@k)+" "; //unitwalk getd("$orc_"+.@k),getelementofarray($@orcx,.@k),getelementofarray($@orcy,.@k); unitwalk getd("$orc_"+.@k),117,80; set $@game[getelementofarray($@orcind,.@k)],0; set $@orcind[.@k],getelementofarray($@orcind,.@k)+1; set $@game[getelementofarray($@orcind,.@k)],30; cleararray .@direction[0],0,getarraysize(.@direction); debugmes " done "; } else if (.@r == 2) { debugmes " random "+2+" "; set $@orcx[.@k],getelementofarray($@orcx,.@k)-1; debugmes " k "+.@k+" "; debugmes " orc "+("$orc_"+.@k)+" "+getd("$orc_"+.@k)+" "; //unitwalk getd("$orc_"+.@k),getelementofarray($@orcx,.@k),getelementofarray($@orcy,.@k); unitwalk getd("$orc_"+.@k),117,80; set $@game[getelementofarray($@orcind,.@k)],0; set $@orcind[.@k],getelementofarray($@orcind,.@k)-1; set $@game[getelementofarray($@orcind,.@k)],30; cleararray .@direction[0],0,getarraysize(.@direction); debugmes " done "; } else if (.@r == 3) { debugmes " random "+3+" "; set $@orcy[.@k],getelementofarray($@orcy,.@k)+11; debugmes " k "+.@k+" "; debugmes " orc "+("$orc_"+.@k)+" "+getd("$orc_"+.@k)+" "; //unitwalk getd("$orc_"+.@k),getelementofarray($@orcx,.@k),getelementofarray($@orcy,.@k); unitwalk getd("$orc_"+.@k),117,80; set $@game[getelementofarray($@orcind,.@k)],0; set $@orcind[.@k],getelementofarray($@orcind,.@k)+11; set $@game[getelementofarray($@orcind,.@k)],30; cleararray .@direction[0],0,getarraysize(.@direction); debugmes " done "; } else if (.@r == 4) { debugmes " random "+4+" "; set $@orcy[.@k],getelementofarray($@orcy,.@k)-11; debugmes " k "+.@k+" "; debugmes " orc "+("$orc_"+.@k)+" "+getd("$orc_"+.@k)+" "; //unitwalk getd("$orc_"+.@k),getelementofarray($@orcx,.@k),getelementofarray($@orcy,.@k); unitwalk getd("$orc_"+.@k),117,80; set $@game[getelementofarray($@orcind,.@k)],0; set $@orcind[.@k],getelementofarray($@orcind,.@k)-11; set $@game[getelementofarray($@orcind,.@k)],30; cleararray .@direction[0],0,getarraysize(.@direction); debugmes " done "; } } else { return; } //{ // set .@near,rand(3); //if .@near ==0 //if .@near ==1 //if .@near ==2 //if .@near ==3 //areamonster $mapname$,$x,$y,$x,$y,"Orc Baby",2920+4000,1,""+$j+"::OnMyWalkingMobDead"; //} } return; } else return; } вывод дебагов с консоли. [Debug]: script debug : 2000004 110386580 : done [Debug]: script debug : 2000004 110386580 : k 0 [Debug]: script debug : 2000004 110386580 : 2 3 4 0 [Debug]: script debug : 2000004 110386580 : random 3 [Debug]: script debug : 2000004 110386580 : k 0 [Debug]: script debug : 2000004 110386580 : orc $orc_0 110389158 [Debug]: script debug : 2000004 110386580 : done [Debug]: script debug : 2000004 110386580 : k 1 [Debug]: script debug : 2000004 110386580 : 1 2 3 4 [Debug]: script debug : 2000004 110386580 : random 4 [Debug]: script debug : 2000004 110386580 : k 1 [Debug]: script debug : 2000004 110386580 : orc $orc_1 110389160 [Debug]: script debug : 2000004 110386580 : done [Debug]: script debug : 2000004 110386580 : k 0 [Debug]: script debug : 2000004 110386580 : 1 2 3 4 [Debug]: script debug : 2000004 110386580 : random 3 [Debug]: script debug : 2000004 110386580 : k 0 [Debug]: script debug : 2000004 110386580 : orc $orc_0 110389158 [Debug]: script debug : 2000004 110386580 : done [Debug]: script debug : 2000004 110386580 : k 1 [Debug]: script debug : 2000004 110386580 : 1 2 3 4 eathena 15238 (вроде) модификации есть: костюмы, автобай, телепортменю и еще одна (возможно из-за нее все) для скрипта goddameit вроде, которая позволяет моба атаковать мобов(не работает, кстати) BUILDIN_FUNC(getmobxy) { int num, id; char *name; struct mob_data *md = NULL; TBL_PC *sd = st->rid?map_id2sd(st->rid):NULL; id = script_getnum(st,2); if(!(md = (struct mob_data *)map_id2bl(id)) || md->bl.type != BL_MOB || !data_isreference(script_getdata(st,3)) ){ script_pushint(st,0); return 0; } num=st->stack->stack_data[st->start+3].u.num; name=(char *)(str_buf+str_data[num&0x00ffffff].str); setd_sub(st,sd,name,0,(void *)(int)md->bl.x,script_getref(st,3)); setd_sub(st,sd,name,1,(void *)(int)md->bl.y,script_getref(st,3)); script_pushint(st,1); return 0; } // BUILDIN_DEF(getmobxy,"i*"),
×
×
  • Создать...
Яндекс.Метрика