Very big szilánk drop

Indította Nexus™, 2017-07-06, 12:37:22

Helló all. Az lenne a problémán hogy a szerveren minden szörnyecske dob egy szilánkocskát, 120-ason leütök egy kutyut és még az is ad. Minden szörny 1-et. A szerveren sehol sincs beállítva szilánk drop. Még a dragon_soul.quest -nél is lecsökkentettem hogy ne adjon egy árva darabocskát sem. De még is adja.

Quest:

quest dragon_soul begin
state start begin
when levelup or letter with pc.level >= 61 begin
send_letter("Sárkánykő alkímia")
local v = find_npc_by_vnum(20001)

if 0 != v then
target.vid("__TARGET__", v, mob_name(20001))
end
end

when info or button begin
say("Az egész birodalom legszakavatottabb alkimistája[ENTER]keres. Menj el hozzá, amilyen gyorsan csak tudsz.")
end

when 20001.chat."Sárkánykő-szilánk?" with pc.level >= 61 begin
target.delete("__TARGET__")

say_title(mob_name(20001))
say("Ah, te ott! Felfedeztem valami egészen[ENTER]figyelemreméltót: A Sárkánykő egy szilánkját! A[ENTER]Sárkánykő egy rendkívül ritka és értékes kristály[ENTER]hatalmas erővel. Azt tartják, egyszer ezek egy[ENTER]sárkány lelkét képezték. Hihetetlenül gyönyörű![ENTER]Neked adom a Sárkányszem erejét, amivel te is[ENTER]érzékelheted a szilánkokat. Hozz nekem összesen[ENTER]tíz Sárkánykő-szilánkot. Akkor képes leszek[ENTER]átalakítani azokat egy teljes kővé.")
set_state(state_learning)
end
end

state state_learning begin
when letter begin
send_letter("Sárkánykő alkímia")
end

when info or button begin
say("Vigyél 10 Sárkánykő-szilánkot az Alkimistának.")
end

when kill begin
if npc.is_pc() then
return
end

if pc.count_item(30270) < 10 then
if drop_gamble_with_flag(ds_drop) then
game.drop_item_with_ownership(30270, 0, 1200)
end
end
end

when 20001.chat."Sárkánykő-szilánk?" begin
say_title(mob_name(20001))
if pc.count_item(30270) >= 10 then
say("Ah, nagyon jó! Találtál tíz Sárkánykő-szilánkot.[ENTER]Kérlek várj egy pillanatot.[ENTER]..[ENTER]Hihetetlen! Az átalakítás eredményeként egy Cor[ENTER]Draconis jött létre - egy megkristályosodott[ENTER]sárkányszív, mely védelmezően veszi körbe a[ENTER]Sárkánykövet. Amikor felnyitod, a Sárkánykő[ENTER]közvetlenül a Sárkánykő-alkím leltáradba kerül.[ENTER]Ahhoz, hogy Sárkánykő-szilánkot találj,[ENTER]szükséged lesz a Sárkányszem erejére. Én tudok[ENTER]egyet adni kölcsönbe - csak gyere el hozzám minden[ENTER]nap, és akkor te is képes leszel Sárkánykövet[ENTER]átalakítani! Egyet már megcsináltam neked mára, a[ENTER]maradék 9-et pedig te magad is létre tudod hozni.")
pc.remove_item(30270, 10)
char_log(pc.get_player_id(), 'DS_QUALIFICATION', 'SUCCESS')
pc.give_item2(50255)
local today = math.floor(get_global_time() / 86400)
pc.setf("dragon_soul", "eye_timestamp", today)
pc.setf("dragon_soul", "eye_left", 10 - 1)
set_state(state_farming)
else
say("Gyere vissza ha 10 Sárkánykő-szilánk[ENTER]lesz nálad.")
end
end
end

state state_farming begin
when letter begin
send_letter("A Sárkányszem ereje")
end

when info or button begin
say(string.format("Fennmaradó Sárkányszem ereje: %d", pc.getf("dragon_soul", "eye_left")))
end

when kill begin
if npc.is_pc() then
return
end

if drop_gamble_with_flag(ds_drop) then
local eye_left = pc.getf("dragon_soul", "eye_left")
local haved_gemstone_number = pc.count_item(30270)

if eye_left > haved_gemstone_number / 10 then
game.drop_item_with_ownership(30270, 0, 1200)
end
end
end

when 30270.pick begin
local eye_left = pc.getf("dragon_soul", "eye_left")
if eye_left <= 0 then
return
end

if pc.count_item(30270) >= 10 then
pc.setf("dragon_soul", "eye_left", eye_left - 1)
pc.remove_item(30270, 10)
pc.give_item2(50255)
if 1 == eye_left then
notice_multiline("Elfogyott a sárkányszem ereje.[ENTER]Holnap menj vissza az alkimistához hogy újratöltsön.", notice)
set_state(state_closed_season)
end
end
end

when 20001.chat."Add nekem a Sárkányszem erejét" begin
say_title(mob_name(20001))
local today = math.floor(get_global_time() / 86400)
if today == pc.getf("dragon_soul", "eye_timestamp") then
say("Helló! Ma már megkaptad a Sárkányszem erejét. Az[ENTER]eljárás nagyon legyengít, úgyhogy naponta csak[ENTER]egyszer tudok neked segíteni. Gyere vissza holnap!")
else
say("Megkaptad a Sárkányszem erejét.[ENTER]Gyűjts 10 Sárkánykő-szilánkot hogy előállíthass[ENTER]egy Sárkánykövet.")
pc.setf("dragon_soul", "eye_timestamp", today)
pc.setf("dragon_soul", "eye_left", 10)
end
end
end

