Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local story = {
- variables = {
- clickCount = {
- startValue = 0,
- temporary = true -- resets on Gossip Hello
- },
- clickCountWithoutReset = {
- startValue = 0 -- Will stay as long as the story is loaded
- },
- randomChoice = {
- startValue = 0,
- temporary = true
- },
- setFromScript = {
- startValue = 0 -- Temporary would not make sense here
- }
- },
- [1] = {
- text = [[Player name: $N
- Player Level: $L
- Player Race: $R
- Player Class: $C
- Player Gender based: $G(Male:Female)
- Player Target Name: $T
- Player Guild name: $H
- Player Guild rank: $I
- Player Zone: $Z
- Player Area: $A
- Creature name: $CN
- SetFromScript: $setFromScript]],
- options = {
- {
- text = [[Option 1]],
- next = 2
- },
- {
- text = [[Option 2]],
- next = 3
- },
- {
- text = [[This will not progress the story]],
- next = 4,
- onSelect = function(story, player, creature)
- return false; -- Will stop story progress
- end
- },
- {
- text = [[Go to Clickcounter]],
- next = 5
- },
- {
- text = [[Give NPC Item]],
- next = 4,
- onSelect = function(story, player, creature)
- if player:HasItem(12345, 1) then -- Always recheck, player can e.g. trade the item while Gossip is open
- player:RemoveItem(12345, 1);
- else
- return false;
- end
- end,
- condition = function(story, player, creature)
- return player:HasItem(12345, 1);
- end
- },
- {
- text = [[Get a random choice]],
- next = 6,
- onSelect = function(story, player, creature)
- story.variables.randomChoice.value = math.random(0, 1);
- end
- },
- {
- text = [[Unregister Story]],
- onSelect = function(story, player, creature)
- UnregisterStory(creature:GetEntry());
- end
- },
- },
- },
- [2] = {
- text = [[You picked option 1.]],
- options = {
- {
- text = [[Jump to option 2 anyway]],
- next = 3
- }
- }
- },
- [3] = {
- text = [[You picked option 2.]],
- options = {
- {
- text = [[Go to id 4]],
- next = 4
- }
- }
- },
- [4] = {
- text = [[You reached the end]],
- options = {
- {
- text = [[Go back to start]],
- next = 1
- }
- }
- },
- [5] = {
- text = [[Clickcount: $clickCount
- Clickcount without reset: $clickCountWithoutReset]],
- options = {
- {
- text = [[Increase Clickcount]],
- next = 5,
- onSelect = function(story, player, creature)
- story.variables.clickCount.value = story.variables.clickCount.value + 1;
- story.variables.clickCountWithoutReset.value = story.variables.clickCountWithoutReset.value + 1;
- end
- },
- {
- text = [[Clickcounter reached 5!]],
- next = 5,
- onSelect = function(story, player, creature)
- player:SendUnitSay("Clickcounter reached 5!", 0);
- end,
- condition = function(story, player, creature)
- return story.variables.clickCount.value >= 5;
- end
- },
- {
- text = [[Reset All Temporary Story Variables]],
- next = 5,
- onSelect = function(story, player, creature)
- story:ResetTemporary();
- end,
- condition = function(story, player, creature)
- return story.variables.clickCount.value >= 5;
- end
- },
- {
- text = [[Reset All Story Variables]],
- next = 5,
- onSelect = function(story, player, creature)
- story:Reset();
- end,
- condition = function(story, player, creature)
- return story.variables.clickCount.value >= 5;
- end
- },
- {
- text = [[Go Back]],
- next = 1
- }
- }
- },
- [6] = {
- text = [[Here's your random choice!]],
- options = {
- {
- text = [[Random Choice 1]],
- next = 1,
- condition = function(story, player, creature)
- return story.variables.randomChoice.value == 0;
- end
- },
- {
- text = [[Random Choice 2]],
- next = 1,
- condition = function(story, player, creature)
- return story.variables.randomChoice.value == 1;
- end
- }
- }
- }
- };
- RegisterStory(3431, story); -- Don't forget to give that creature the gossip npcflag (1) in the database
- SetStoryVariableValue(3431, "setFromScript", 1234); -- We set a variable value from outside
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement