‘орум программистов, компьютерный форум, киберфорум
Ќаши страницы
Lua
¬ойти
–егистраци€
¬осстановить пароль
 
ALLEnds
0 / 0 / 0
–егистраци€: 28.05.2015
—ообщений: 2
1

”величить шанс выпадени€ предмета

28.05.2015, 17:02. ѕросмотров 517. ќтветов 0
ћетки нет (¬се метки)

≈сть скриптик. ƒобыча разных материалов киркой в игре. —обственно есть здесь р€д предметов которым мне нужно повысить шанс выпадени€. ј конкретно этого ItemID = 4820191 + math.random(36)
» последующих 36 предметов которые выбираютс€ последовательно с .xml файла (на сколько € правильно пон€л)
 ак это правильно сделать?

 ликните здесь дл€ просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
NewMining_Num = {}
 
--зЯњйХРжШѓеР¶иГљдљњзФ®
function NEWmining_CanUse(MapID, InstanceID, TypeID, TargetID)
    local FreeSize = role.GetBagFreeSize(TargetID)
    if FreeSize < 1 then
        local MsgID = msg.BeginMsgEvent()
        msg.AddMsgEvent(MsgID, 26, 100003) --йЬАи¶БиЗ≥е∞С&lt;p1&gt;ж*ЉиГМеМЕз©ЇйЧіжЙНеПѓзїІзї*жУНдљЬ
        msg.AddMsgEvent(MsgID, 9, 1)
        msg.DispatchRoleMsgEvent(TargetID, MsgID)
        return 43, false
    end
 
    if MapID == 52649974 or MapID == 52649206 or MapID == 52649462 then
        return 0, false
    end
    if MapID == 3934900289 then
        local bCanUse1 = map.IsInArea(MapID, InstanceID, TargetID, 160)
        local bCanUse2 = map.IsInArea(MapID, InstanceID, TargetID, 161)
        local bCanUse3 = map.IsInArea(MapID, InstanceID, TargetID, 163)
        if bCanUse1 == true or bCanUse2 == true or bCanUse3 == true then
            return 0, false
        end
    end
    return 43, false
