а разве бд руофф свой не будет делать? вроде разговор был об этом
Такой разговор тоже слышал, но маловероятно, они скорее у вас купят то что вы насобираете. Они же ленивые.
З.ы. топик можно закрыть, с вопросом разобрался, спасибки тыкнул - кто помог.
Далле следует лиш оффтоп =\
Grinch, ну впринципе может быть и сделают, я так то не против, но мне кажется у них помимо базы щас куча головняков.
Перевод действительно на любителя, особенно за некоторые профы обидно ^_^.
P.s. Кто нибудь слыхал чего нового про "фрост"?
Посмотри как организован обмен предметов в рыбалке:
delphi Код:
//***************************************************************// Вся торговля здесь!!!//***************************************************************procedure OnTrade(Sender: TObject);
begincase trade of
...
//-------------------------------------------------//обмениваем у фишермана на пруфы//-------------------------------------------------400: beginif ReadyToMultiSell thenexit; //если еще не обменяли предыдущую вещь, то выходим сразу//мы у фишермана, обмениваем всё на пруфыif FishermanOID=0thenbegin
Trade1.enabled:=false; //останавливаем торговлю
msg.Lines.Add('Не готовы к торговле, нет OID фишермана! Требуется отбежать подальше и вернуться.');
exit; //выходимend;
if TradeCount=TradeMultiItemCount thenbegin//проверка на выход из массива
Trade1.enabled:=false; //останавливаем торговлю
msg.Lines.Add('Всё обменяли!');
case MestoLovli of1: begin cmd:='fishing'; MestoLovli1; end;
2: begin cmd:='fishing'; MestoLovli2; end;
3: begin cmd:='fishing'; MestoLovli3; end;
end;
msg.Lines.Add('Бежим на берег...');
TradeCount:=0;
endelsebeginif(TradeMultiItem[TradeCount]<>FO)and(TradeMultiItem[TradeCount]<>GFO)thenbeginif FindItem(TradeMultiItem[TradeCount])<>0thenbegin
TargetAttacker(FishermanOID); //фишермана в таргет
msg.Lines.Add('Готовы обменять:'+inttostr(TradeMultiItem[TradeCount]));
ReadyToMultiSell:=true; //готовы обмениватьendelse msg.Lines.Add('Нет такого предмета:'+inttostr(TradeMultiItem[TradeCount]));
Trd:=TradeCount;
end;
inc(TradeCount);
msg.Lines.Add('TradeCount/TradeMultiItemCount:'+inttostr(TradeCount)+'/'+inttostr(TradeMultiItemCount-1));
end;
end;
end;
end;
//......................................
...
//***************************************************************// вызывается при приходе каждого пакета, если скрипт включен//***************************************************************begin//****************************************************************************//не обрабатываем пустые пакетыif pck=''thenexit;
...
//****************************************************************************//обмен состоит из следующих шагов://1. таргет на продавце, пауза, снова таргет (c04=Action, c04=Action)//2. приходит s0F=NpcHtmlMessage:d(MessageID)s(HTML)d(d)//3. шлем выбранный пункт из меню c21=RequestBypassToServer:s(Cmd)//4. приходит sD0=MultiSellList:d(listId)d(page_beg)d(page_end)d(onpage)d(entrycount)d(EntryId)b(?)w(prodcount)w(itemcount<)w(pItemId)d(?)w(ptype2)d(pcount)w(penchant)w(iItemId)w(itype2)d(icount)w(ienchant)//5. FindItem(ID) найдем OID, Count нужной вещи по ID//6. шлем cA7=RequestMultiSellChoose:h(ListID)d(EntryID)d(Amount)//****************************************************************************if ReadyToMultiSell and(FishermanOID<>0)thenbeginif(ConnectName=Name)and FromServer thenbegincase pck[1] of//после того как мы взяли в таргет продавца приходит этот пакет//s0F=NpcHtmlMessage:d(MessageID)s(HTML)d(d)
#$0F: begin
msg.Lines.Add('S>Пакет NpcHtmlMessage #$0F');
if ReadD(2)=FishermanOID thenbegin//шлем запрос выбора пункта - продажа//c21=RequestBypassToServer:s(Cmd)
delay(1000);
RequestByPassToServer(getmultisell);
msg.Lines.Add('C>Пакет RequestBypassToServer #$21 (multisell)');
end;
end;
//после выбора пункта - обмен, приходит этот пакет//sD0=MultiSellList:d(listId)d(page_beg)d(page_end)d(onpage)d(entrycount)d(EntryId)b(?)w(prodcount)w(itemcount<)w(pItemId)d(?)w(ptype2)d(pcount)w(penchant)w(iItemId)w(itype2)d(icount)w(ienchant)
#$D0: begin
msg.Lines.Add('S>Пакет MultiSellList #$D0');
ListID:=ReadD(2); //запоминаем, он все время разный
msg.Lines.Add('ListID='+inttostr(ListID));
//шлем запрос на обмен//cA7=RequestMultiSellChoose:h(ListID)d(EntryID)d(Amount)
msg.Lines.Add('C>Пакет RequestMultiSellChoose #$A7(ListId:'+IntToStr(ListId)+' EntryId:'+IntToStr(Trd*2+1)+' Count:'+IntToStr(ItemBase2[3,1])+')');
delay(1000);
//в java -> EntryId * k=100000
RequestMultiSellItem(ListId,Trd*2+1,ItemBase2[3,1]);
ReadyToMultiSell:=false;
end;
end;
end;
end;
...
end.
Если в двух словах, то заранее определяешь из пакета sD0=MultiSellList - EntryId, оно постоянно для твоего предмета и каждый раз при обмене определяешь из этого же пакета sD0=MultiSellList - ListID.
Затем формируешь по полученным данным cA7=RequestMultiSellChoose:h(ListID)d(EntryID)d(Am ount) и отсылаешь на сервер.
ЕТ оможет быть причиной того что.
Кна сервре покупаю вещь. копирую ето пакет( с покупокой ето й вещи, в отсылку пакета серверу) и рпинажатии "отослать". открываеться оконо с нпк. но итем сам не покупаеться, Потому что... Каждый новый пакет приходящий от сервера про покупку какого ибо итема имеет измененный Id итема по какомуто Закону. Играю на Хб
Ребята , извеняюсь за флуд , сегодян нашел прогу , у меян нет эфекта никакого просто RequestBuyItem когда отсылаю этот покет , поулчивший его с сервера , тоесть он даже тот же самы итемид не покупает сам ! и не подскажете ?
Вот как всегда , ребята почему вы так относитись к людям котоыре нубы , ну дай ты сылку или название темы , где и что , я тебе еще раз повторяю что я просто прогу вчера только нашел , и в ней ковырялся без каких либо описаний , потому что это самое лучшее решение , н овот у меня пока тч оне хватило извилин , что бы это понять , и я решил поинтересоватсья , а тут сразу на тебя !))) нет что бы быть проще , я считаю все мы люди , и всем надо быть добрее))))