| Yoko http://forum.yoko.com.ua/ |
|
| Как сделать лут из трупа определённых вещей?? http://forum.yoko.com.ua/viewtopic.php?f=3&t=1299 |
Page 1 of 1 |
| Author: | C_9!_B_@ [ 2004-09-06 10:21:40 ] |
| Post subject: | Как сделать лут из трупа определённых вещей?? |
Люди подскажите - как можно сделать так - чтобы при нажатии кнопки с трупа лутились определённые вещи - что-то вроде emptycontainer но не весть хлам а только то что нужно!! Подскажите как это сделать , если вообще возможно. |
|
| Author: | Yoko [ 2004-09-06 16:28:51 ] |
| Post subject: | |
как минимум раз 5 эта тема поднималась на форуме, и в этом и в архиве; попробуй найти может конечно ктото просто сюда тебе пример скрипта скопирует |
|
| Author: | C_9!_B_@ [ 2004-09-07 01:13:41 ] |
| Post subject: | |
Yoko wrote: как минимум раз 5 эта тема поднималась на форуме, и в этом и в архиве; попробуй найти
может конечно ктото просто сюда тебе пример скрипта скопирует Спасибо я нашёл этот скрипт всё класно он работает -- только вот выдает какую-то ошибку "Line 55: Runtime error" и скрипт выбрасывает -- если не трудно подскажите из-за чего это и как исправить !!! #============================================================== # Loot() - looting corpse and from ground #-------------------------------------------------------------- sub Loot() VAR WaitTime=500 VAR Exit=0, i DIM Loot[30] Loot[0]=0x19B9 ; ore Loot[1]=0x0EED ; gp Loot[2]=0x0F7B ; BM Loot[3]=0x0F7A ; BP Loot[4]=0x0F84 ; GA Loot[5]=0x0F85 ; GI Loot[6]=0x0F86 ; MR Loot[7]=0x0F88 ; NS Loot[8]=0x0F8C ; SA Loot[9]=0x0F8D ; SS Loot[10]=0x0F90 ; Dead Woods Loot[11]=0x0F7E ; Sceleton Bones Loot[12]=0x0F87 ; Eyes of newt Loot[13]=0x0E76 ; Bag Loot[14]=0x09B0 ; Pounch Loot[15]=0x1BDD ; Logs Loot[16]=0x1078 ; Hides Loot[17]=0x1BFB ; Bolts Loot[18]=0x0E34 ; Blanc Scroll Loot[19]=0x0F25 ; Pieces of Amber Loot[20]=0x0F16 ; Ametist Loot[21]=0x0F20 ; Tourmaline Loot[22]=0x0F26 ; Diamond Loot[23]=0x0F30 ; Diamond Loot[24]=0x0F8E ; Serpent Scales Loot[25]=0x14EB ; Treassure Map Loot[26]=0x0F79 ; Blackmoor Loot[27]=0x0F3F ; Arrow Loot[28]=0x0F79 ; Blackmoor Loot[29]=0x0F79 ; Blackmoor UO.UseObject('lastcorpse') if UO.GetQuantity('lastcorpse') then UO.SetArm('temp') UO.WaitTargetObject('lastcorpse') UO.UseType('0x0F51') ;dagger wait(1000) UO.Arm('temp') wait(1500) endif ; UO.SetReceivingContainer('0x400935D4') ; loot store bag For i=0 to 29 UO.FindType(Loot[i],-1,'ground') if UO.GetQuantity('finditem') then UO.Grab(STR(0),'finditem') wait(WaitTime) endif if UO.GetQuantity('lastcorpse') then UO.FindType(Loot[i],-1,'lastcorpse') if UO.GetQuantity('finditem') then if Loot[i]==0x1078 then UO.WaitTargetObject('finditem') UO.UseType('0x0F9E') else UO.Grab(STR(0),'finditem') endif wait(WaitTime) endif endif next ; UO.UnSetReceivingContainer() end sub |
|
| Author: | Yoko [ 2004-09-07 12:45:33 ] |
| Post subject: | |
как правило я не рассматриваю скрипты длиннее 5 строк но ты мог бы хотя бы обозначить какая из строк у тебя имеет номер 55, написать когда именно выкидывает сообщение |
|
| Author: | C_9!_B_@ [ 2004-09-09 21:10:18 ] |
| Post subject: | |
Yoko wrote: как правило я не рассматриваю скрипты длиннее 5 строк
но ты мог бы хотя бы обозначить какая из строк у тебя имеет номер 55, написать когда именно выкидывает сообщение Точно не сообразил ВИНОВАТ #============================================================== # Loot() - looting corpse and from ground #-------------------------------------------------------------- sub Loot() VAR WaitTime=500 VAR Exit=0, i DIM Loot[30] Loot[0]=0x19B9 ; ore Loot[1]=0x0EED ; gp Loot[2]=0x0F7B ; BM Loot[3]=0x0F7A ; BP Loot[4]=0x0F84 ; GA Loot[5]=0x0F85 ; GI Loot[6]=0x0F86 ; MR Loot[7]=0x0F88 ; NS Loot[8]=0x0F8C ; SA Loot[9]=0x0F8D ; SS Loot[10]=0x0F90 ; Dead Woods Loot[11]=0x0F7E ; Sceleton Bones Loot[12]=0x0F87 ; Eyes of newt Loot[13]=0x0E76 ; Bag Loot[14]=0x09B0 ; Pounch Loot[15]=0x1BDD ; Logs Loot[16]=0x1078 ; Hides Loot[17]=0x1BFB ; Bolts Loot[18]=0x0E34 ; Blanc Scroll Loot[19]=0x0F25 ; Pieces of Amber Loot[20]=0x0F16 ; Ametist Loot[21]=0x0F20 ; Tourmaline Loot[22]=0x0F26 ; Diamond Loot[23]=0x0F30 ; Diamond Loot[24]=0x0F8E ; Serpent Scales Loot[25]=0x14EB ; Treassure Map Loot[26]=0x0F79 ; Blackmoor Loot[27]=0x0F3F ; Arrow Loot[28]=0x0F79 ; Blackmoor Loot[29]=0x0F79 ; Blackmoor UO.UseObject('lastcorpse') if UO.GetQuantity('lastcorpse') then UO.SetArm('temp') UO.WaitTargetObject('lastcorpse') UO.UseType('0x0F51') ;dagger wait(1000) UO.Arm('temp') wait(1500) endif ; UO.SetReceivingContainer('0x400935D4') ; loot store bag For i=0 to 29 UO.FindType(Loot[i],-1,'ground') ---->>>> 55 строка <<<<---- ---->>>> 55 строка <<<<-------->>>> 55 строка <<<<-------->>>> 55 строка <<<<---- if UO.GetQuantity('finditem') then UO.Grab(STR(0),'finditem') wait(WaitTime) endif if UO.GetQuantity('lastcorpse') then UO.FindType(Loot[i],-1,'lastcorpse') if UO.GetQuantity('finditem') then if Loot[i]==0x1078 then UO.WaitTargetObject('finditem') UO.UseType('0x0F9E') else UO.Grab(STR(0),'finditem') endif wait(WaitTime) endif endif next ; UO.UnSetReceivingContainer() end sub А сообщение выкидывает когда уже скрипт прошел и с трупа всё слутило что нужно .... затем выкидывается вот та мессага с ошибкой... и только ОК можно нажать - затем скрипт автоматически выгружаеться... и его каждый раз приходиться запускать.... For i=0 to 29 UO.FindType(Loot[i],-1,'ground') ---->>>> 55 строка if UO.GetQuantity('finditem') then UO.Grab(STR(0),'finditem') wait endif |
|
| Author: | Yoko [ 2004-09-10 16:42:41 ] |
| Post subject: | |
попробуй DIM[100] поставить, а так же строку 55 заменить на UO.FindType(str(Loot[i]),"-1","ground") и вообще правильный вариант цикла по типам выглядит примерно так ( массив строковый а не численный!) ... Loot[10]="0x0F90" Loot[11]="0x0F7E" ... For i=0 to 29 UO.FindType(Loot[i],"-1","ground") if UO.Findcount() then UO.moveitem("finditem") wait(WaitTime) endif |
|
| Author: | Edred [ 2004-09-10 17:05:46 ] |
| Post subject: | |
Я бы еще предложил немного переделать цикл... не искать каждый элемент массива в трупе, а искать любой предмет и сравнивать его со всеми элементами массива. Тогда не надо дублировать в массиве одни и те же элементы. То есть, у меня сделано это так: Code: Sub CorpseLoot( Cont ) PS: Это не готовый скрипт для кого-то, это функция, вызываемая из скрипта на автоматическое зоннерство |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|