Привет всем Представляю новую систему! Что она делает? Дает случайный предмет игроку каждые 12 часов. Он должен войти в игру и нажать на подарок, чтобы получить вещь. GM может установить 5 различных подарков один из которых может получить игрок. Вы можете изменить время для этой системы например:
function giverandomitem() local random_nr = number(1,5) chat("I: The box it's opening...") -- Opening if random_nr==1 then pc.give_item2(tonumber(mysql_query('SELECT box1 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box1[1])) elseif random_nr==2 then pc.give_item2(tonumber(mysql_query('SELECT box2 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box2[1])) elseif random_nr==3 then pc.give_item2(tonumber(mysql_query('SELECT box3 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box3[1])) elseif random_nr==4 then pc.give_item2(tonumber(mysql_query('SELECT box4 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box4[1])) elseif random_nr==5 then pc.give_item2(tonumber(mysql_query('SELECT box5 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box5[1])) end pc.setqf("giftsystemuse", get_time()+60*60*12) -- 12 HRS cmdchat("giftsyshide") end
when button or info begin if pc.getqf("giftsystemuse") <= get_time() then thsgiftdev.giverandomitem() -- yeah..function -_- don't try to bind that condition with this.. else chat("W: You have no gift. Try after 12 hours...") -- Played end end end end
Редактировать:
Если хотите чтобы показывало окошко при нажатии, то после строчки cmdchat("zetsugfsys "..q.getcurrentquestindex())
добавить:
Код
if tonumber(mysql_query('SELECT openorclose from player.surprisebox WHERE id>0 LIMIT 1;').openorclose[1]) != 0 then cmdchat("giftsysshow") else cmdchat("giftsyshide") end
## Z ############################################################################## if app.IsPressed(app.DIK_P) and app.IsPressed(app.DIK_LSHIFT): if self.GiftBox.IsShow(): self.GiftBox.Hide() else: self.GiftBox.Show() ## Z ##############################################################################
## Begin LuckyBoxes system by Zetsu "zetsugfsys" : self.ZetsuGiftSystem__init__, "giftsysshow" : self.ZetsuGiftSystem__show__, "giftsyshide" : self.ZetsuGiftSystem__hide__, ## End LuckyBoxes
Чтоб получилось так:
Не добавляем: "giftsyspop" : self.ZetsuGiftSystem__prnt__, Моя ошибка......
Теперь последнее: В конце файла добавляем:
Код
## Begin LuckyBoxes system by Zetsu def ZetsuGiftSystem__init__(self, index): constInfo.GIFTSYS = index # if doesn't work replace with: constInfo.GIFTSYS = int(index) # But it's impossible... def ZetsuGiftSystem__deff__(self): import event event.QuestButtonClick(int(constInfo.GIFTSYS)) ## End LuckyBoxes # Warning!! Let the last row empty!! ## def ZetsuGiftSystem__show__(self): self.GiftBox.Show() def ZetsuGiftSystem__hide__(self): self.GiftBox.Hide()
Чтоб было так:
Предупреждение! Если вы добавляете это в конце game.py, последняя строка должна быть пустой!
Теперь откройте constinfo.py и добавить в начало файла:
VIKTOR, А что ещё тебе сделать, у каждого клиента в game.py вписано что-то своё!
Просто не могу понять, когда добавляю то что должно быть в game.py клиент не запускается, полоса загрузки проходит до конца и так зависает, что это может быть ??
Просто не могу понять, когда добавляю то что должно быть в game.py клиент не запускается, полоса загрузки проходит до конца и так зависает, что это может быть ??
Я себе поставил все нормально работает, нужно везде [TAB]табы ставить, пробелы нельзя. Я могу если надо свой game приложить который у меня рабочий, по нему посмотришь как поставлено.
Спасибо большое, все получилось, клиент запускается иконка отображается, квест стал, в базу все записал, только вот при нажатии на иконку ничего не происходит, почему ?
Сообщение отредактировал VIKTOR - Среда, 25.06.2014, 22:11
Спасибо большое, все получилось, клиент запускается иконка отображается, квест стал, в базу все записал, только вот при нажатии на иконку ничего не происходит, почему ?
Немного нужно модифицировать квест вот так: thsgiftdev.quest и в навикате в player нужно выполнить запрос через консоль:
И при нажатии на коробку пишет что подарок открыт, но ничего не дает. а если вот в этой строчке, в квесте, pc.give_item2(tonumber(mysql_query('SELECT box1 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box1[1])) вместо tonumber(mysql_query('SELECT box1 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box1[1]) пишу ид предмета, тогда все норм, почему то не хочет тянуть ид с базы, подскажите в чем может быть проблема ?
Сообщение отредактировал VIKTOR - Четверг, 03.07.2014, 04:21
И при нажатии на коробку пишет что подарок открыт, но ничего не дает. а если вот в этой строчке, в квесте, pc.give_item2(tonumber(mysql_query('SELECT box1 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box1[1])) вместо tonumber(mysql_query('SELECT box1 from player.surprisebox WHERE openorclose=1 LIMIT 1;').box1[1]) пишу ид предмета, тогда все норм, почему то не хочет тянуть ид с базы, подскажите в чем может быть проблема?
Не проще переписать вообще кв, что бы базу не нагружать?
pc.give_item2(50512) elseif random_nr==2 then pc.give_item2(50512) elseif random_nr==3 then pc.give_item2(50512) elseif random_nr==4 then pc.give_item2(50512) elseif random_nr==5 then pc.give_item2(50512) end
Ты не поставил дроп со шкатулки, вообще лучше убери этот кв и поставь обычный.
Сделал всё как ты сказал,вот что получилось. У меня только вот вопрос еще один возник,после того как открываю подарок,он пропадает,но стоит мне сделать смену персонажа он снова появляется(Можно сделать так чтобы он не пропадал?). И еще можно как-нибудь сделать чтобы он показывал сколько (Часов,минус,секунд) осталось чтобы открыть следующий подарок?