Когда понимаешь, что и как - мозг не спекается, тем более я на программюгу учусь, мне полезно мозг по напрягать. Как ты мог понять из предыдущих моих постов - скрипт почти закончен, то есть как буду лома обмозгую все еще раз и придумаю, как воплотить пару штук в скрипте или заменить на другие, но чтоб получить то, что я хочу. В общем я так понимаю тут нет никого, кто понимает скрипты, в таком случае, придется работать только своей головой. Бросить эту затею? Фигушки, если Егор одобрит, будет кавай =)
Ну, я немножко разбираюсь. Но я так, начинающий скриптер)) На данный момент я написал только 2 скрипта: шляпник и стилист)) Так а что тебе не удалось воплотить? мб смогу помочь)) З.Ы. Шляпника могу скинуть если надо, но он делан под лоу рейт, так что надо поставить лут на шапки ~ в 10 раз больше. На данный момент шапки и лут таковы:
это то тут причем, шляпник - болтающий нпс, а мне они наф не нужны пока, не в этом загвоздка. Мне нужна проверка имени поринга, если он назван скриптом, у меня выдает значение 0. Если не получится Взять имя, то нужно думать над другим способом реализации, например присваивания каждому именованому порингу и его Именному"владельцу" номер и через номер поринга кикать владельца или давать ему пк. Или через Массивы, блин можно циклом, но я фиг знает еще как, все эти идеи работать не будут(потому что бред это), чувство скрипта у меня уже появилось, и нет альтернативы пока( В общем большой стопор, пока умные люди не подскажут хоть что нибудь подходящее...
это был оффтоп в постскриптуме. просто про шляпникак помнится тему создавали, вот и написал)) Ну, попробую покаопать, мб чего и найду...
Удачи тебе могу поточнее написать строчку которая не катит если надо, но без части скрипта она бессмысленна, выложу куданить свой временный скрипт, как до него доберусь. strcharinfo(0)==strmobinfo(0,1002) Вроде так. Может вместо 0 другое поставить, но я уже многое перепробовала, 0 выводит и все тут( Надо немного поновому придумать эту проверку на имя чара==имя поринга... но как... ладно мож придумаю чего. Тут половина шапок из шопа ...
Сегодня точно не будет последней версии скрипта, только без этой проверки есть, поэтому или завтра или в ближайшее время. Или если в городе буду, то попробую написать эту часть заново.
Code: //pvp_n_1-1 mapflag nopvp //pvp_y_8-1 mapflag nopvp pvp_n_1-1 mapflag noskill pvp_y_8-1 mapflag noskill pvp_y_8-1 mapflag nosave SavePoint pvp_n_1-1 mapflag nosave SavePoint pvp_y_8-1 mapflag pvp off pvp_n_1-1 mapflag pvp off pvp_y_8-1 mapflag nopenalty pvp_n_1-1 mapflag nopenalty pvp_y_8-1 mapflag nomemo pvp_n_1-1 mapflag nomemo pvp_y_8-1 mapflag noloot pvp_n_1-1 mapflag noloot pvp_y_8-1 mapflag noexp pvp_n_1-1 mapflag noexp pvp_y_8-1 mapflag nobranch pvp_n_1-1 mapflag nobranch pvp_y_8-1 mapflag noteleport pvp_n_1-1 mapflag noteleport prontera,1,1,0 script Event_warper -1,{ //OnClock <2><00>: OnInit: //while(1) initnpctimer; setnpctimer 0; //donpcevent "#Event_warp::OnHide"; disablenpc "#Event_warp"; disablenpc "#Event_warp2"; end; OnTimer1000: announce " 1",16; end; OnTimer5000: announce "2",16; end; OnTimer10000: announce "3",16; end; OnTimer15000: announce "4.",16; end; OnTimer20000: set $@event,1; enablenpc "#Event_warp"; donpcevent "#Event_warp::OnUnhide"; announce "Варп открыт на 15 секунд. Спешите!",16; end; OnTimer35000: set $@event,0; donpcevent "#Event_warp::OnHide"; disablenpc "#Event_warp"; end; OnTimer36000: set $@event,2; enablenpc "#Event_warp2"; donpcevent "#Event_warp2::OnUnhide"; mapannounce "pvp_n_1-1","Варп открыт на 15 секунд. Спешите!",bc_map; end; OnTimer51000: set $@event,0; donpcevent "#Event_warp2::OnHide"; disablenpc "#Event_warp2"; end; //} //pvp_y_8-1,1,1,0 script Event#summoner -1,{ //initnpctimer; set $PoringMastKilled, mobcount("pvp_y_8-1","Event_warper::OnRealPoringDead"); OnTimer52000: mapannounce "pvp_y_8-1","Обьявление правил игры",bc_map; end; OnTimer57000: mapannounce "pvp_y_8-1","Обьявление правил игры2",bc_map; end; OnTimer62000: mapannounce "pvp_y_8-1","Обьявление правил игры3",bc_map; end; OnTimer67000: mapannounce "pvp_y_8-1","Все понятно? Тогда начинаем!",bc_map; end; OnTimer68000: monster "pvp_y_8-1",0,0,"Pori Pori Pori",1002,1000,"Event_warper::OnFakePoringDead"; monster "pvp_y_8-1",0,0,"Poring",1002,1000,"Event_warper::OnRealPoringDead"; //monster "pvp_y_8-1",0,0,@strcharinfo,1002,1000,"Event_warper::OnNamedPoringDead"; end; //announce "Hey, "+strcharinfo(0)+" just killed a Poring!",bc_blue|bc_all; OnTimer90000: mapannounce "pvp_y_8-1","Время вышло!",bc_map; end; OnTimer99000: mapannounce "pvp_y_8-1","Надеюсь Вам было весело! Приходите ещё!",bc_map; end; OnTimer100000: areawarp "pvp_y_8-1",1,1,255,255,"prontera",156,189; end; OnTimer102000: killmonsterall "pvp_y_8-1"; end; OnTimer103000: stopnpctimer; end; OnFakePoringDead: percentheal -5,0; end; OnNamedPoringDead: getitem 7538,1; // mapannounce "pvp_y_8-1","Hey, "+strcharinfo(0)+" just killed "+strmobinfo(OnNamedPoringDead,1002)+" Poring!",bc_blue|bc_all; if("strcharinfo(0)"=="strnpcinfo(0)") { getitem 7539,1; mapannounce "pvp_y_8-1","Hey, "+strcharinfo(0)+" just killed a Self Poring!",bc_blue|bc_all; } else { mapannounce "pvp_y_8-1","Hey, "+strcharinfo(0)+" just "+strnpcinfo(0)+" killed a "+strmobinfo(2,1002)+" Canny! ",bc_blue|bc_all; // warp "prontera",156,189; } end; end; OnRealPoringDead: getitem 7539,1; mapannounce "pvp_y_8-1","Hey, "+strcharinfo(0)+" just killed a Poring!",bc_blue|bc_all; set $PoringKilled,$PoringKilled+1; if ($PoringKilled==$PoringMastKilled) areawarp "pvp_y_8-1",1,1,255,255,"prontera",156,189; end; } prontera,165,167,0 script #Event_warp 45,2,2,{ OnInit: OnTouch: if($@event==1)warp "pvp_n_1-1",17,130; end; OnHide: misceffect 16; end; OnUnhide: misceffect 215; end; } pvp_n_1-1,13,188,0 script #Event_warp2 45,2,2,{ OnInit: OnTouch: if($@event==2)warp "pvp_y_8-1",156,189; monster "pvp_y_8-1",0,0,strcharinfo(0),1002,1000,"Event_warper::OnNamedPoringDead"; end; OnHide: misceffect 16; end; OnUnhide: misceffect 215; end; } Вот скриптик самый работоспособный. И пока,конечно, пустой))
Появились идеи, в ближайшее время буду с аттачем разбираться, пока еще не очень понятно как, что и зачем... Надеюсь я все же пойму как сделать проверкау на действительное имя моба, то которое прописано скриптом, а не то которое в базе. Вот добралась до дома, но приатачить чара не очень получилось, да и не очень понятно к чему он атаччится. Вот если понять как связать друг с другом моба и чара проблем будет меньше...
Что, думаете забила я на этого поринга? А фиг вам)))) Я потихоньку продвигаюсь, и прошлая ночь была очень удачной для скрипта. Теперь он работает 100%, но только для 1 чара)) Просто не могу я приатачить чара, ну фз как это делается, еслиб смогла - перешла бы на другой тип переменных и все было б ок) Вот - Выкладываю свой нубский скриптик))) Code: //----------------------------------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------------------------------- pvp_n_1-1 mapflag noskill pvp_y_8-1 mapflag noskill pvp_y_8-1 mapflag nosave SavePoint pvp_n_1-1 mapflag nosave SavePoint pvp_y_8-1 mapflag pvp off pvp_n_1-1 mapflag pvp off pvp_y_8-1 mapflag nopenalty pvp_n_1-1 mapflag nopenalty pvp_y_8-1 mapflag nomemo pvp_n_1-1 mapflag nomemo pvp_y_8-1 mapflag noloot pvp_n_1-1 mapflag noloot pvp_y_8-1 mapflag noexp pvp_n_1-1 mapflag noexp pvp_y_8-1 mapflag nobranch pvp_n_1-1 mapflag nobranch pvp_y_8-1 mapflag noteleport pvp_n_1-1 mapflag noteleport //----------------------------------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------------------------------- prontera,165,167,0 script #Event_warp 45,2,2,{ //OnInit: OnTouch: if($@event==1)warp "pvp_n_1-1",17,130; end; OnHide: misceffect 16; end; OnUnhide: misceffect 215; end; } //----------------------------------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------------------------------- pvp_n_1-1,13,188,0 script #Event_warp2 45,2,2,{ //set .@namedporing$,StrCharInfo(0); //GetChaRid(0,.bot$)) //attachrid(getcharid(0,.@namedporing$)); //DoNPCEvent "Event_warper::OnPlayerIsAttached"; //OnInit: //monster "pvp_y_8-1",0,0,strcharinfo(0),1002,1000,"Event_warper::OnNamedPoringDead"; //end; OnTouch: //monster "pvp_y_8-1",0,0,strcharinfo(0),1002,1000,"Event_warper::OnNamedPoringDead"; if($@event==2)warp "pvp_y_8-1",156,189; set $@namedporing$,StrCharInfo(0); DoNPCEvent "Event_warper::OnPlayerIsAttached"; //getcharid(0); //set @crarid==getcharid(0),"strcharinfo"; //mobcount("pvp_y_8-1","Event_warper::OnNamedPoringDead"); //monster "pvp_y_8-1",0,0,playerattached(),1002,1000,"Event_warper::OnNamedPoringDead"; //monster "pvp_y_8-1",0,0,getcharid(0),1002,1000,"Event_warper::OnNamedPoringDead"; end; OnHide: misceffect 16; end; OnUnhide: misceffect 215; end; } //----------------------------------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------------------------------- prontera,1,1,0 script Event_warper -1,{ //set @namenumber,0; //OnClock <2><00>: //set .@namedporing$,StrCharInfo(0); //set .gm$,strcharinfo(0); OnInit: //while(1) initnpctimer; setnpctimer 0; //donpcevent "#Event_warp::OnHide"; disablenpc "#Event_warp"; disablenpc "#Event_warp2"; end; OnTimer1000: announce " 1",16; end; OnTimer5000: announce "2",16; end; OnTimer10000: announce "3",16; end; OnTimer15000: announce "4.",16; end; OnTimer20000: set $@event,1; enablenpc "#Event_warp"; donpcevent "#Event_warp::OnUnhide"; announce "Варп открыт на 15 секунд. Спешите!",16; end; OnTimer35000: set $@event,0; donpcevent "#Event_warp::OnHide"; disablenpc "#Event_warp"; end; OnTimer36000: set $@event,2; enablenpc "#Event_warp2"; donpcevent "#Event_warp2::OnUnhide"; mapannounce "pvp_n_1-1","Варп открыт на 15 секунд. Спешите!",bc_map; end; OnTimer51000: set $@event,0; donpcevent "#Event_warp2::OnHide"; disablenpc "#Event_warp2"; end; //} //pvp_y_8-1,1,1,0 script Event#summoner -1,{ //initnpctimer; //set $PoringMastKilled, mobcount("pvp_y_8-1","Event_warper::OnRealPoringDead"); OnTimer52000: mapannounce "pvp_y_8-1","Обьявление правил игры",bc_map; end; OnTimer57000: mapannounce "pvp_y_8-1","Обьявление правил игры2",bc_map; end; OnTimer62000: mapannounce "pvp_y_8-1","Обьявление правил игры3",bc_map; end; OnTimer67000: mapannounce "pvp_y_8-1","Все понятно? Тогда начинаем!",bc_map; end; OnTimer68000: monster "pvp_y_8-1",0,0,"Pori Pori Pori",1002,1000,"Event_warper::OnFakePoringDead"; monster "pvp_y_8-1",0,0,"Poring",1002,1000,"Event_warper::OnRealPoringDead"; //monster "pvp_y_8-1",0,0,@strcharinfo,1002,1000,"Event_warper::OnNamedPoringDead"; end; //announce "Hey, "+strcharinfo(0)+" just killed a Poring!",bc_blue|bc_all; OnTimer90000: mapannounce "pvp_y_8-1","Время вышло!",bc_map; end; OnTimer99000: mapannounce "pvp_y_8-1","Надеюсь Вам было весело! Приходите ещё!",bc_map; end; OnTimer100000: areawarp "pvp_y_8-1",1,1,255,255,"prontera",156,189; end; OnTimer102000: killmonsterall "pvp_y_8-1"; end; OnTimer103000: stopnpctimer; end; OnFakePoringDead: percentheal -5,0; end; OnNamedPoringDead: getitem 7538,1; //mapannounce "pvp_y_8-1","Hey, "+strcharinfo(0)+" just killed "+strmobinfo(OnNamedPoringDead,1002)+" Poring!",bc_blue|bc_all; if($@namedporing$==strcharinfo(0)) { getitem 7539,1; mapannounce "pvp_y_8-1","Hey, "+strcharinfo(0)+" just killed a Self Poring!",bc_blue|bc_all; } else { mapannounce "pvp_y_8-1","Hey, "+strcharinfo(0)+" just "+$@namedporing$+" killed a "+strmobinfo(2,1002)+" Canny! ",bc_blue|bc_all; //warp "prontera",156,189; warpchar "prontera",156,189,GetChaRid(0,$@namedporing$); end; } end; OnRealPoringDead: getitem 7539,1; mapannounce "pvp_y_8-1","Hey, "+strcharinfo(0)+" just killed a Poring!",bc_blue|bc_all; set $PoringKilled,$PoringKilled+1; if ($PoringKilled==mobcount("pvp_y_8-1","Event_warper::OnRealPoringDead")) areawarp "pvp_y_8-1",1,1,255,255,"prontera",156,189; end; OnPlayerIsAttached: //setarray @charnames$[0],"$@namedporing{:content:}quot;; AttachRid (GetChaRid(0,@namedporing$)); //set $@namedporing$,StrCharInfo(0); //set @namenumber,@namenumber+1; monster "pvp_y_8-1",0,0,$@namedporing$,1002,1000,"Event_warper::OnNamedPoringDead"; end; } //----------------------------------------------------------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------------------------------------------------------- Забыла проверить варпает ли хоть кого-нить после последней правки, но сейчас это не существенно, поэтому займусь этим позже. Поползала по афине, почитала посты Акруса, почувствовала себя так глупо... зачем я стараюсь, Егор все и сам в 1000 раз круче сделает, а мя так и будет игнорить... ну не ужели действительно все впустую? :cry:
Кароче к Новому году вряд ли успею( У меня еще 4 контрольных висит и сдать их надо на этой недели((( Вчера верерком чуток повозилась с переменными и получила одну переменную оторая в себя 2 имени вписала и проверки для 2х(ну возможно и больее) чаров прошла)))))я офигиваю над афинскими скриптами)) Лан, я ведь даж не знаю можно ли не создавая кучи переменных(для каждого чара) сделать этот скрипт рабочим..... ладно, идеи пока есть, но всеж от помощи я не откажусь, может все таки есть умные люди, которым не влом пару слов написать....
Скрипт почти готов. Проблема 1 присвоить порингу имя игрока(это просто) чтобы потом можно было это имя сравнить с именем игрока(вот тут проблемы) Хм, а собственно все) Только без массивов, у них все же лимит на 127 хначений, маловато будет(хотя смотря как реализуешь) Если придумаешь как обойти эту проблему, будет тру, я с переменными еще не подружилась. Остальное все есть.
зачем? мне нужно прикрепить к порингу имя через переменную а не через strcharinfo(0) но чтобы эта переменная неперезаписывалась, в ней было имя ТОЛЬКО 1 игрока, чтобы сравнить ее с strcharinfo(0) игрока убившего этого поринга. про сетд думала, в скором времени попробую с ней повозиться.
вот например массив участников set $@char$[getarraysize($@char$)],strcharinfo(0); далее к конкретному игроку(позиция в массиве) делаем массив for(set .i,0;.i<getarraysize($@char$);set .i, .i+1){ setd "$@"+.i+"$",...; записываем в этот массив нужных порингов тут немного setd неправильно написано, но ты посмотри как он делается, не должно мне кажется быть проблем } сравнение OnKillMob: // название лейбла ну и тут сравнение с нужным массивом end; если неправильно понял извеняйте
в массиве 127 элементов всего. Тем более зачем, если поринг 1 на каждого игрока??? Нужна всего 1 переменная, но как я понимаю совсем не глобальная. с глобальной у меня не прокатило.
А зачем тогда 1к порингов? 1 на каждого чара, остальные левые? Также у меня вопрос, если у каждого чара по 1 порингу(я так понял у них будут имена такие же как у чаров), у остальных порингов имена будут просто poring?
1000 левых порингов, похожие имена на поринг N порингов с именем поринг N порингов именных (N- количество игроков) На каждом из этих поригнов вистит лейбл он моб дед в вариациях. Со всеми обычными понингами разобралась. Но на именных лежит ответсявенность варпнуть игрока с другим именем в пронту, а игроку с таким же именем дать вкусняшку, от сюда и идет проверка имя поринга==имени игрока, который его пришиб. Которая у меня не получается. У мяня либо последний чар собирает со всех порингов вкусняшки, а остальным фиг; Либо все чары собирают со всех порингов вкусняшки)) А надо не так((