Магазин: скупка-продажа

Теги:
 

Uno

новичок
На сервере, где играет мало народу (до 100чел) ощущается нехватка ресурсов.
Многие, то что выбили, продают в магазине (Sell).
Ставить продавца с ресурсами - явное вмешательство в баланс игры.

Идея: сделать так, чтоб сданные ресурсы по кнопке Sell (поставить ссылку на свою Sell) не уничтожались, а были доступны по кнопке (Название надо придумать и ее легко добавить любому торговцу).
Ресурсы торговцами покупаются по скупочным ценам, а продаются игрокам с наценкой (обычно двойная цена скупки плюс от 10% до 20%. % можно зафиксировать или применять ставку установленную хозяином Замка).
Сданные ресурсы, например в Дионе, доступны во всех других городах.
Можно ограничить наименования - исключив все рецепты, готовые вещи, None-grade части вещей...
 
+
-
edit
 
Труднореализуемо. Я себе просто сделал дополнительный дроп ресурсов впридачу к основному.
Пытаясь понять рекурсию, следи за тем, чтобы она не поняла тебя первой...  

Uno

новичок
А так подойдет? Конечно, если можно изменить и добавить...

Значения поля "Count" могут быть: "-1" - запрещена скупка и продажа
"0"-"9999" - разрешено добавление
Если в скупку вещь идет с Enchant, то продаваться будет без них.

1. Добавить поле "Count" в базы `etcitem`, `armor`, `weapon`.

ALTER TABLE `EtcItem` ADD `Count` INT(4) DEFAULT '0' AFTER `oldtype`;
ALTER TABLE `Armor` ADD `Count` INT(4) DEFAULT '0' AFTER `sellable`;
ALTER TABLE `Weapon` ADD `Count` INT(4) DEFAULT '0' AFTER `sellable`;

2. В стандартную процедуру "Sell" добавить пункт в):

а)Создается "список продажи" и подсчитывается общая сумма // реализовано в стандартной процедуре Sell
б)Нажимается кнопка "продать" // реализовано в стандартной процедуре Sell
в)Если1 (в базе `EtcItem` есть поле Count) // проверка, вдруг базы не апгрейдили
// сюда можно вставить добавление столбца "Count", если его нет.

То:
Для каждого "item_id" из "списка продажи" // начало цикла по списку
Найти его "item_id" в базах "EtcItem, Armor или Weapon" // вот здесь не знаю - эти базы объединяются или по отдельности хранятся
Если2 (Count>=0 и Count+(кол-во из списка продажи)<=9999) //Если Count=-1, то этот ресурс не скупается и не продается
//и чтобы в базе было не больше 9999 шт одновременно
То: Count:=Count+(кол-во из "списка продажи")
конец Если2
конец Для
конец Если1
г)Удаляется весь "список продажи" и добавляются деньги // реализовано в стандартной процедуре Sell

3.Создать новую процедуру продажи "Buy2".

а)На базы "EtcItem, Armor или Weapon" ставим фильтр Count>0.
б)Создаем "список покупки", где Цена продажи:=Price*2*1,2 (или 1+(имя переменной, где хранится значение "Процент хозяина Замка"/100)).
г)Выводим стандартное окно покупки с созданным "списком покупки".
д)Выбираем, что надо из "списка покупки" и нажимаем "Купить"
е)Для каждого "item_id" из "списка покупки" // начало цикла по списку
Найти его "item_id" в базах "EtcItem, Armor или Weapon" // вот здесь не знаю - эти базы объединяются или по отдельности хранятся
Count:=Count-(кол-во из списка продажи)
конец Для
ж)Для каждого "item_id" из "списка покупки" // начало цикла по списку
Ищем в базе 'items' купившего `owner_id` и купленное `object_id`="item_id"
Если (нашли)
То:
Count:=Count+(кол-во из "списка покупки")
Иначе:
Добавляем запись о купленном
конец Если
конец Для
е)Удаляем "список покупки".

4.Вставляем диалог и вызов "Buy2" в html торговцев.
5.Делаем новую сборку (или как там правильно).
 
