Sparrow Posted June 17, 2012 Posted June 17, 2012 Доброе время суток, уважаемые форумчане. У меня тут вопрос возник. А как сделать так, чтобы после разговора с НПС он исчезал через, допустим, минуту? prt_fild08,54,59,4 script Спасенный маг::norm_mage 937,{ mes "^00aa00[Спасенный маг]^000000"; mes "Наконец то я свободен!"; close2; //помогите тут таймер правильно сделать } Наглядный пример. Подходишь к НПС. Говоришь с ним. Потом нажимаешь close, а потом через минуту он hideonnpc "norm_mage"; Вот как это правильно реализовать?) Quote
Lilith Posted June 17, 2012 Posted June 17, 2012 (edited) prt_fild08,54,59,4 script Спасенный маг::norm_mage 937,{ mes "^00aa00[Спасенный маг]^000000","Наконец то я свободен!"; close2; initnpctimer; end; OnTimer60000: hideonnpc "norm_mage; end; } Edited June 17, 2012 by Lilith 1 Quote
Sparrow Posted June 17, 2012 Author Posted June 17, 2012 Госпади, гигантское спасибо! Подошел вариант: close2; sleep2 60000; hideonnpc "ice_mage3"; end; Но тут еще один вопрос. Я не знаю даже как объяснить стобы было наиболее понятно. Возможно ли реализовать, чтобы, первый игрок, подойдя к НПС и запустив sleep2 присваивал глобальную переменную и другие игроки получали только сообщение "Прости, бро, я скоро исчезну". Наглядно я вижу это как то так: prt_fild08,54,59,4 script Mage::mage2 937,{ if (bubabuba == 1) goto label; mes "^00aa00[Mage]^000000"; mes "Я свободен!"; set bubabuba,1; close2; sleep2 60000; hideonnpc "ice_mage3"; end; label: mes "Сорри, бро, я скоро исчезну."; close; } Но я не знаю, как сделать настолько глобальную переменную, которую присваивает первый игрок, действовала и на всех других игроков пока НПС не исчезнет. Quote
Lilith Posted June 17, 2012 Posted June 17, 2012 prt_fild08,54,59,4 script Mage::mage2 937,{ if (.bubabuba == 1) goto label; mes "^00aa00[Mage]^000000"; mes "Я свободен!"; set .bubabuba,1; close2; sleep2 60000; hideonnpc "ice_mage3"; end; label: mes "Сорри, бро, я скоро исчезну."; close; } префикс . указывает на переменную НИПа, зачем же глобальные? Quote
Sparrow Posted June 17, 2012 Author Posted June 17, 2012 (edited) Аааа, вот оно как. Спасибо большое =) Последний вопрос Как сделать чтобы пока один человек разговаривает с НПС другой игрок не могу с этим НПС разговаривать? prt_fild08,54,59,4 script Mage::mage2 937,{ if(.speak == 1) goto sorry; set .name,strcharinfo(0); set .speak,1; mes "^00aa00[Mage]^000000"; mes "Я свободен!"; set .speak,0; close; sorry: mes ""; mes "Этот НПС занят разговором с "+.name+"."; close; } Оно?) Edited June 17, 2012 by Sparrow Quote
Lilith Posted June 17, 2012 Posted June 17, 2012 Думаю, правильнее будет так: prt_fild08,54,59,4 script Mage::mage2 937,{ if(.speak == 1) goto sorry; set .name,strcharinfo(0); set .speak,1; mes "^00aa00[Mage]^000000"; mes "Я свободен!"; close2; set .speak,0; sorry: mes ""; mes "Этот НПС занят разговором с "+.name+"."; close; } Пока диалог с НИПом открыт у одного персонажа, другие не смогут разговаривать с ним. Quote
Sparrow Posted June 17, 2012 Author Posted June 17, 2012 Спасибо) Я тут уже новую проблему решаю =( Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.