Jump to content

Question

14 answers to this question

Recommended Posts

Posted (edited)

wait madam wrong SS

but /thx madam

Alright now I've got a headache

Does it work or not????

This version is working for me as far as I can tell without the maps....

prontera,162,173,4	script	SafeZoneEvent	100,{
	if(.event==2)end;
	if(!.event&&getgmlevel()<10) {
		mes "Sorry but the event isn't active right now.";
		mes "Please come back at a later time.";
		close;
	} else if (!.event&&getgmlevel()>10) {
		mes "Would you like to start the event?";
		next;
		if(select("Yes:No")&2) { mes "Alright, maybe later then."; emotion e_sigh,0; close; }
		set .event,1;
		initnpctimer;
		announce "["+strcharinfo(0)+"] Started the safe zone event in Prontera!",bc_all|bc_yellow;
		close;
	}
	select("[Join]");
	warp "ggpro",19,19;
	close;
OnTimer5000:
	mapannounce "ggpro","[System]:Game Start",bc_map;
	sleep 3000;
	for(set .@i,1;.@i<=10;set .@i,.@i+1)
		callsub Start;
	mapannounce "ggpro","[System]:Game Over",bc_map;
	sleep 3000;
	callsub WarpNoSafe;
	end;
Start:
	set .event,2;
	set .e_x,rand(1,35);
	set .e_y,rand(1,35);
	set .e_t,5;
	callsub WarpShow,.e_x,.e_y;
	while(1) {
		sleep 1000;
		if(set(.e_t,.e_t-1) < 0)
			break;
		else
			callsub ShowEffect;
	}
	callsub WarpNoSafe,.e_x,.e_y;
	sleep 1000;
	return;
OnInit:
	callsub WarpNoSafe;
	end;
WarpNoSafe:
	if(!getarg(0,0)&&!getarg(1,0))
	{
		mapwarp "ggpro","kurag",155,166;
		set .event,0;
		set .e_x,0;
		set .e_y,0;
		set .e_t,0;
		return;
	}
	areawarp	"ggpro",0,0,40,getarg(1)-1,"prontera",150,180;
	areawarp	"ggpro",0,getarg(1)+3,40,40,"prontera",150,180;
	areawarp	"ggpro",0,getarg(1),getarg(0)-1,getarg(1)+2,"prontera",150,180;
	areawarp	"ggpro",getarg(0)+3,getarg(1),40,getarg(1)+2,"prontera",150,180;
	return;
ShowEffect:
	for(set .@i,1; .@i<=8; set .@i,.@i+1)
		initnpctimer "SafeZoneEvent#Effect"+.@i;
	return;
WarpShow:
	movenpc	"SafeZoneEvent#Effect1",getarg(0),getarg(1);
	movenpc	"SafeZoneEvent#Effect2",getarg(0)+1,getarg(1);
	movenpc	"SafeZoneEvent#Effect3",getarg(0)+2,getarg(1);
	movenpc	"SafeZoneEvent#Effect4",getarg(0),getarg(1)+1;
	movenpc	"SafeZoneEvent#Effect5",getarg(0),getarg(1)+2;
	movenpc	"SafeZoneEvent#Effect6",getarg(0)+1,getarg(1)+2;
	movenpc	"SafeZoneEvent#Effect7",getarg(0)+2,getarg(1)+2;
	movenpc	"SafeZoneEvent#Effect8",getarg(0)+2,getarg(1)+1;
	return;

OnMinute00:
	if(!.event ) {
		announce "SafeZoneEvent started in Prontera!",bc_all|bc_yellow;
		set .event,1;
		initnpctimer;
	}
	end;
}
ggpro,1,1,0	script	SafeZoneEvent#Effect1	139,{
OnTimer1:
	specialeffect 59;
	end;
	
}
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect2	139
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect3	139
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect4	139
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect5	139
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect6	139
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect7	139
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect8	139
Edited by Skorm
  • 0
Posted
On 7/4/2013 at 1:02 PM, Skorm said:

Alright now I've got a headache

Does it work or not????

This version is working for me as far as I can tell without the maps....