+
-
edit
 

WarFare

новичок
Не проще создать Непися-барыгу, скупающего только ресурсы, по цене скажем 1.5 закупочные от магазинной и продающего их же, но по 2.5 продажной магазинной. И привязать к нему склад?
То есть цена стабильная, а ассортимент-только то, что сдали. А покупка-продажа шмоток таким образом - дело лишнее, ИМХО
 

Murkt

Pythoneer

а смысл? рядом сядет гномик, который будет скупать за ту же цену, +10 аден. И никто ничего этому неписе не продаст.
[team Їжачки - сумні падлюки]  
RU Зависть #26.02.2006 22:31
+
-
edit
 

Зависть

втянувшийся
мало кто будет продавать в магаз,сейчас легче до гирана прогуляться и продать энимал скин по 30к...
LetsRock - Shillien Knight Shillen Oracle - Katria Powered by Avari.  
+
-
edit
 

WarFare

новичок
Murkt> а смысл? рядом сядет гномик, который будет скупать за ту же цену, +10 аден. И никто ничего этому неписе не продаст.
Вот и хорошо, тогда в обычный магазин точно не потащут. Вы внимательней к проблеме отнеситесь. Автор вроде имел в виду, что на сервере ОЧЕНЬ мало игроков, и некому сидеть на скупке. Или я чего-то не так понял?
 

Uno

новичок
Конечно проще поставить торговца и дать ему по 10млн Stem, Varnish... по 2,5 цене, но так нарушится баланс в игре. А так все появилось законно - ресы и части шмоток выбиты из монстров. Их продали в магазин. Магазин их перепродает.
В реале секонд-хенд как получается? У тебя купили - его же не уничтожают? А перепродают...
А эти магазины - там вообще должны быть только None и D grade LOW-END вещи. А все остальное должно появляться из игрового процесса.
Скажите: на каком сервере крафтят None вещи? Кто из гномов припрется на Talking Island чтоб крафтить для челов? Зачем вообще ввели рецепты на них? Если все есть в магазине?

1.А игроков мало. Гнома садить нереально. Кто что выбивает непонятное и ненужное продает в магазин...
2.А гномик пусть сидит со своим скупочным ассортиментом в четыре позиции и +10 адэна...
3.Если делать через склад, то надо туда весь ассортимент кидать - раздувая базу. А здесь всего одно поле добавляется в готовых базах.
4.Цена будет стабильная. Она всегда стабильная в магазинах. Поменялся хозяин Замка - поставил новый % и в магазине цены поменялись. Просто никто этого не замечает, т.к. новые хозяева ставят тот же процент что и был (а он или 15% или 20%). Или как цены в разных магазинах различаются? Вот в Дионе изначально стоит 20% и там дороже чем в Гиране, в котором 15%. Вот поэтому все и идут в Гиран скупляться...
 
RU Зависть #27.02.2006 17:37
+
-
edit
 

Зависть

втянувшийся
Uno> Скажите: на каком сервере крафтят None вещи? Кто из гномов припрется на Talking Island чтоб крафтить для челов? Зачем вообще ввели рецепты на них? Если все есть в магазине?

мы в фаллен легионе крафтили но грейд на этом сервере,когда еще с2 стояли и рейты были 1х.
да и не только мы :)

пс:вообще задумка интересная,но нужно думать с ценой,если поставить определенную цену, это будет не рынок.
LetsRock - Shillien Knight Shillen Oracle - Katria Powered by Avari.  

Uno

новичок
Про рынок никто не говорит - это должно заменить всех торговцев с их магазинами.

Хотя цену можно сделать зависимой от наличия. Чем больше - тем дешевле. Мысль интересная...
 
RU Зависть #27.02.2006 18:48
+
-
edit
 

Зависть

втянувшийся
а можно просто сделать манор :)
LetsRock - Shillien Knight Shillen Oracle - Katria Powered by Avari.  
RU _-=MealstroM=-_ #28.02.2006 03:05
+
-
edit
 

Uno

новичок
Вопрос: сможет кто-то написать для меня?
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru