how to change this menu to fix

jpnazar

New member
Messages
25
Points
0
i want this script does not change the # of special poring , normal poring , and the prize

prize: 7227 location: prontera special poring: 20 normal poring : 100 .
 

Code:
quiz_00,72,36,3	script	Poring Summoner	99,{mes "[Poring Summoner]";if(getgmlevel() < 99) {	if(.Event) mes "There is no Poring Summon Event on now.";	else {		mes "There is a Poring Summon Event on now!";		mes "Location: " + .Map$;		mes "Special Porings: " + .SpecialPorings[1];		mes "Normal Porings: " + .NormalPorings[0];	}	close;}mes "Please customize the Poring Summon Event:";Main:next;mes "[Poring Summoner]";	switch(select("Item [" + getitemname(.ItemID) + "]:Location [" + .Map$ + "]:Special Porings [" + .SpecialPorings + "]:Normal Porings [" + .NormalPorings + "]:Start Event:End Event")) {		case 1:			mes "Which item would you like Special Summon to drop?";			mes "Please input the item ID:";			input .ItemID;			goto Main;		case 2:			mes "Which map would you like me to host this event?";			input .Map$;			goto Main;		case 3:			mes "How many Special Summon would you like me to summon?";			input .SpecialPorings;			goto Main;		case 4:			mes "How many Normal Summon would you like me to summon?";			input .NormalPorings;			goto Main;		case 5:			mes "Starting the event now...";			set .Event,1;			monster .Map$,0,0,"Poring Event",1002,.SpecialPorings,"Poring Summoner::OnSpecialKill";			monster .Map$,0,0,"Poring Event",1002,.NormalPorings,"Poring Summoner::OnNormalKill";			set .SpecialPorings[1],.SpecialPorings;			set .NormalPorings[1],.NormalPorings;			announce "The Poring Event has begun!",bc_all;			announce "Location: " + .Map$,bc_all;			announce "Special Porings: " + .SpecialPorings,bc_all;			announce "Normal Porings: " + .NormalPorings,bc_all;			close;		case 6:			mes "Ending the event now...";			goto EndEvent;	}OnSpecialKill:	set .SpecialPorings[1],.SpecialPorings[1]-1;	announce strcharinfo(0) + " got a " + getitemname(.ItemID) + "!",bc_all;	getitem .ItemID,1;	goto PoringCount;OnNormalKill:	set .NormalPorings[1],.NormalPorings[1]-1;	goto PoringCount;PoringCount:	announce "Special Porings: " + .SpecialPorings[1] + " || Normal Porings: " + .NormalPorings[1],bc_all;	if(!.SpecialPorings[1]) goto EndEvent;	end;EndEvent:	if(.Event) announce "The Poring Summon Event is now over!",bc_all;	killmonster .Map$,"All";	set .Event,0;	set .SpecialPorings[1],0;	set .NormalPorings[1],0;	close;}
 
You basically need to remove the different cases that allow to change the event options and pre-set the variables in order to disable their change.

This is what it'd end up looking like, keep in mind I have not tested this script. 