prontera,162,173,4	script	SafeZoneEvent	100,{
	if(.event==2)end;
	if(!.event&&getgmlevel()<10) {
		mes "Sorry but the event isn't active right now.";
		mes "Please come back at a later time.";
		close;
	} else if (!.event&&getgmlevel()>10) {
		mes "Would you like to start the event?";
		next;
		if(select("Yes:No")&2) { mes "Alright, maybe later then."; emotion e_sigh,0; close; }
		set .event,1;
		initnpctimer;
		announce "["+strcharinfo(0)+"] Started the safe zone event in Prontera!",bc_all|bc_yellow;
		close;
	}
	select("[Join]");
	warp "ggpro",19,19;
	close;
OnTimer5000:
	mapannounce "ggpro","[System]:Game Start",bc_map;
	sleep 3000;
	for(set .@i,1;.@i<=10;set .@i,.@i+1)
		callsub Start;
	mapannounce "ggpro","[System]:Game Over",bc_map;
	sleep 3000;
	callsub WarpNoSafe;
	end;
Start:
	set .event,2;
	set .e_x,rand(1,35);
	set .e_y,rand(1,35);
	set .e_t,5;
	callsub WarpShow,.e_x,.e_y;
	while(1) {
		sleep 1000;
		if(set(.e_t,.e_t-1) < 0)
			break;
		else
			callsub ShowEffect;
	}
	callsub WarpNoSafe,.e_x,.e_y;
	sleep 1000;
	return;
OnInit:
	callsub WarpNoSafe;
	end;
WarpNoSafe:
	if(!getarg(0,0)&&!getarg(1,0))
	{
		mapwarp "ggpro","kurag",155,166;
		set .event,0;
		set .e_x,0;
		set .e_y,0;
		set .e_t,0;
		return;
	}
	areawarp	"ggpro",0,0,40,getarg(1)-1,"prontera",150,180;
	areawarp	"ggpro",0,getarg(1)+3,40,40,"prontera",150,180;
	areawarp	"ggpro",0,getarg(1),getarg(0)-1,getarg(1)+2,"prontera",150,180;
	areawarp	"ggpro",getarg(0)+3,getarg(1),40,getarg(1)+2,"prontera",150,180;
	return;
ShowEffect:
	for(set .@i,1; .@i<=8; set .@i,.@i+1)
		initnpctimer "SafeZoneEvent#Effect"+.@i;
	return;
WarpShow:
	movenpc	"SafeZoneEvent#Effect1",getarg(0),getarg(1);
	movenpc	"SafeZoneEvent#Effect2",getarg(0)+1,getarg(1);
	movenpc	"SafeZoneEvent#Effect3",getarg(0)+2,getarg(1);
	movenpc	"SafeZoneEvent#Effect4",getarg(0),getarg(1)+1;
	movenpc	"SafeZoneEvent#Effect5",getarg(0),getarg(1)+2;
	movenpc	"SafeZoneEvent#Effect6",getarg(0)+1,getarg(1)+2;
	movenpc	"SafeZoneEvent#Effect7",getarg(0)+2,getarg(1)+2;
	movenpc	"SafeZoneEvent#Effect8",getarg(0)+2,getarg(1)+1;
	return;

OnMinute00:
	if(!.event ) {
		announce "SafeZoneEvent started in Prontera!",bc_all|bc_yellow;
		set .event,1;
		initnpctimer;
	}
	end;
}
ggpro,1,1,0	script	SafeZoneEvent#Effect1	139,{
OnTimer1:
	specialeffect 59;
	end;
	
}
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect2	139
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect3	139
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect4	139
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect5	139
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect6	139
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect7	139
ggpro,1,1,0	duplicate(SafeZoneEvent#Effect1)	SafeZoneEvent#Effect8	139

@Skorm First i have the same problem with the one who post this thread . But since you provide yours it happen all of error is gone . But right now the problem is when you are inside the safe zone you get kick out then if you are outside in the safe zone you won't get kick out ....

I check the script and i don't see any problem it is a behavior thing or wrong code ?

Posted

Well I'm pretty sure there multiple things wrong with this script, although your warning and debug messages are showing because you're using a sleep within a while loop.  It should look more like:

 



Start:
	set .event,2;
	set .e_x,rand(1,35);
	set .e_y,rand(1,35);
	set .e_t,5;
	callsub WarpShow,.e_x,.e_y;
	while(1) {
		sleep 1000;
		if(.e_t-- < 0)
			break;
		else
			callsub ShowEffect;
	}
	callsub WarpNoSafe,.e_x,.e_y;
	sleep 1000;
	return;
Posted

Start:

set .event,2;

set .e_x,rand(1,35);

set .e_y,rand(1,35);

set .e_t,5;

callsub WarpShow,.e_x,.e_y;

while(1) {

sleep 1000;

if(set(.e_t,.e_t-1) < 0)

break;

else

callsub ShowEffect;

}

callsub WarpNoSafe,.e_x,.e_y;

sleep 1000;

return;

You're not using rAthena?
Posted (edited)

before:

select("[Join]");
add:
	if(!.event&&getgmlevel()<10) {

mes "Sorry but the event isn't active right now.";

mes "Please come back at a later time.";

close;

} else if (!.event&&getgmlevel()>10) {

mes "Would you like to start the event?";

next;

if(select("Yes:No")&2) { mes "Alright, maybe later then."; emotion e_sigh,0; close; }

set .event,1;

initnpctimer;

announce "["+strcharinfo(0)+"] Started the safe zone event in Prontera!",bc_all|bc_yellow;

close;

}

Edited by Skorm
Posted

where can replace the 

if(!.event&&getgmlevel()<10) {
        mes "Sorry but the event isn't active right now.";
        mes "Please come back at a later time.";
        close;
    } else if (!.event&&getgmlevel()>10) {
        mes "Would you like to start the event?";
        next;
        if(select("Yes:No")&2) { mes "Alright, maybe later then."; emotion e_sigh,0; close; }
        set .event,1;
        announce "["+strcharinfo(0)+] Started the safe zone event in Prontera!",bc_all|bc_yellow;
        close;
    }

/?

Posted

where can replace the 

if(!.event&&getgmlevel()<10) {

        mes "Sorry but the event isn't active right now.";

        mes "Please come back at a later time.";

        close;

    } else if (!.event&&getgmlevel()>10) {

        mes "Would you like to start the event?";

        next;

        if(select("Yes:No")&2) { mes "Alright, maybe later then."; emotion e_sigh,0; close; }

        set .event,1;

        announce "["+strcharinfo(0)+] Started the safe zone event in Prontera!",bc_all|bc_yellow;

        close;

    }

/?

Did you actually color all that out?

Anyways check out your other post regarding this script I posted the full thing with that in it.

Posted (edited)

sorry madam about my another post ..

i replace your code is work but when i warp to ggpro autokick or lose madam

and when i click the npc there no warp for ggpro madam and i try another account the npc is activeted by gm and normal player can join.. 

sorry for bad english



 

 

i use SS madam ...  after the npc actived there no join or warp to ggpro

 

screenFullnbspGuard034.jpg

 

 

screenFullnbspGuard034.jpg

Edited by youtube
Posted (edited)

Pick a topic and stay with it both of the post are about the same npc just pick one of them... As for the getting kicked and whatever that is a completely different problem.

Edit:

Hmm in the first version I post I forgot to start the timer try copying it over again.

Edited by Skorm

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...