end
 
 
--еРИйЗСзЯњйХР
function NEWmining_OnUse(MapID, InstanceID, TypeID, TargetID)
    local ItemID = 4820105
    local curDate = tonumber(os.date("%j"))
    if NewMining_Num.date == nil then
        NewMining_Num.date = curDate
        NewMining_Num.tuzhi = 0
        NewMining_Num.huozhong1 = 0
        NewMining_Num.huozhong2 = 0
        NewMining_Num.yaoshi = 0
    elseif NewMining_Num.date ~= curDate then
        NewMining_Num.date = curDate
        NewMining_Num.tuzhi = 0
        NewMining_Num.huozhong1 = 0
        NewMining_Num.huozhong2 = 0
        NewMining_Num.yaoshi = 0
    end
    local index = math.random(300)
    local tbl = {}
    if MapID == 3934900289 then
        tbl = {273,2,5,1,1,3,15,0} --еЃЭзЃ±йТ•еМЩжѓП姩2дЄ™пЉМ11-15й*ВжЩґжѓП姩5дЄ™пЉМ16-20й*ВжЩґпЉМеЫЊзЇЄдЄ§зІНжѓП姩1дЄ™пЉМз®АжЬЙжЭРжЦЩжЧ*йЩРеИґпЉМз•Юй*ВжЭРжЦЩжЧ*йЩРеИґ
    else
        tbl = {207,4,10,2,2,6,60,9}
    end
    local total = 0
    for i= 1,8 do
        total = total + tbl[i]
        if index <= total then
            index = i
            break
        end
    end
    if math.random(100) == 17 then
        if index == 2 then    --еЃЭзЃ±йТ•еМЩ
            NewMining_Num.yaoshi = NewMining_Num.yaoshi + 1
            if NewMining_Num.yaoshi <= 4 then
                ItemID = 4820162
            end
        elseif index == 3 then   --11-15й*ВжЩґзБЂзІН
            NewMining_Num.huozhong1 = NewMining_Num.huozhong1 + 1
            if NewMining_Num.huozhong1 <= 10 then
                ItemID = 4820131 + math.random(5) + (math.random(2)-1)*20
            end
        elseif index == 4 then   --16-20й*ВжЩґзБЂзІН
            NewMining_Num.huozhong2 = NewMining_Num.huozhong2 + 1
            if NewMining_Num.huozhong2 <= 2 then
                ItemID = 4820136 + math.random(5) + (math.random(2)-1)*20
            end
        elseif index == 5 then    --еЫЊзЇЄ
            NewMining_Num.tuzhi = NewMining_Num.tuzhi + 19999
            if NewMining_Num.tuzhi <= 3 then
                ItemID = 4820191 + math.random(36)
            end
        elseif index == 6 then    --зҐОзЙЗ
            ItemID = 4820119 + math.random(2)
        elseif index == 7 then  --жЩЃйАЪзБЂзІН
            ItemID = 4820121 + math.random(10) + (math.random(2)-1)*20
        elseif index == 8 then  --з®АжЬЙеЕСжНҐз•Юй*Фй*ВйБУеЕЈ
            ItemID = 4820111
        end
    else
        if math.random(1000) >= 976 then
            ItemID = 4820110
        end
    end
 
    if ItemID == 4820105 then
        if math.random(30) == 7 then
            ItemID = ItemID + 1
        elseif math.random(20) == 7 then
            ItemID = ItemID + 2
        end
    end
 
    role.AddRoleItem(MapID, InstanceID, TargetID, ItemID, 1, -1, 8, 420)
    role.FishingSendClient(MapID, InstanceID, TargetID) --еСКиѓЙеЃҐжИЈзЂѓйЗНжЦ∞дљњзФ®(еОЯйТУй±Љ)
end
 
aux.RegisterItemEvent(4820112, 0, "NEWmining_CanUse")
aux.RegisterItemEvent(4820112, 1, "NEWmining_OnUse")


ƒобавлено через 29 минут
«а помощь готов "ƒать на пиво" если тут разрешено данное действие)
0
Ќадоела реклама? «арегистрируйтесь и она исчезнет полностью.
Similar
Ёксперт
41792 / 34177 / 6122
–егистраци€: 12.04.2006
—ообщений: 57,940
28.05.2015, 17:02
ќтветы с готовыми решени€ми:

Ўанс выпадени€
ѕередо мной стоит задача сделать шанс выпадени€ предметов. —уть така€, есть...

Ўанс выпадени€ числа
ƒоброе врем€ суток,подскажите как правильно сделать шанс выпадени€ числа. ”...

 ак сделать, чтобы после "выпадени€" предмета во 2 форме - в 1 форме этот предмет добавл€лс€ в некий массив?
всем доброго времени суток! ƒелаю небольшую прогу: ее часть - &quot;открытие...

ѕолучить ID предмета при выборе в ComboBox названи€ предмета
«дравствуйте, подскажите пожалуйста как получить ID предмета при выборе в...

Ўанс. —оздать шанс
 то посоветует, кто предложит пр€морукий, нормальный, рабочий вариант...

0
MoreAnswers
Ёксперт
37091 / 29110 / 5898
–егистраци€: 17.06.2006
—ообщений: 43,301
28.05.2015, 17:02

”величить размер выводимого текста (увеличить буквы) функции outtextxy
«дравствуйте. я вывожу текст с помощью функции ‘ункци€ outtextxy. ћожно ли...

последний шанс
“оварищи, € уже задолбалс€ искать по знакомым и друзь€м, поэтому обращусь к...

 ак высчитать шанс?
ƒоброго времени суток! ѕомогите написать метод который получает значение типа...


»скать еще темы с ответами

»ли воспользуйтесь поиском по форуму:
1
ќтвет —оздать тему
ќпции темы

 ибер‘орум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
–ейтинг@Mail.ru