[Tutorial]Droppok beállítása

Indította [VIP]Rin the Exorcist, 2014-12-17, 09:29:58

2014-12-17, 09:29:58 Utolsó szerkesztés: 2015-02-19, 15:41:51 Szerző: Rin the Exorcist
Sziasztok!
Ez a téma kifejezetten a kezdőknek lett írva, a questes droppokkal kapcsolatban.


Először is döntsétek el, hogy a földre essen a tárgy, vagy a leltárba.
- Ha azt szeretnétek, hogy a földre essen, akkor a továbbiakban ezzel kell majd dolgoznotok:
game.drop_item_with_ownership(tárgyid, darabszám)
- Ellenkező esetben (hogy a leltárba essen):
pc.give_item2(tárgyid, darabszám)

A "tárgyid" és a "darabszám" azt hiszem érthető.


Ahová X-et írok, oda nektek az előző két lehetőség egyikét kell írnotok.

[spoiler=Példa]Így van megadva: 
quest drop begin
        state start begin
                when kill begin
                        X
                end
        end
end


És azt szeretnéd, hogy a leltárba kapja az adott tárgyat, akkor: 
quest drop begin
        state start begin
                when kill begin
                        pc.give_item2(tárgyid, darabszám)
                end
        end
end




[/spoiler]


Ha azt szeretnétek, hogy kizárólag csak mobok megölésénél kapjatok XY tárgyat, akkor when kill begin helyett when kill with not npc.is_pc() begin-t írjatok majd.


1, Így mindig minden dobni fogja az adott tárgyat: 
quest drop begin
state start begin
when kill begin
X
end
end
end




2, Így lehet bővíteni: 
quest drop begin
state start begin
when kill begin
X
X
end
end
end




3, Ha azt szeretnétek, hogy ne 100%-os eséllyel essenek az adott tárgyak.
Így 1% eséllyel esik. 

[spoiler=Megjegyzés](1, 100) Ez határozza meg az esélyt. A 100-ast kell módosítani. Például ha 20-at írsz oda (1, 20), akkor az 5%-os droppnak felel meg.[/spoiler]
quest drop begin
state start begin
when kill begin
local drop = math.random(1, 100)
if drop == 1 then
X
end
end
end
end




4, Így kell bővíteni: 
quest drop begin
state start begin
when kill begin
local drop = math.random(1, 100)
if drop == 1 then
X
elseif drop == 2 then
X
end
end
end
end


[spoiler=FONTOS!]Nagyon fontos, hogy a bővítéshez csak ennyi kell:
elseif drop == 2 then
X


És ez annyiszor, ahány tárgyal szeretnétek bővíteni.
FONTOS!
Mindig növelni kell a számot 1-el a "drop ==" után!!

Tehát ha azt szeretnétek, hogy 5 tárgyat dobjon, akkor:


quest drop begin
        state start begin
                when kill begin
                        local drop = math.random(1, 100)
                        if drop == 1 then
                                x
                        elseif drop == 2 then
                                x
                        elseif drop == 3 then
                                x
                        elseif drop == 4 then
                                x
                        elseif drop == 5 then
                                x

                        end
                end
        end
end




[/spoiler]


5, Hogy csak bizonyos eventek keretében essenek:
(Ezt jelen esetben /e dropp_event 1-el tudod be és /e dropp_event 0-val tudod ki kapcsolni.)

[spoiler=Megjegyzés]Bármi mást írhatsz drop_event-en kívül, az a lényeg, hogy amit beállítasz, azt kell majd /e (ide amit kitaláltál) 1-el elindítani. Továbbá ne szerepeljen benne ékezet és szóköz! [/spoiler]
quest drop begin
state start begin
when kill begin
if game.get_event_flag("drop_event") == 1 then
X
end
end
end
end



6, Az összes bővítést, kiegészítést ugyan úgy belelehet tenni, lássunk hogyan néz ki akkor, hogy csak bizonyos event keretében 1-1-1% eséllyel esik 3 fajta tárgy a földre: 
quest drop begin
state start begin
when kill begin
if game.get_event_flag("drop_event") == 1 then
local drop = math.random(1, 100)
if drop == 1 then
game.drop_item_with_ownership(tárgyid, darabszám)
elseif drop == 2 then
game.drop_item_with_ownership(tárgyid, darabszám)
elseif drop == 3 then
game.drop_item_with_ownership(tárgyid, darabszám)
end
end
end
end
end



7, Ugyan ez, csak a leltárunkba esik: 
quest drop begin
state start begin
when kill begin
if game.get_event_flag("drop_event") == 1 then
local drop = math.random(1, 100)
if drop == 1 then
pc.give_item2(tárgyid, darabszám)
elseif drop == 2 then
pc.give_item2(tárgyid, darabszám)
elseif drop == 3 then
pc.give_item2(tárgyid, darabszám)
end
end
end
end
end





Remélem segítettem! :) Ha bármi kérdésetek adódik írjatok nyugodtan privátban.
"Tisztelet a kivételnek! Mindig tisztelet a kivételnek!"
"KezdÅ' vagyok, ne nézz le... (:"