state state_closed_season begin
when letter begin
send_letter("Sárkánykő alkímia")
end

when info or button begin
say("Sárkánykő alkímia")
local today = math.floor(get_global_time() / 86400)
if today == pc.getf("dragon_soul", "eye_timestamp") then
say("Ma már elhasználtad az összes sárkányszem[ENTER]erejét. Holnap folytathatod.")
else
say("Menj el az alkimistához hogy átvedd[ENTER]a Sárkányszem erejét.")
end
end

when 20001.chat."Add nekem a Sárkányszem erejét" begin
say_title(mob_name(20001))
local today = math.floor(get_global_time() / 86400)
if today == pc.getf("dragon_soul", "eye_timestamp") then
say("Helló! Ma már megkaptad a Sárkányszem erejét. Az[ENTER]eljárás nagyon legyengít, úgyhogy naponta csak[ENTER]egyszer tudok neked segíteni. Gyere vissza holnap!")
else
say("Megkaptad a Sárkányszem erejét.[ENTER]Gyűjts 10 Sárkánykő-szilánkot hogy előállíthass[ENTER]egy Sárkánykövet.")
pc.setf("dragon_soul", "eye_timestamp", today)
pc.setf("dragon_soul", "eye_left", 10)
set_state(state_farming)
end
end
end

state state_1 begin
when login begin
set_state(state_learning)
end
end
state state_2 begin
when login begin
set_state(state_learning)
end
end
state state_3 begin
when login begin
set_state(state_closed_season)
end
end
end


Minden friss, semmi morzsa nem maradt bent a droppból, értelemszerűen ha az egész questet kiveszem akkor nem esik.

Valaki tud rá valami megoldást?
Az élet olyan mint egy pohár stampó, sok van belÅ'le de sohasem elég!

when kill begin
if npc.is_pc() then
return
end

if pc.count_item(30270) < 10 then
if drop_gamble_with_flag(ds_drop) then
game.drop_item_with_ownership(30270, 0, 1200)
end
end
end

Nekem is ez lenne a problémám... ha valaki tudja a választ légyszives !


OFF :
Előttem kommentelőnek hát köszi de ebből hogy nem írsz oda semmit sokat megértettünk :D
töröltem [BA]Thymea

Attól hogy a quest törlése került, az object fájlokba még benne marad, ezért is droppolja még.
Ezt vagy úgy tudod megoldani, hogy beírod az összes használt questet a listába, és make.sh-zol, vagy a nagyon paraszt megoldás amit nem szoktak javasolni de én mindig úgy csináltam(:'D) Object mappa, notarget mappa, azon belül kill mappa és ott lesz az egyik fájl ami a droppra vonatkozik, delete és jó lesz.  ::)
A különbség a sikertelen és a sikeres ember között nem feltétlenül a tehetség, hanem a kitartás.
https://youtu.be/jGQJqcyHjY0

Igen a "nagyon paraszt" megoldást is meg próbáltam...
Nekem az a baj hogy 250 szinten oda megyek ütök 10mobot az 10 szilánk ugyan úgy.... Itt erre kellene megoldást találni. Le vettem a droppot 0/0-ra Akkor is dobja... És hozzá teszem ugyan úgy töröltem a kill-t szóval magas
töröltem [BA]Thymea

Forrásban keress rá a "ds_drop"-ra.

Questes megoldást kellene nekem megoldani köszi
töröltem [BA]Thymea

Ha nem egy questben van a dropja, akkor cseszheted, hogy "questes megoldást kellene neked megoldani".

C++ programmer at Gameloft

Próbáld meg, rakd át másik ID-re a Sárkánykő szilánkot.

:o ??? ;D
Mi köze a tárgy vnumjának a tárgy dobás esélyéhez? Ha jól emlékszem már az alap forrásban is ki van van véve alapból a tárgy droppja, mivel átírták questbe.

Először is milyen OP rendszeren teszteled? - Ha windowson, akkor nem sok mindent tudsz csinálni, csak ha átírod a libthecore random szám generáló függvényét. Egyébként erről írva is van a questlib.lua fájlban:

Ha freebsd, akkor nézd meg a quest/object/notarget/kill/ mappában lévő dragon_soul.state_learning és dragon_soul.state_farming fájlokat mi van benne.

Ha ugyan az mint a questben is, akkor játék közben GM karakterrel állítsd át a "ds_drop" nevű eventflag értékét.
/eventflag ds_srop 120 (120 csak példaérték)

Nem tudom alapból mennyinek kell lennie, próbáldgasd változtatni.

Mindenek előtt kérdezd le hogy van-e beállítva a /geteventflag gm paranccsal, ki listázza szépen, ha nincs a listában, akkor 100-ként van kezelve, próbáld növelni, csökkenteni, hogy lesz jó, jobb etc.

Ez azért lett így megírva, hogy a GF tudja időnként szabályozni a droppját szerver újraindítás vagy bármi más macera nelkül, tipikus suttyó módon.

2019-10-23, 10:23:39 #10 Utolsó szerkesztés: 2019-10-23, 10:30:23 Szerző: keksz022
Tudtam én P3NG3R hogy OP vagy :P hahaha

Működött az
/eventflag ds_srop xy  kód csak most már semennyit se dob :P xD :D De a lényeg hogy valamit sikerült elérni vele :P

EDIT: MEGOLDÓDOTT !! P3NG3R-nek nagyon szépen köszönöm <3 Ment a + Szerintem ez mehet Archivum :)
töröltem [BA]Thymea