Show the full quest, and tell in English what your problem is if you can.
Beiträge von Syreldar
-
-
Maybe store them in questflags.
pc.setqf("dungeon_enter_x", pc.get_x())
pc.setqf("dungeon_enter_y", pc.get_y())(Not sure about the correct spelling of the position functions)
That's correct sir.
-
English, please.
-
Hey, explain in english what your problem is, and i'll be glad to help you.
Edit: I think I understood, you want to substitute the Gold requirement with tot. number of player kills..it's easy, send me the quest.
-
01/06/2018:
- Added factorial (factorial(5) returns 120);
-
yes the dungeon itself doesn't start after the tp. And the timer doesn't unlock the teleport again. Bitte melden Sie sich an, um diesen Link zu sehen. you got any idea why?
Code- quest beran begin
- state start begin
- function LockRoom()
- game.set_event_flag("Bossraumvoll", 1);
- end -- function
- function UnlockRoom()
- game.set_event_flag("Bossraumvoll", 0);
- end -- function
- function IsRoomLocked()
- return game.get_event_flag("Bossraumvoll") == 1;
- end -- function
- function WarpInDungeon(index, x, y)
- beran.LockRoom();
- if (party.is_leader()) then
- d.new_jump_party(index, x, y);
- else
- d.new_jump(index, x*100, y*100);
- end -- if/else
- end -- function
- function InDungeon()
- local pc_index = pc.get_map_index();
- return
- pc.in_dungeon() and
- pc_index >= 2080000 and
- pc_index < 2090000;
- end -- function
- when login with beran.InDungeon() and party.is_leader() or (pc.is_gm() and not party.is_party()) begin
- server_timer("bosscooldown", 30, d.get_map_index());
- d.notice("Welcome to the Beran-Setaou Run, from now on you will have 30 minutes of time to complete the dungeon.")
- end -- when
- when 30121.chat."Der Beran" with pc.get_level() >= 150 begin
- say_title(string.format("%s:[ENTER]", mob_name(npc.get_race())))
- if (beran.IsRoomLocked()) then
- say_reward("Der Dungeon ist zurzeit voll und die 15 Minuten sind noch nicht vorbei!")
- say_reward("Du musst noch etwas warten.")
- return;
- end -- if
- local necessary_item = 30179;
- say("Du willst dich also am Beran versuchen?")
- say("ich hoffe du weißt was du vor hast, der Beran ist so stark das du ihn allein nicht besiegen kannst.[ENTER]")
- say("Wenn du wirklich den Beran herausfordern willst musst du in einer Gruppe sein und mir einen Herausforderungsschein bringen!")
- say_item_vnum(necessary_item);
- if (select("Ich bin bereit!", "Nein noch nicht") == 1) then
- if (pc.count_item(necessary_item) == 0) then
- say_title(string.format("%s:[ENTER]", mob_name(npc.get_race())))
- say_reward("Dir fehlt der Schlüssel.[ENTER]");
- return;
- elseif (not party.is_leader() and not pc.is_gm()) then
- say_title(string.format("%s:[ENTER]", mob_name(npc.get_race())))
- say_reward("You must be the leader of a party to request access to the dungeon.[ENTER]");
- return;
- end -- if/elseif
- beran.WarpInDungeon(208, x, y); -- set here
- end -- if
- end -- when
- when bosscooldown.server_timer begin
- if (d.select(get_server_timer_arg())) then
- beran.UnlockRoom();
- notice_all("The Beran Run's room is free again")
- d.notice("Time expired, you will be warped outside.")
- d.exit_all();
- end -- if
- end -- when
- end -- state
- end -- quest
-
The function was declared earlier in the quest itself, it should be usable..
it doesn't matter, you need to declare it in the quest_function without this, you are not able to use this function in your quest
No, johhny was right, he was getting the error cause i called WarpInDungeon as global function and not local function, the right thing to call is beran.WarpInDungeon.
I did and know i get an error saying : Bitte melden Sie sich an, um diesen Link zu sehen.
c/p it again i fixed it, sorry.
-
yes the dungeon itself doesn't start after the tp. And the timer doesn't unlock the teleport again. Bitte melden Sie sich an, um diesen Link zu sehen. you got any idea why?
Yes.
Java- quest beran begin
- state start begin
- function LockRoom()
- game.set_event_flag("Bossraumvoll", 1);
- end -- function
- function UnlockRoom()
- game.set_event_flag("Bossraumvoll", 0);
- end -- function
- function IsRoomLocked()
- return game.get_event_flag("Bossraumvoll") == 1;
- end -- function
- function WarpInDungeon(index, x, y)
- beran.LockRoom();
- if (party.is_leader()) then
- d.new_jump_party(index, x, y);
- else
- d.new_jump(index, x*100, y*100);
- end -- if/else
- end -- function
- function InDungeon()
- local pc_index = pc.get_map_index();
- return
- pc.in_dungeon() and
- pc_index >= 2080000 and
- pc_index < 2090000;
- end -- function
- when login with beran.InDungeon() and party.is_leader() or (pc.is_gm() and not party.is_party()) begin
- server_timer("bosscooldown", 30, d.get_map_index());
- d.notice("Welcome to the Beran-Setaou Run, from now on you will have 30 minutes of time to complete the dungeon.")
- end -- when
- when 30121.chat."Der Beran" with pc.get_level() >= 150 begin
- say_title(string.format("%s:[ENTER]", mob_name(npc.get_race())))
- if (beran.IsRoomLocked()) then
- say_reward("Der Dungeon ist zurzeit voll und die 15 Minuten sind noch nicht vorbei!")
- say_reward("Du musst noch etwas warten.")
- return;
- end -- if
- local necessary_item = 30179;
- say("Du willst dich also am Beran versuchen?")
- say("ich hoffe du weißt was du vor hast, der Beran ist so stark das du ihn allein nicht besiegen kannst.[ENTER]")
- say("Wenn du wirklich den Beran herausfordern willst musst du in einer Gruppe sein und mir einen Herausforderungsschein bringen!")
- say_item_vnum(necessary_item);
- if (select("Ich bin bereit!", "Nein noch nicht") == 1) then
- if (pc.count_item(necessary_item) == 0) then
- say_title(string.format("%s:[ENTER]", mob_name(npc.get_race())))
- say_reward("Dir fehlt der Schlüssel.[ENTER]");
- return;
- elseif (not party.is_leader() and not pc.is_gm()) then
- say_title(string.format("%s:[ENTER]", mob_name(npc.get_race())))
- say_reward("You must be the leader of a party to request access to the dungeon.[ENTER]");
- return;
- end -- if/elseif
- beran.WarpInDungeon(208, x, y); -- set here
- end -- if
- end -- when
- when bosscooldown.server_timer begin
- if (d.select(get_server_timer_arg())) then
- beran.UnlockRoom();
- notice_all("The Beran Run's room is free again")
- d.notice("Time expired, you will be warped outside.")
- d.exit_all();
- end -- if
- end -- when
- end -- state
- end -- quest
-
Code
- elseif pc.is_gm() then --ignore everything if you are a GM
- pc.setqf("Bossraumvoll", 1)
- timer("bosscooldown", 30)
- d.new_jump_party(208, 202, 212)
- elseif not party.is_party() then --denied if not in group
- syschat("Du musst in einer Gruppe sein!")
- else
- pc.setqf("Bossraumvoll", 1) --blocks the room
- timer("bosscooldown", 900) --time for 15 mins
- d.jump_all(819200, 1049600)
I think you are pretty confused.
You are using d.new_jump_party if you are a GM without checking for a group nor for the party leader, you can't use that function without being in a group. (besides, you are using The X and Y arguments wrongly.)
Then and only then you check for a party (??)
Then if none of the following is met, you try warp ALL the players in map inside.So you basically wrote nothing,
P.s: How the hell do you expect to block the room to other players by setting a local questflag? The functions you're looking for here are game.set_event_flag and game.get_event_flag.
-
remove '/r' at the end of the quest's name inside the index file.
-
server_attr doesn't let mobs spawn in safe zones.
279, 91 and 279, 85 are safe zones
-
30/04/2018:
- Reworked table_shuffle, since it was not working properly.
- Added InDungeon(map_index) [bool].
- Added ToDungeonIndex(map_index) [int].
-
se vuole lasciare una piccola cosa piuttosto xD piuttosto costoso con lui ... per la DC, l'unico gruppo è stato eliminato, voleva 50 ¬
uhm.. that's quite false. But ok..i guess it's allowed to say random prices to the community to trashtalk the devs.
Dari è 0 altamente raccomandato, mi risponde che non sono in un mese e la 3 ricerca che ha fatto per me è difettosa. Nella quarta missione, ha dovuto rivederlo 15 volte fino a quando non l'ha ottenuto. Il tipo è 0 fidato. Quindi se offri già un servizio dovresti anche dare supporto specialmente se gli errori provengono da lui.
What you give is what you get, i guess. I've written countless quests for you and then you just started saying bullshit out of nowhere, I don't do business with people who just make me waste time and effort.
Yes, the last 2 works i've done for you were lacking both tests and will to finish developing them and that's true (I still finished the 2nd work without questioning, just like you said) but did you ask yourself why I stopped responding?
I gave you the missing work on Skype, but stop trashtalking me in front of others, you have no right to do that after everything i did for you.
-
Bitte melden Sie sich an, um diesen Link zu sehen.
-
This only enables the new bonuses, it has nothing to do with the talismans, there is no new slot management nor equipment part.
-
'The hell are you saying? Please don't comment if you are clueless.
-
Set the shops inside your shop and shop_item table, then call them using the func arg.
If you're skilled enough with lua, you can write a clean shop opening quest, like this.Java- quest shop begin
- state start begin
- function GetData()
- local data = {
- -- [NPC_VNUM] = {["vnum"] = The vnum of the shop, ["name"] = The name of the shop},
- [9002] = {
- [1] = {["vnum"] = YOUR_SHOP_VNUM_HERE, ["name"] = "Krieger-Sura Waffen"},
- [2] = {["vnum"] = YOUR_SHOP_VNUM_HERE, ["name"] = "Ninja Waffen"},
- [3] = {["vnum"] = YOUR_SHOP_VNUM_HERE, ["name"] = "Schamanen Waffen"},
- [4] = {["vnum"] = YOUR_SHOP_VNUM_HERE, ["name"] = "Lykaner Waffen"}
- -- You can insert more shops for this npc here
- },
- -- You can insert more npcs here
- };
- return data;
- end -- function
- when 9002.click --[[or ANOTHER_NPC_VNUM.click]] begin
- -- You can add as many as you want, the code is recursive and bound to the GetData() function
- local shop_data = shop.GetData()[npc.get_race()];
- say_title(string.format("%s:[ENTER]", mob_name(npc.get_race())))
- say_reward("Was willst du tun?[ENTER]")
- local selection_table = {};
- for index, shop in ipairs(shop_data) do
- table.insert(selection_table, shop["name"]);
- end -- for
- table.insert(selection_table, "Abbruch");
- local selection = select_table(selection_table);
- if (selection < table.getn(selection_table)) then
- npc.open_shop(shop_data[selection]["vnum"]);
- end -- if
- end -- when
- end -- state
- end -- quest
-
They lack the motions on their folders / motionlist.
-
sigh..
C- quest skill_group_new begin
- state start begin
- function SkillSetPerJob(job)
- local array = {
- [0] = {
- "Körper-Kampf Ausbildung",
- "Mental-Kampf Ausbildung"
- },
- [1] = {
- "Nahkampf Ausbildung",
- "Fernkampf Ausbildung"
- },
- [2] = {
- "Magische-Waffen Ausbildung",
- "Schwarze-Magie Ausbildung"
- },
- [3] = {
- "Drachenmacht Ausbildung",
- "Heilung Ausbildung"
- }
- };
- return array[job];
- end -- function
- when login or levelup with pc.get_level() >= 5 and pc.get_skill_group() == 0 begin
- send_letter("Die Ausbildung");
- end -- when
- when button or info with pc.get_level() >= 5 and pc.get_skill_group() == 0 begin
- say_title("Ausbildung:[ENTER]")
- say("Du hast die Möglichkeit eine Ausbildung anzufangen.")
- say("Wähle bitte eine Ausbildung aus:[ENTER]")
- local selection_table = skill_group_new.SkillSetPerJob(pc.get_job());
- table.insert(selection_table, "I'll choose later");
- local selection = select_table(selection_table);
- if (selection ~= table.getn(selection_table)) then
- pc.set_skill_group(selection);
- pc.clear_skill();
- q.done();
- end -- if
- end -- when
- end -- state
- end -- quest
-
Is it official or did you manually made it?