Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class 1 prisioner: citizen {
- parameter:
- string fnHi = "Prison_hi.htm";
- string fnGiveDel = "Prison_Give_Del.htm";
- string fnAttack = "Prison_attack.htm";
- string fnPorts = "Prison_ports.htm";
- string fnQuest = "Prison_quest.htm";
- string fnnoItem = "Prison_noItem.htm";
- handler:
- EventHandler CREATED ()
- {
- myself :: AddMoveSuperPointDesire (myself.sm.name, 0,2000);
- myself :: ChangeMoveType (0);
- super;
- }
- EventHandler TALKED (talker) {
- if (myself :: GetInventoryInfo (talker, 1) -myself :: GetInventoryInfo (talker, 0)> = 3)
- {
- // Initial number
- i0 = myself :: OwnItemCount (talker, 20001); // Chains
- i1 = myself :: OwnItemCount (talker, 20002); // Firewood
- i2 = myself :: OwnItemCount (talker, 20003); // key
- i3 = myself :: OwnItemCount (talker, 30027); // Axe
- // There is nothing for the quest
- if (i0 == 0 && i1 == 0 && i2 == 0 && i3 == 0) {
- myself :: ShowPage (talker, fnnoItem);
- }
- // There is a key, and no other item is
- elseif (i2> 0 && i0 == 0 && i1 == 0 && i3 == 0) {
- myself :: ShowPage (talker, fnPorts);
- }
- // There is no firewood and ax
- // Elseif (i1> 0 && i3 == 0) {
- elseif (i1> 0) {
- myself :: ShowPage (talker, fnGiveDel);
- }
- // If there is no chain and ax
- elseif (i0> 0 && i3 == 0) {
- myself :: ShowPage (talker, fnHi);
- }
- // If there is no ax and firewood
- elseif (i3> 0 && i1 == 0) {
- myself :: ShowPage (talker, fnAttack);
- }
- } Else {myself :: ShowSystemMessageStr (talker, "To pass the quest you need to reduce the number of items in the inventory.");}
- }
- EventHandler MENU_SELECTED (talker, ask, reply, i0) {
- if (reply == 1) {
- myself :: ShowPage (talker, fnQuest);
- }
- if (reply == 2) {
- i1 = myself :: OwnItemCount (talker, 30027);
- if (i1 == 0) {
- myself :: GiveItem1 (talker, 30027,1);
- }
- }
- if (reply == 3) {
- myself :: ShowPage (talker, fnHi);
- }
- if (reply == 4) {
- if (talker.karma == 0) {
- myself :: DeleteItem1 (talker, 20002,1);
- myself :: DeleteItem1 (talker, 20001,1);
- i4 = myself :: OwnItemCount (talker, 20001); // Chains
- i5 = myself :: OwnItemCount (talker, 20002); // Firewood
- if (i4 == 1 && i5 == 1) {
- myself :: GiveItem1 (talker, 20003,1);
- }
- }
- else {myself :: DeleteItem1 (talker, 20002,1);}
- }
- if (reply == 6) {
- // "Port Gludio"
- i1 = myself :: OwnItemCount (talker, 20001); // Chains
- i2 = myself :: OwnItemCount (talker, 20002); // Firewood
- i3 = myself :: OwnItemCount (talker, 30027); // Axe
- i4 = myself :: OwnItemCount (talker, 20003); // key
- if (i1! = 0) {
- myself :: DeleteItem1 (talker, 20003, i1);
- }
- if (i2! = 0) {
- myself :: DeleteItem1 (talker, 20003, i2);
- }
- if (i3! = 0) {
- myself :: DeleteItem1 (talker, 20003, i3);
- }
- if (i4! = 0) {
- myself :: DeleteItem1 (talker, 20003, i4);
- }
- myself :: InstantTeleport (talker, -12694,122776, -3114);
- }
- if (reply == 7) {
- // "Port Dion"
- i1 = myself :: OwnItemCount (talker, 20001); // Chains
- i2 = myself :: OwnItemCount (talker, 20002); // Firewood
- i3 = myself :: OwnItemCount (talker, 30027); // Axe
- i4 = myself :: OwnItemCount (talker, 20003); // key
- if (i1! = 0) {
- myself :: DeleteItem1 (talker, 20003, i1);
- }
- if (i2! = 0) {
- myself :: DeleteItem1 (talker, 20003, i2);
- }
- if (i3! = 0) {
- myself :: DeleteItem1 (talker, 20003, i3);
- }
- if (i4! = 0) {
- myself :: DeleteItem1 (talker, 20003, i4);
- }
- myself :: InstantTeleport (talker, 15671,142994, -2704);
- }
- if (reply == 8) {
- // "Giran Port"
- i1 = myself :: OwnItemCount (talker, 20001); // Chains
- i2 = myself :: OwnItemCount (talker, 20002); // Firewood
- i3 = myself :: OwnItemCount (talker, 30027); // Axe
- i4 = myself :: OwnItemCount (talker, 20003); // key
- if (i1! = 0) {
- myself :: DeleteItem1 (talker, 20003, i1);
- }
- if (i2! = 0) {
- myself :: DeleteItem1 (talker, 20003, i2);
- }
- if (i3! = 0) {
- myself :: DeleteItem1 (talker, 20003, i3);
- }
- if (i4! = 0) {
- myself :: DeleteItem1 (talker, 20003, i4);
- }
- myself :: InstantTeleport (talker, 83458,148012, -3400);
- }
- if (reply == 9) {
- // "Port Oren"
- i1 = myself :: OwnItemCount (talker, 20001); // Chains
- i2 = myself :: OwnItemCount (talker, 20002); // Firewood
- i3 = myself :: OwnItemCount (talker, 30027); // Axe
- i4 = myself :: OwnItemCount (talker, 20003); // key
- if (i1! = 0) {
- myself :: DeleteItem1 (talker, 20003, i1);
- }
- if (i2! = 0) {
- myself :: DeleteItem1 (talker, 20003, i2);
- }
- if (i3! = 0) {
- myself :: DeleteItem1 (talker, 20003, i3);
- }
- if (i4! = 0) {
- myself :: DeleteItem1 (talker, 20003, i4);
- }
- myself :: InstantTeleport (talker, 83011,53207, -1470);
- }
- if (reply == 10) {
- // "The port of Aden"
- i1 = myself :: OwnItemCount (talker, 20001); // Chains
- i2 = myself :: OwnItemCount (talker, 20002); // Firewood
- i3 = myself :: OwnItemCount (talker, 30027); // Axe
- i4 = myself :: OwnItemCount (talker, 20003); // key
- if (i1! = 0) {
- myself :: DeleteItem1 (talker, 20003, i1);
- }
- if (i2! = 0) {
- myself :: DeleteItem1 (talker, 20003, i2);
- }
- if (i3! = 0) {
- myself :: DeleteItem1 (talker, 20003, i3);
- }
- if (i4! = 0) {
- myself :: DeleteItem1 (talker, 20003, i4);
- }
- myself :: InstantTeleport (talker, 146705,25840, -2000);
- }
- if (reply == 11) {
- // "Port Godart"
- i1 = myself :: OwnItemCount (talker, 20001); // Chains
- i2 = myself :: OwnItemCount (talker, 20002); // Firewood
- i3 = myself :: OwnItemCount (talker, 30027); // Axe
- i4 = myself :: OwnItemCount (talker, 20003); // key
- if (i1! = 0) {
- myself :: DeleteItem1 (talker, 20003, i1);
- }
- if (i2! = 0) {
- myself :: DeleteItem1 (talker, 20003, i2);
- }
- if (i3! = 0) {
- myself :: DeleteItem1 (talker, 20003, i3);
- }
- if (i4! = 0) {
- myself :: DeleteItem1 (talker, 20003, i4);
- }
- myself :: InstantTeleport (talker, 147 978, -55408, -2728);
- }
- }
- }
Add Comment
Please, Sign In to add comment