Jump to content

Sparrow

Members
  • Posts

    34
  • Joined

  • Last visited

Everything posted by Sparrow

  1. Доброе время суток всем. Сегодня делал для себя НПС, который будет показывать спецэффекты по очереди, либо с какого то определенного номера. И подумал, а было бы удобно, если бы можно было особо понравившиеся эффекты сохранять, ячтобы можно было выбрать Добавить в Избранное. Вылазит @input$, Пишешь Название, потом описание. И нпс сохраняет эту инфу. Потом у него можно выбрать Избранное, и там в формате: ID;Название;Описание выводилась сохраненная информация. Это же можно делать не создавая новую таблицу в базе? Вот скрипт: prt_fild08.gat,123,68,4 script Спецэффект 467,{ mes "[Спецэффект]"; mes "Здравствуйте. Вы хотите просмотреть эффекты или посмотреть список избранных предметов?"; next; switch(select("Посмотреть эффекты:Избранное:Выход")){ case 1: mes "[Спецэффект]"; mes "Приступаем..."; set .circle,0; next; M_circle: if(.circle == 18) set .circle,20; if(.circle == 19) set .circle,20; set .circle,.circle+1; next; mes "[Спецэффект]"; mes "Номер спецэффекта:"; mes "== == == == == == == == == == == "; mes " ^00aa00"+.circle+"^000000"; mes "== == == == == == == == == == == "; specialeffect2 .circle; switch(select("Следущий:Перейти к...:Сохранить:Отмена")){ case 1: goto M_circle; case 2: L_inp: input @inp; if (@inp <1 || @inp > 700) { next; mes "[Спецэффект]"; mes "Вы ввели ^00aa00"+@inp+"^000000. Это неверный номер спецэффекта."; mes "Нужно вводить значения от 1 до 700."; goto L_inp; } set .circle,@inp-1; goto M_circle; case 3: mes "[Спецэффект]"; mes ""; case 4: close; end; } case 2: // ??? // ??? // ??? case 3: close; end; } } Заранее спасибо =)
  2. Я, конечно, не советник. Сам нуб по части клиента. Но у тебя определенно проблема с EXE. Попробуй тут - http://rathena.org/board/topic/54190-release-basic-rathena-client/
  3. In general, this is the last part of the quest chain, which I did. But my quest is not quite normal. For example: Should icy mage. Need to do something to unfreeze it. You do something for the quest and it defrosts. For some time, let's say. And if at least two people at the same time the quest will pass, there will be bugs. Therefore it is necessary to block access to the NPC until the first player talking to NPCs. Now I'll translate the script that you have understood him. Be warned - Google Translate http://upaste.me/3eaa499b973a91d Will you help me? Topic can be closed. I learned all of this function. Emisty, thanks for the stuff =)
  4. Will you help me with prompt()?

  5. Спасибо) Я тут уже новую проблему решаю =(
  6. Emisty, If I show you a script that you want to integrate your system, you will be able to do this? I can not, I still can not figure out what to enter. I have been there in the first place anywhere "menu", and secondly, I get confused with these numerous curly braces = ( The script in which you want to integrate your system: http://upaste.me/5e9f497536695e6 If you can help, I'll be very grateful. If not - anyway, you already helped me)
  7. Thank you) will be very brazen, if I ask you to jot down an idea with a timer?) I do not know how to work with timers = (
  8. Спасибо, но не помогло( Нажимаешь отмена, и все. Крындец =( При нажатии Отмена же нельзя по идее действия выбрать и обнулить переменную при выходе через кнопку отмена(
  9. Еще раз здравствуйте все. Вы наверное уже от меня устали В общем например такой скрипт: location,100,100,1 script Example::ex 90,{ if(.speak == 1) goto sorry; set .speak,1; set .name$,strcharinfo(0); mes "[Example]"; mes "Part of this NPC is free, you can talk to him."; next; mes "[Example]"; mes "The first player is in conversation with the NPC."; next; mes "[Example]"; mes "The first player finishes a conversation with the NPC."; set .speak,0; close; sorry: mes ""; mes "Sorry. Currently, "+.name$+" is talking to the NPC.."; close; } Вроде бы все работает. Но. Если добавить меню. location,100,100,1 script Example::ex 90,{ if(.speak == 1) goto sorry; set .speak,1; set .name$,strcharinfo(0); mes "[Example]"; mes "Part of this NPC is free, you can talk to him."; next; mes "[Example]"; mes "The first player was invited to the menu."; next; switch(select("The first menu item:The second menu item:The third menu item") { case 1: mes "[Example]"; mes "The first player selected first menu item."; set .speak,0; close; case 2: mes "[Example]"; mes "The first player selected the second menu item."; set .speak,0; close; case 3: mes "[Example]"; mes "The first player has chosen the third element of the menu."; set .speak,0; close; sorry: mes ""; mes "Sorry. Currently, "+.name$+" is talking to the NPC.."; close; } Сам по себе образуется баг - когда НПС выдает меню и если не выбирать какой то элемент меню, а выйти из диалога, то переменная .спек не обнулится и никто не сможет больше с этим НПС поговорить. Может кто нибудь сможет придумать как обойти эту проблему? Заранее Спасибо.
  10. Once again, good morning all. You probably already tired of me: D In general, for example, the following script: location,100,100,1 script Example::ex 90,{ if(.speak == 1) goto sorry; set .speak,1; set .name$,strcharinfo(0); mes "[Example]"; mes "Part of this NPC is free, you can talk to him."; next; mes "[Example]"; mes "The first player is in conversation with the NPC."; next; mes "[Example]"; mes "The first player finishes a conversation with the NPC."; set .speak,0; close; sorry: mes ""; mes "Sorry. Currently, "+.name$+" is talking to the NPC.."; close; } It seems to be working. But. If you add a menu. location,100,100,1 script Example::ex 90,{ if(.speak == 1) goto sorry; set .speak,1; set .name$,strcharinfo(0); mes "[Example]"; mes "Part of this NPC is free, you can talk to him."; next; mes "[Example]"; mes "The first player was invited to the menu."; next; switch(select("The first menu item:The second menu item:The third menu item") { case 1: mes "[Example]"; mes "The first player selected first menu item."; set .speak,0; close; case 2: mes "[Example]"; mes "The first player selected the second menu item."; set .speak,0; close; case 3: mes "[Example]"; mes "The first player has chosen the third element of the menu."; set .speak,0; close; sorry: mes ""; mes "Sorry. Currently, "+.name$+" is talking to the NPC.."; close; } By itself, formed a bug - when the NES menu displays, and if you do not select any menu item, and exit the dialog, then the variable. Spectrum is not zero and no longer be able to talk with the NPC. Maybe someone can come up with a workaround? Thanks in advance.
  11. Аааа, вот оно как. Спасибо большое =) Последний вопрос Как сделать чтобы пока один человек разговаривает с НПС другой игрок не могу с этим НПС разговаривать? 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; } Оно?)
  12. Thank you all! He came up option: close2; sleep2 60000; hideonnpc "ice_mage3"; end; Still, I do not know how to explain more clearly. Can I do that when the first person fits and starts sleep2, when other players would approach the NPC until he disappeared, did not run again sleep2, and worked for them a different scenario. I imagine it as: prt_fild08,54,59,4 script Mage::mage2 937,{ if (bubabuba == 1) goto label; mes "^00aa00[Mage]^000000"; mes "I am a free!"; set bubabuba,1; close2; sleep2 60000; hideonnpc "ice_mage3"; end; label: mes "I will soon disappear, bro."; close; } But I do not know how to do so a global variable to be assigned a status variable is influenced by the first player and all the other players and NPCs only when sobnulyalas disappears. It is impossible to do, right? Figured out. Thank you all, you can close the topic =)
  13. Госпади, гигантское спасибо! Подошел вариант: 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; } Но я не знаю, как сделать настолько глобальную переменную, которую присваивает первый игрок, действовала и на всех других игроков пока НПС не исчезнет.
  14. Good time, distinguished members of this forum. I've got a question arose. How to make after talking to the NPC, he disappeared through, say, a minute? prt_fild08,54,59,4 script Mage::norm_mage 937,{ mes "^00aa00[Mage]^000000"; mes "I am free!"; close2; //help to make the timer correctly } An illustrative example. You come to the NPC. Speak with him. Then you press close, and then a minute later, he hideonnpc "norm_mage"; How to implement it?) P.S. Sorry for my english)
  15. Доброе время суток, уважаемые форумчане. У меня тут вопрос возник. А как сделать так, чтобы после разговора с НПС он исчезал через, допустим, минуту? prt_fild08,54,59,4 script Спасенный маг::norm_mage 937,{ mes "^00aa00[Спасенный маг]^000000"; mes "Наконец то я свободен!"; close2; //помогите тут таймер правильно сделать } Наглядный пример. Подходишь к НПС. Говоришь с ним. Потом нажимаешь close, а потом через минуту он hideonnpc "norm_mage"; Вот как это правильно реализовать?)
  16. Good time of day. Immediately move on to the topic: Confronted with the problem. prt_fild08,100,39,1 script Размороженный маг::koma_man 937,{ } - There is a NPC. We need to do so initially it was at Hide (hideonnpc), but I do not know how to implement it. Advice please. Thanks in advance.
  17. Доброе время суток. Перейду сразу к теме: Столкнулся с проблемой. prt_fild08,100,39,1 script Размороженный маг::koma_man 937,{ } - Есть НПС. Нужно сделать так, чтобы изначально он находился в хайде (hideonnpc), но я не знаю как это реализовать. Подскажите пожалуйста. Заранее спасибо.
  18. mes "Alive mobs(real): "+getmapmobs'('.@map$); - не хватает закрывающих ковычек. mes "Alive mobs(real): "+getmapmobs'('.@map$)""; - как то так
  19. Доброе время суток, уважаемые пользователи rAtnena.org Я не знал где задать вопрос, поэтому создал тему здесь, правила читал, вроде бы ничего не нарушил) В общем суть - Скачал последнюю сборку rathena с официального svn, компильнул, exe настроил. Все бы прекрасно и замечательно... Но! У Guillotine Cross не учатся скиллы( Все остальные профы нормально работают, но гильятин не робит( Может кто знает как обойти сию проблему? Заранее спасибо! Проблема решена, можете закрывать тему)
×
×
  • Create New...