Code:
quiz_00,72,36,3	script	Poring Summoner	99,{.ItemID = 7227;.Map$ = "prontera";.SpecialPorings[1] = 20;.NormalPorings[0] = 100;mes "[Poring Summoner]";if(getgmlevel() < 99) {	if(.Event) mes "There is no Poring Summon Event on now.";	else {		mes "There is a Poring Summon Event on now!";		mes "Location: " + .Map$;		mes "Special Porings: " + .SpecialPorings[1];		mes "Normal Porings: " + .NormalPorings[0];	}	close;}mes "Please customize the Poring Summon Event:";Main:next;mes "[Poring Summoner]";mes "- Item: "+getitemname(.ItemID);mes "- Location: "+.Map$;mes "- Special Porings: "+.SpecialPorings; mes "- Normal Porings: "+.NormalPorings;switch(select(Start Event:End Event")) {		case 1:			mes "Starting the event now...";			set .Event,1;			monster .Map$,0,0,"Poring Event",1002,.SpecialPorings,"Poring Summoner::OnSpecialKill";			monster .Map$,0,0,"Poring Event",1002,.NormalPorings,"Poring Summoner::OnNormalKill";			set .SpecialPorings[1],.SpecialPorings;			set .NormalPorings[1],.NormalPorings;			announce "The Poring Event has begun!",bc_all;			announce "Location: " + .Map$,bc_all;			announce "Special Porings: " + .SpecialPorings,bc_all;			announce "Normal Porings: " + .NormalPorings,bc_all;			close;		case 2:			mes "Ending the event now...";			goto EndEvent;	}OnSpecialKill:	set .SpecialPorings[1],.SpecialPorings[1]-1;	announce strcharinfo(0) + " got a " + getitemname(.ItemID) + "!",bc_all;	getitem .ItemID,1;	goto PoringCount;OnNormalKill:	set .NormalPorings[1],.NormalPorings[1]-1;	goto PoringCount;PoringCount:	announce "Special Porings: " + .SpecialPorings[1] + " || Normal Porings: " + .NormalPorings[1],bc_all;	if(!.SpecialPorings[1]) goto EndEvent;	end;EndEvent:	if(.Event) announce "The Poring Summon Event is now over!",bc_all;	killmonster .Map$,"All";	set .Event,0;	set .SpecialPorings[1],0;	set .NormalPorings[1],0;	close;}
 
Xgear, you have a little mistake in line 25:

switch(select(Start Event:End Event")) {
should be:

switch(select("Start Event:End Event")) {

Correcting this, the NPC event would be OK.

 
can you give me the fix 

Xgear, you have a little mistake in line 25:

switch(select(Start Event:End Event")) {
should be:

switch(select("Start Event:End Event")) {

Correcting this, the NPC event would be OK.
script?

 
Edited LINE 25 as jaBote stated:

switch(select("Start Event:End Event")) {

Your script now will be:

Code:
quiz_00,72,36,3	script	Poring Summoner	99,{.ItemID = 7227;.Map$ = "prontera";.SpecialPorings[1] = 20;.NormalPorings[0] = 100;mes "[Poring Summoner]";if(getgmlevel() < 99) {	if(.Event) mes "There is no Poring Summon Event on now.";	else {		mes "There is a Poring Summon Event on now!";		mes "Location: " + .Map$;		mes "Special Porings: " + .SpecialPorings[1];		mes "Normal Porings: " + .NormalPorings[0];	}	close;}mes "Please customize the Poring Summon Event:";Main:next;mes "[Poring Summoner]";mes "- Item: "+getitemname(.ItemID);mes "- Location: "+.Map$;mes "- Special Porings: "+.SpecialPorings; mes "- Normal Porings: "+.NormalPorings;switch(select("Start Event:End Event")) {		case 1:			mes "Starting the event now...";			set .Event,1;			monster .Map$,0,0,"Poring Event",1002,.SpecialPorings,"Poring Summoner::OnSpecialKill";			monster .Map$,0,0,"Poring Event",1002,.NormalPorings,"Poring Summoner::OnNormalKill";			set .SpecialPorings[1],.SpecialPorings;			set .NormalPorings[1],.NormalPorings;			announce "The Poring Event has begun!",bc_all;			announce "Location: " + .Map$,bc_all;			announce "Special Porings: " + .SpecialPorings,bc_all;			announce "Normal Porings: " + .NormalPorings,bc_all;			close;		case 2:			mes "Ending the event now...";			goto EndEvent;	}OnSpecialKill:	set .SpecialPorings[1],.SpecialPorings[1]-1;	announce strcharinfo(0) + " got a " + getitemname(.ItemID) + "!",bc_all;	getitem .ItemID,1;	goto PoringCount;OnNormalKill:	set .NormalPorings[1],.NormalPorings[1]-1;	goto PoringCount;PoringCount:	announce "Special Porings: " + .SpecialPorings[1] + " || Normal Porings: " + .NormalPorings[1],bc_all;	if(!.SpecialPorings[1]) goto EndEvent;	end;EndEvent:	if(.Event) announce "The Poring Summon Event is now over!",bc_all;	killmonster .Map$,"All";	set .Event,0;	set .SpecialPorings[1],0;	set .NormalPorings[1],0;	close;}
 
Last edited by a moderator:
jpnazar: It isn't that difficult to change that line yourself when I've clearly stated that change and you have full source code for the NPC. What prevents you from doing that simple task yourself?

Echelon: Thanks!

 
Some people are not confident in making corrections, either don't know how to do it or are not familiar with being able to correct changes.

 
Probabbly, but I've always thought the best way to learn how something works, is to break it first. 

There was only one line that matched the correction, ctrl+f and copy/paste would've managed. 

I belive most of the community here has no issues helping when needing and has the best will when it comes to teaching, but doing someone else's stuff because they have no will to learn is something I personally don't like and I believe its almost rude, as we're taking the time to help, so the other person should at least try to take the time to understand how they're being helped and learn something out of it (And this applies as a general rule in life)

 
Back
Top