Jump to content
Sign in to follow this  
Leeooh

[Resolvido] Horário de NPC.

Recommended Posts

Amigos, uma ajuda urgente.. Eu já tentei colocar horário neste NPC, porém não consigo sempre buga, e o npc quando da o horário da WoE e os jogadores entram(com o horário mudado), eles retornam para prontera alegando que: "A devil square chegou ao fim, obrigado por participar" . EU gostaria de colocar 3 vezes por dia, tipo, 16horas, 18horas, e 23 horas. És o NPC : http://pastebin.com/maMxbbaL

Peço a ajuda de vocês por favor, se possível testado. MUITO OBRIGADO.

Share this post


Link to post
Share on other sites

ué, eu uso ele também, só mudar

OnMinute50:

para

OnHour16:

OnHour18:

OnHour23:

Share this post


Link to post
Share on other sites

Amigos, uma ajuda urgente.. Eu já tentei colocar horário neste NPC, porém não consigo sempre buga, e o npc quando da o horário da WoE e os jogadores entram(com o horário mudado), eles retornam para prontera alegando que: "A devil square chegou ao fim, obrigado por participar" . EU gostaria de colocar 3 vezes por dia, tipo, 16horas, 18horas, e 23 horas. És o NPC : http://pastebin.com/maMxbbaL

Peço a ajuda de vocês por favor, se possível testado. MUITO OBRIGADO.

Carinha, eu já tinha arrumado o problema de os players retornarem para prontera em um tópico que você criou.

Aqui está:

// =========================================================== //// Nome: Devil Square por Stuff// =========================================================== //// Versão: 1.0// =========================================================== //// Autor: Wenden// =========================================================== //// Descrição: É como outros devil square a diferença é que cada monstro que você mata// você recebe uma quantidade aleatória de certo item, tanto a quantidade quanto o item// é configurado aqui no script na linha 165. Os item ganhados poderão ser trocados// no próprio npc por outros itens configurados por você na linha 165.// O Npc é em SQL onde são salvos os nomes, char ids, accounts ids e pontos dos jogadores// quando matarem os monstros. Quando a última rodada chegar ao fim, que no caso a última// é a 5° rodada, o npc fará um lista dos 5 jogadores que mais mataram monstros, eles serão// teletransportados para o meio do mapa onde irão correr atrás de destruir as Caixas do Tesouro.// O outros jogadores que não aparecem na lista dos 5 que mais mataram monstros serão// teletransportados para prontera.// =========================================================== // prontera,174,196,5	script	Devil Square	792,{ 	mes	"["+strnpcinfo(1)+"]";	mes "Bem-vindo aventureiro.";	mes "Eu tenho um desafio para você";	mes "deseja aceitar?";	next;		switch(select("Sim, eu aceito:Não, volto depois:Trocar "+getitemname($@id)+":Quero informações")){ 			Case 1:			if($aberto == 0){			mes	"["+strnpcinfo(1)+"]";			mes "A Devil Square está fechado";			mes "no momento, volte mais tarde.";			Close;			} 			percentheal 100,100;			warp "ordeal_1-1",189,189;			announce strcharinfo(0)+" entrou na Devil Square.",8;			end; 			Case 2:			mes	"["+strnpcinfo(1)+"]";			mes "Estarei aqui quando precisar";			mes "de um desafio.";			Close; 			Case 3:			if(!countitem($@id)){			mes	"["+strnpcinfo(1)+"]";			mes "Você não possui nenhuma";			mes "^FF0000"+getitemname($@id)+"^000000.";			Close;			}			mes	"["+strnpcinfo(1)+"]";			mes "Escolha qual item deseja trocar";			mes "por ^FF0000"+getitemname($@id)+"^000000.";			next; 				set @menu$,"";				for(set @i,0; @i < getarraysize($@l); set @i,@i+1)				set @menu$,@menu$+""+getitemname($@l[@i])+" - ^FF0000"+$@y[@i]+"^000000x "+getitemname($@id)+":";				set @menu$,@menu$+"Cancelar";				set @sel,select(@menu$)-1;				if(@sel == getarraysize($@l)) Close; 				mes	"["+strnpcinfo(1)+"]";				mes "Agora me diga quantos";				mes "^FF0000"+getitemname($@l[@sel])+"^000000 você quer.";				mes "- 0 para Cencelar.";				next;					input @qnt;					if(@qnt == 0) Close; 					set @cost,$@y[@sel]*@qnt; 						mes	"["+strnpcinfo(1)+"]";						mes "^FF0000"+@qnt+"^000000x ^FF0000"+getitemname($@l[@sel])+"^000000";						mes "São ^FF0000"+@cost+"^000000x ^FF0000"+getitemname($@id)+"^000000.";						mes "Deseja realizar a troca?";						next;							if(select("Sim:Não") == 2) Close; 							if(countitem($@id) < @cost){							mes	"["+strnpcinfo(1)+"]";							mes "Você não tem ^FF0000"+getitemname($@id)+"^000000";							mes "suficientes para realizar a troca.";							Close;							}						mes	"["+strnpcinfo(1)+"]";						mes "Está feito...";						mes "Aqui está seus";						mes "^FF0000"+getitemname($@l[@sel])+"^000000.";						Close2;						delitem $@id,@cost;						getitem $@l[@sel],@qnt;						end; 			Case 4:			mes	"["+strnpcinfo(1)+"]";			mes "A Devil Square é um evento";			mes "automático ondes surgem vários";			mes "monstros e o objetivo dos";			mes "jogadores é matar todos os monstros.";			next;			mes	"["+strnpcinfo(1)+"]";			mes "O Objetivo final é chegar a última";			mes "rodada onde surgem as";			mes "Caixas do Tesouro.";			next;			mes	"["+strnpcinfo(1)+"]";			mes "A cada monstro que você mata";			mes "você recebe ^FF0000"+getitemname($@id)+"^000000";			mes "a quantidade é aleatória.";			mes "As Caixas do Tesouro dão uma";			mes "quantidade mais alta de ^FF0000"+getitemname($@id)+"^000000.";			next;			mes	"["+strnpcinfo(1)+"]";			mes "Com esses itens você pode trocar";			mes "aqui mesmo por itens, os itens são";			mes "configurados pelo Administrador.";			next;			mes	"["+strnpcinfo(1)+"]";			mes "Mas para chegar até a rodada das";			mes "Caixas do Tesouro você precisar";			mes "matar muitos monstros, porque";			mes "somente os 5 jogadores que";			mes "mais matarem monstros irão";			mes "chegar a rodada Final.";			next;			mes "["+strnpcinfo(1)+"]";			mes "Os demais serão teletransportados";			mes "para prontera, os jogadores que";			mes "continuarem no evento irão correr";			mes "atrás das Caixas do Tesouro.";			Close;		} 		OnInit:		// Configurações 		set $@id,673; // Id do item que será recebido ao matar os monstros e as caixas do tesouro. Padrão: [671 = Moeda Poring].		setarray $@p[0],1,2; // Quantidade de itens que serão sorteados ao matar os monstros. Padrão: [Entre 1 e 2].		setarray $@b[0],20,30,40,50; // Quantidade de itens que serão sorteados ao destruir as Caixas do Tesouro. Padrão: [Entre 20,30,40 e 50];		setarray $@l[0],671,7549,678,7135,7136,7139; // Id dos itens que poderão ser trocados.		setarray $@y[0],3,6,5,3,3,6; // Preço dos itens que poderão ser trocados. 		waitingroom "Devil Square",0;		end;} ordeal_1-1,182,183,5	script	DS2	-1,{ 	OnTimer30000:	if($status == 0) end;	if (getmapusers("ordeal_1-1") == 0){ Announce "Todos os players foram mortos na Devil Square!!",8; set $status,0; killmonsterall "ordeal_1-1"; end; }	initnpctimer;	end; } ordeal_1-1,182,183,5	script	DS3	-1,{ 		OnMinute05:		Announce "O portal para a Devil Square está aberto, e em [5] minutos ela terá inicio!",8;		initnpctimer; killmonsterall "ordeal_1-1"; set $aberto,1; disablenpc "dsq4"; set $status,1; query_sql "DELETE FROM `devilsquare`"; end; OnTimer60000:Announce "O portal para a Devil Square está aberto, e em [4] minutos ela terá inicio!",8; end; OnTimer120000:Announce "O portal para a Devil Square está aberto, e em [3] minutos ela terá inicio!",8; end; OnTimer180000:Announce "O portal para a Devil Square está aberto, e em [2] minutos ela terá inicio!",8; end; OnTimer240000:Announce "O portal para a Devil Square está aberto, e em [1] minuto ela terá inicio!",8; end;OnTimer300000:Announce "A Devil Square começou, boa sorte a todos!",8; initnpctimer "DS2";  set $aberto,0; set $mobs,20;areamonster "ordeal_1-1",183,182,246,244,"[DS] Orc Zumbi",1153,2,"DS3::Ondsdead";areamonster "ordeal_1-1",183,182,246,244,"[DS] Orc Esqueleto",1152,4,"DS3::Ondsdead";areamonster "ordeal_1-1",205,205,219,219,"[DS] Familiar",1005,2,"DS3::Ondsdead";areamonster "ordeal_1-1",212,215,222,220,"[DS] Drainliar",1111,2,"DS3::Ondsdead";areamonster "ordeal_1-1",229,233,183,182,"[DS] Chon Chon de Aço",1042,2,"DS3::Ondsdead";areamonster "ordeal_1-1",230,246,246,244,"[DS] Zenorc",1177,2,"DS3::Ondsdead";areamonster "ordeal_1-1",241,252,205,205,"[DS] Orc Arqueiro",1189,2,"DS3::Ondsdead";areamonster "ordeal_1-1",251,235,222,220,"[DS] Sorrateiro",1037,2,"DS3::Ondsdead";areamonster "ordeal_1-1",203,204,194,195,"[DS] Lobo",1013,2,"DS3::Ondsdead";end; Ondsdead:if ($status == 0) end;set $mobs,$mobs-1;set @premio,rand(getarraysize($@p));getitem $@id,$@p[@premio];callfunc "Checador",1;if($mobs == 10){ Mapannounce "ordeal_1-1","Devil Square: Faltam 10 monstros para a 2° rodada!",8; }if($mobs == 0){ Announce "Devil Square: Começou a 2° rodada de monstros!",8; goto Ondsround2; }end; Ondsround2:set $mobs,20;areamonster "ordeal_1-1",183,182,246,244,"[DS] Esqueleto Soldado",1028,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",183,182,246,244,"[DS] Esqueleto Soldado",1028,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",205,205,219,219,"[DS] Orc Arqueiro",1189,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",212,215,222,220,"[DS] Orc Arqueiro",1189,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",229,233,183,182,"[DS] Arenoso",1165,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",230,246,246,244,"[DS] Arenoso",1165,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",241,252,205,205,"[DS] Esqueleto Arqueiro",1016,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",251,235,222,220,"[DS] Esqueleto Arqueiro",1016,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",203,204,194,195,"[DS] Minorus",1149,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",251,235,222,220,"[DS] Minorus",1149,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",210,208,194,195,"[DS] Réquiem",1164,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",203,204,194,195,"[DS] Réquiem",1164,2,"DS3::Ondsdead2";end; Ondsdead2:if ($status == 0) end;set $mobs,$mobs-1;set @premio,rand(getarraysize($@p));getitem $@id,$@p[@premio];callfunc "Checador",1;if($mobs == 10){ Mapannounce "ordeal_1-1","Devil Square: Faltam 10 monstros para 3° rodada!",8; }if($mobs == 0){ Announce "Devil Square: Começou a 3° rodada de monstros!",8; goto Ondsround3; }end; Ondsround3:set $mobs,20;areamonster "ordeal_1-1",183,182,246,244,"[DS] Diabinho",1292,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",183,182,246,244,"[DS] Diabinho",1292,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",205,205,219,219,"[DS] Leib Olmai",1306,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",212,215,222,220,"[DS] Leib Olmai",1306,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",229,233,183,182,"[DS] Gullinbursti",1311,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",230,246,246,244,"[DS] Gullinbursti",1311,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",241,252,205,205,"[DS] Gullinbursti",1311,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",251,235,222,220,"[DS] Serial Killer",1507,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",203,204,194,195,"[DS] Serial Killer",1507,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",251,235,222,220,"[DS] Serial Killer",1507,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",210,208,194,195,"[DS] Esqueleto General",1290,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",203,204,194,195,"[DS] Esqueleto General",1290,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",251,235,222,220,"[DS] Gato de Nove Caudas",1307,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",230,246,246,244,"[DS] Senhor dos Orcs",1190,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",212,215,222,220,"[DS] Orc Héroi",1087,1,"DS3::Ondsdead3";end; Ondsdead3:if ($status == 0) end;set $mobs,$mobs-1;set @premio,rand(getarraysize($@p));getitem $@id,$@p[@premio];callfunc "Checador",1;if($mobs == 10){ Mapannounce "ordeal_1-1","Devil Square: Faltam 10 monstros para 4° rodada!",8; }if($mobs == 0){ Announce "Devil Square: Começou a 4° rodada de monstros!",8; goto Ondsround4; }end; Ondsround4:set $mobs,17;areamonster "ordeal_1-1",190,189,190,189,"[DS] Seyren Windsor",1634,1,"DS3::Ondsdead4";areamonster "ordeal_1-1",207,207,207,207,"[DS] Eremes Guile",1635,4,"DS3::Ondsdead4";areamonster "ordeal_1-1",217,217,217,217,"[DS] Howard Alt-Eisen",1636,5,"DS3::Ondsdead4";areamonster "ordeal_1-1",227,226,227,226,"[DS] Margaretha Sorin",1637,4,"DS3::Ondsdead4";areamonster "ordeal_1-1",241,241,241,241,"[DS] Kathryne Keyron",1639,1,"DS3::Ondsdead4";areamonster "ordeal_1-1",241,241,241,241,"[DS] Atroce",1785,1,"DS3::Ondsdead4";areamonster "ordeal_1-1",241,241,241,241,"[DS] Dragão Mutante",1262,1,"DS3::Ondsdead4";end; Ondsdead4:if ($status == 0) end;set $mobs,$mobs-1;set $@premio,rand(getarraysize($@p));getitem $@id,$@p[$@premio];callfunc "Checador",1;if($mobs == 5){ Mapannounce "ordeal_1-1","Devil Square: Faltam 5 monstros para 5° rodada!",8; }if($mobs == 0){ Announce "Devil Square: Começou a 5° rodada de monstros!",8; goto Ondsround5; }end; Ondsround5:set $mobs,10;areamonster "ordeal_1-1",233,246,233,246,"[DS] Salamandra",1831,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",246,245,246,245,"[DS] Amon-Rá",1511,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",189,188,189,188,"[DS] Doppelganger",1046,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",236,236,236,236,"[DS] Guardião Espadachim",1829,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",196,195,196,195,"[DS] Senhor das Trevas",1272,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",206,205,206,205,"[DS] Kasa",1833,1,"DS3::Ondsdead5";;areamonster "ordeal_1-1",213,213,213,213,"[DS] Faraó",1157,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",183,182,246,244,"[DS] Bafomé",1039,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",224,223,224,223,"[DS] Kasa",1833,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",243,232,243,232,"[DS] Guardião Arqueiro",1830,1,"DS3::Ondsdead5";end; Ondsdead5:if ($status == 0) end;set $mobs,$mobs-1;set @premio,rand(getarraysize($@p));getitem $@id,$@p[@premio];callfunc "Checador",1;if($mobs == 5){ Announce "Devil Square: Faltam 5 monstros para as Caixas do Tesouro surgirem!",8; }if($mobs == 0){ Announce "Devil Square: 8 Caixas do Tesouros surgiram! Corram para destruir-las...",8; goto Ondsbox; }end; Ondsbox:enablenpc "dsq4";sleep2 7000;set $mobs,8;monster "ordeal_1-1",245,245,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",54,54,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",149,26,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",245,52,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",273,150,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",150,273,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",54,245,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",27,150,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";end; Ondsboxdead:if ($status == 0) end;set $mobs,$mobs-1;Announce "Devil Square: O jogador [ "+ strcharinfo(0)+" ] abriu uma das Caixas do Tesouro.",8;set @premio,rand(getarraysize($@b));getitem $@id,$@b[@premio];if($mobs == 0){ Announce "Devil Square: A última Caixa do Tesouro foi destruída!",8;Announce "Devil Square: Obrigado a todos que participaram.",8; set $status,0; disablenpc "dsq4";mapwarp "ordeal_1-1","prontera",156,177;}query_sql "DELETE FROM `devilsquare`";end;} function	script	Checador	{ if(getarg(0) == 1){set @nome$,""; query_sql "SELECT `nome` FROM `devilsquare` WHERE `id_usuario`="+getcharid(0)+"",@nome$; 	if (@nome$ == ""){	query_sql "INSERT INTO `devilsquare` (`id_usuario`,`nome`,`id_acc`,`pontos`) VALUES ("+getcharid(0)+",'"+strcharinfo(0)+"','"+getcharid(3)+"',1)";		return;	}	query_sql "UPDATE `devilsquare` SET `pontos` = `pontos` +1 WHERE `id_usuario`="+getcharid(0)+"";	return;	}}ordeal_1-1,210,211,1	script	DS4::dsq4	-1,5000,5000,{ OnTouch: query_sql "SELECT nome,pontos FROM devilsquare ORDER BY pontos DESC LIMIT 5",@nome$,@pontos; 	for(set @i,0; @i < 5; set @i,@i+1)	if(@nome$[@i] == strcharinfo(0)){	mapwarp "ordeal_1-1","ordeal_1-1",150,150;	pcblockmove getcharid(3),1;	sleep2 2000;	Announce "Devil Square: Parabéns, você matou muitos monstros, agora tem que ir atrás das Caixas do Tesouro.",bc_self;	pcblockmove getcharid(3),0;	end;	}	warp "prontera",156,177;	dispbottom "A Devil Square chegou ao fim para você, obrigado por participar.";	end;}  // MapFlags ~ordeal_1-1	mapflag	nowarpordeal_1-1	mapflag	nowarptoordeal_1-1	mapflag	noteleportordeal_1-1	mapflag	nosave	SavePointordeal_1-1	mapflag	nomemoordeal_1-1	mapflag	nobranchordeal_1-1	mapflag	nopenaltyordeal_1-1	mapflag	pvp	offordeal_1-1	mapflag	gvg	off

Para fazer as alterações que você quer, basta fazer o que o nosso amigo acima indicou.

Até.

Share this post


Link to post
Share on other sites

Carinha, eu já tinha arrumado o problema de os players retornarem para prontera em um tópico que você criou.

Aqui está:

// =========================================================== //// Nome: Devil Square por Stuff// =========================================================== //// Versão: 1.0// =========================================================== //// Autor: Wenden// =========================================================== //// Descrição: É como outros devil square a diferença é que cada monstro que você mata// você recebe uma quantidade aleatória de certo item, tanto a quantidade quanto o item// é configurado aqui no script na linha 165. Os item ganhados poderão ser trocados// no próprio npc por outros itens configurados por você na linha 165.// O Npc é em SQL onde são salvos os nomes, char ids, accounts ids e pontos dos jogadores// quando matarem os monstros. Quando a última rodada chegar ao fim, que no caso a última// é a 5° rodada, o npc fará um lista dos 5 jogadores que mais mataram monstros, eles serão// teletransportados para o meio do mapa onde irão correr atrás de destruir as Caixas do Tesouro.// O outros jogadores que não aparecem na lista dos 5 que mais mataram monstros serão// teletransportados para prontera.// =========================================================== // prontera,174,196,5	script	Devil Square	792,{ 	mes	"["+strnpcinfo(1)+"]";	mes "Bem-vindo aventureiro.";	mes "Eu tenho um desafio para você";	mes "deseja aceitar?";	next;		switch(select("Sim, eu aceito:Não, volto depois:Trocar "+getitemname($@id)+":Quero informações")){ 			Case 1:			if($aberto == 0){			mes	"["+strnpcinfo(1)+"]";			mes "A Devil Square está fechado";			mes "no momento, volte mais tarde.";			Close;			} 			percentheal 100,100;			warp "ordeal_1-1",189,189;			announce strcharinfo(0)+" entrou na Devil Square.",8;			end; 			Case 2:			mes	"["+strnpcinfo(1)+"]";			mes "Estarei aqui quando precisar";			mes "de um desafio.";			Close; 			Case 3:			if(!countitem($@id)){			mes	"["+strnpcinfo(1)+"]";			mes "Você não possui nenhuma";			mes "^FF0000"+getitemname($@id)+"^000000.";			Close;			}			mes	"["+strnpcinfo(1)+"]";			mes "Escolha qual item deseja trocar";			mes "por ^FF0000"+getitemname($@id)+"^000000.";			next; 				set @menu$,"";				for(set @i,0; @i < getarraysize($@l); set @i,@i+1)				set @menu$,@menu$+""+getitemname($@l[@i])+" - ^FF0000"+$@y[@i]+"^000000x "+getitemname($@id)+":";				set @menu$,@menu$+"Cancelar";				set @sel,select(@menu$)-1;				if(@sel == getarraysize($@l)) Close; 				mes	"["+strnpcinfo(1)+"]";				mes "Agora me diga quantos";				mes "^FF0000"+getitemname($@l[@sel])+"^000000 você quer.";				mes "- 0 para Cencelar.";				next;					input @qnt;					if(@qnt == 0) Close; 					set @cost,$@y[@sel]*@qnt; 						mes	"["+strnpcinfo(1)+"]";						mes "^FF0000"+@qnt+"^000000x ^FF0000"+getitemname($@l[@sel])+"^000000";						mes "São ^FF0000"+@cost+"^000000x ^FF0000"+getitemname($@id)+"^000000.";						mes "Deseja realizar a troca?";						next;							if(select("Sim:Não") == 2) Close; 							if(countitem($@id) < @cost){							mes	"["+strnpcinfo(1)+"]";							mes "Você não tem ^FF0000"+getitemname($@id)+"^000000";							mes "suficientes para realizar a troca.";							Close;							}						mes	"["+strnpcinfo(1)+"]";						mes "Está feito...";						mes "Aqui está seus";						mes "^FF0000"+getitemname($@l[@sel])+"^000000.";						Close2;						delitem $@id,@cost;						getitem $@l[@sel],@qnt;						end; 			Case 4:			mes	"["+strnpcinfo(1)+"]";			mes "A Devil Square é um evento";			mes "automático ondes surgem vários";			mes "monstros e o objetivo dos";			mes "jogadores é matar todos os monstros.";			next;			mes	"["+strnpcinfo(1)+"]";			mes "O Objetivo final é chegar a última";			mes "rodada onde surgem as";			mes "Caixas do Tesouro.";			next;			mes	"["+strnpcinfo(1)+"]";			mes "A cada monstro que você mata";			mes "você recebe ^FF0000"+getitemname($@id)+"^000000";			mes "a quantidade é aleatória.";			mes "As Caixas do Tesouro dão uma";			mes "quantidade mais alta de ^FF0000"+getitemname($@id)+"^000000.";			next;			mes	"["+strnpcinfo(1)+"]";			mes "Com esses itens você pode trocar";			mes "aqui mesmo por itens, os itens são";			mes "configurados pelo Administrador.";			next;			mes	"["+strnpcinfo(1)+"]";			mes "Mas para chegar até a rodada das";			mes "Caixas do Tesouro você precisar";			mes "matar muitos monstros, porque";			mes "somente os 5 jogadores que";			mes "mais matarem monstros irão";			mes "chegar a rodada Final.";			next;			mes "["+strnpcinfo(1)+"]";			mes "Os demais serão teletransportados";			mes "para prontera, os jogadores que";			mes "continuarem no evento irão correr";			mes "atrás das Caixas do Tesouro.";			Close;		} 		OnInit:		// Configurações 		set $@id,673; // Id do item que será recebido ao matar os monstros e as caixas do tesouro. Padrão: [671 = Moeda Poring].		setarray $@p[0],1,2; // Quantidade de itens que serão sorteados ao matar os monstros. Padrão: [Entre 1 e 2].		setarray $@b[0],20,30,40,50; // Quantidade de itens que serão sorteados ao destruir as Caixas do Tesouro. Padrão: [Entre 20,30,40 e 50];		setarray $@l[0],671,7549,678,7135,7136,7139; // Id dos itens que poderão ser trocados.		setarray $@y[0],3,6,5,3,3,6; // Preço dos itens que poderão ser trocados. 		waitingroom "Devil Square",0;		end;} ordeal_1-1,182,183,5	script	DS2	-1,{ 	OnTimer30000:	if($status == 0) end;	if (getmapusers("ordeal_1-1") == 0){ Announce "Todos os players foram mortos na Devil Square!!",8; set $status,0; killmonsterall "ordeal_1-1"; end; }	initnpctimer;	end; } ordeal_1-1,182,183,5	script	DS3	-1,{ 		OnMinute05:		Announce "O portal para a Devil Square está aberto, e em [5] minutos ela terá inicio!",8;		initnpctimer; killmonsterall "ordeal_1-1"; set $aberto,1; disablenpc "dsq4"; set $status,1; query_sql "DELETE FROM `devilsquare`"; end; OnTimer60000:Announce "O portal para a Devil Square está aberto, e em [4] minutos ela terá inicio!",8; end; OnTimer120000:Announce "O portal para a Devil Square está aberto, e em [3] minutos ela terá inicio!",8; end; OnTimer180000:Announce "O portal para a Devil Square está aberto, e em [2] minutos ela terá inicio!",8; end; OnTimer240000:Announce "O portal para a Devil Square está aberto, e em [1] minuto ela terá inicio!",8; end;OnTimer300000:Announce "A Devil Square começou, boa sorte a todos!",8; initnpctimer "DS2";  set $aberto,0; set $mobs,20;areamonster "ordeal_1-1",183,182,246,244,"[DS] Orc Zumbi",1153,2,"DS3::Ondsdead";areamonster "ordeal_1-1",183,182,246,244,"[DS] Orc Esqueleto",1152,4,"DS3::Ondsdead";areamonster "ordeal_1-1",205,205,219,219,"[DS] Familiar",1005,2,"DS3::Ondsdead";areamonster "ordeal_1-1",212,215,222,220,"[DS] Drainliar",1111,2,"DS3::Ondsdead";areamonster "ordeal_1-1",229,233,183,182,"[DS] Chon Chon de Aço",1042,2,"DS3::Ondsdead";areamonster "ordeal_1-1",230,246,246,244,"[DS] Zenorc",1177,2,"DS3::Ondsdead";areamonster "ordeal_1-1",241,252,205,205,"[DS] Orc Arqueiro",1189,2,"DS3::Ondsdead";areamonster "ordeal_1-1",251,235,222,220,"[DS] Sorrateiro",1037,2,"DS3::Ondsdead";areamonster "ordeal_1-1",203,204,194,195,"[DS] Lobo",1013,2,"DS3::Ondsdead";end; Ondsdead:if ($status == 0) end;set $mobs,$mobs-1;set @premio,rand(getarraysize($@p));getitem $@id,$@p[@premio];callfunc "Checador",1;if($mobs == 10){ Mapannounce "ordeal_1-1","Devil Square: Faltam 10 monstros para a 2° rodada!",8; }if($mobs == 0){ Announce "Devil Square: Começou a 2° rodada de monstros!",8; goto Ondsround2; }end; Ondsround2:set $mobs,20;areamonster "ordeal_1-1",183,182,246,244,"[DS] Esqueleto Soldado",1028,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",183,182,246,244,"[DS] Esqueleto Soldado",1028,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",205,205,219,219,"[DS] Orc Arqueiro",1189,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",212,215,222,220,"[DS] Orc Arqueiro",1189,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",229,233,183,182,"[DS] Arenoso",1165,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",230,246,246,244,"[DS] Arenoso",1165,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",241,252,205,205,"[DS] Esqueleto Arqueiro",1016,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",251,235,222,220,"[DS] Esqueleto Arqueiro",1016,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",203,204,194,195,"[DS] Minorus",1149,1,"DS3::Ondsdead2";areamonster "ordeal_1-1",251,235,222,220,"[DS] Minorus",1149,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",210,208,194,195,"[DS] Réquiem",1164,2,"DS3::Ondsdead2";areamonster "ordeal_1-1",203,204,194,195,"[DS] Réquiem",1164,2,"DS3::Ondsdead2";end; Ondsdead2:if ($status == 0) end;set $mobs,$mobs-1;set @premio,rand(getarraysize($@p));getitem $@id,$@p[@premio];callfunc "Checador",1;if($mobs == 10){ Mapannounce "ordeal_1-1","Devil Square: Faltam 10 monstros para 3° rodada!",8; }if($mobs == 0){ Announce "Devil Square: Começou a 3° rodada de monstros!",8; goto Ondsround3; }end; Ondsround3:set $mobs,20;areamonster "ordeal_1-1",183,182,246,244,"[DS] Diabinho",1292,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",183,182,246,244,"[DS] Diabinho",1292,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",205,205,219,219,"[DS] Leib Olmai",1306,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",212,215,222,220,"[DS] Leib Olmai",1306,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",229,233,183,182,"[DS] Gullinbursti",1311,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",230,246,246,244,"[DS] Gullinbursti",1311,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",241,252,205,205,"[DS] Gullinbursti",1311,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",251,235,222,220,"[DS] Serial Killer",1507,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",203,204,194,195,"[DS] Serial Killer",1507,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",251,235,222,220,"[DS] Serial Killer",1507,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",210,208,194,195,"[DS] Esqueleto General",1290,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",203,204,194,195,"[DS] Esqueleto General",1290,2,"DS3::Ondsdead3";areamonster "ordeal_1-1",251,235,222,220,"[DS] Gato de Nove Caudas",1307,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",230,246,246,244,"[DS] Senhor dos Orcs",1190,1,"DS3::Ondsdead3";areamonster "ordeal_1-1",212,215,222,220,"[DS] Orc Héroi",1087,1,"DS3::Ondsdead3";end; Ondsdead3:if ($status == 0) end;set $mobs,$mobs-1;set @premio,rand(getarraysize($@p));getitem $@id,$@p[@premio];callfunc "Checador",1;if($mobs == 10){ Mapannounce "ordeal_1-1","Devil Square: Faltam 10 monstros para 4° rodada!",8; }if($mobs == 0){ Announce "Devil Square: Começou a 4° rodada de monstros!",8; goto Ondsround4; }end; Ondsround4:set $mobs,17;areamonster "ordeal_1-1",190,189,190,189,"[DS] Seyren Windsor",1634,1,"DS3::Ondsdead4";areamonster "ordeal_1-1",207,207,207,207,"[DS] Eremes Guile",1635,4,"DS3::Ondsdead4";areamonster "ordeal_1-1",217,217,217,217,"[DS] Howard Alt-Eisen",1636,5,"DS3::Ondsdead4";areamonster "ordeal_1-1",227,226,227,226,"[DS] Margaretha Sorin",1637,4,"DS3::Ondsdead4";areamonster "ordeal_1-1",241,241,241,241,"[DS] Kathryne Keyron",1639,1,"DS3::Ondsdead4";areamonster "ordeal_1-1",241,241,241,241,"[DS] Atroce",1785,1,"DS3::Ondsdead4";areamonster "ordeal_1-1",241,241,241,241,"[DS] Dragão Mutante",1262,1,"DS3::Ondsdead4";end; Ondsdead4:if ($status == 0) end;set $mobs,$mobs-1;set $@premio,rand(getarraysize($@p));getitem $@id,$@p[$@premio];callfunc "Checador",1;if($mobs == 5){ Mapannounce "ordeal_1-1","Devil Square: Faltam 5 monstros para 5° rodada!",8; }if($mobs == 0){ Announce "Devil Square: Começou a 5° rodada de monstros!",8; goto Ondsround5; }end; Ondsround5:set $mobs,10;areamonster "ordeal_1-1",233,246,233,246,"[DS] Salamandra",1831,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",246,245,246,245,"[DS] Amon-Rá",1511,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",189,188,189,188,"[DS] Doppelganger",1046,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",236,236,236,236,"[DS] Guardião Espadachim",1829,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",196,195,196,195,"[DS] Senhor das Trevas",1272,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",206,205,206,205,"[DS] Kasa",1833,1,"DS3::Ondsdead5";;areamonster "ordeal_1-1",213,213,213,213,"[DS] Faraó",1157,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",183,182,246,244,"[DS] Bafomé",1039,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",224,223,224,223,"[DS] Kasa",1833,1,"DS3::Ondsdead5";areamonster "ordeal_1-1",243,232,243,232,"[DS] Guardião Arqueiro",1830,1,"DS3::Ondsdead5";end; Ondsdead5:if ($status == 0) end;set $mobs,$mobs-1;set @premio,rand(getarraysize($@p));getitem $@id,$@p[@premio];callfunc "Checador",1;if($mobs == 5){ Announce "Devil Square: Faltam 5 monstros para as Caixas do Tesouro surgirem!",8; }if($mobs == 0){ Announce "Devil Square: 8 Caixas do Tesouros surgiram! Corram para destruir-las...",8; goto Ondsbox; }end; Ondsbox:enablenpc "dsq4";sleep2 7000;set $mobs,8;monster "ordeal_1-1",245,245,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",54,54,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",149,26,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",245,52,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",273,150,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",150,273,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",54,245,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";monster "ordeal_1-1",27,150,"Caixa do Tesouro",1334,1,"DS3::Ondsboxdead";end; Ondsboxdead:if ($status == 0) end;set $mobs,$mobs-1;Announce "Devil Square: O jogador [ "+ strcharinfo(0)+" ] abriu uma das Caixas do Tesouro.",8;set @premio,rand(getarraysize($@b));getitem $@id,$@b[@premio];if($mobs == 0){ Announce "Devil Square: A última Caixa do Tesouro foi destruída!",8;Announce "Devil Square: Obrigado a todos que participaram.",8; set $status,0; disablenpc "dsq4";mapwarp "ordeal_1-1","prontera",156,177;}query_sql "DELETE FROM `devilsquare`";end;} function	script	Checador	{ if(getarg(0) == 1){set @nome$,""; query_sql "SELECT `nome` FROM `devilsquare` WHERE `id_usuario`="+getcharid(0)+"",@nome$; 	if (@nome$ == ""){	query_sql "INSERT INTO `devilsquare` (`id_usuario`,`nome`,`id_acc`,`pontos`) VALUES ("+getcharid(0)+",'"+strcharinfo(0)+"','"+getcharid(3)+"',1)";		return;	}	query_sql "UPDATE `devilsquare` SET `pontos` = `pontos` +1 WHERE `id_usuario`="+getcharid(0)+"";	return;	}}ordeal_1-1,210,211,1	script	DS4::dsq4	-1,5000,5000,{ OnTouch: query_sql "SELECT nome,pontos FROM devilsquare ORDER BY pontos DESC LIMIT 5",@nome$,@pontos; 	for(set @i,0; @i < 5; set @i,@i+1)	if(@nome$[@i] == strcharinfo(0)){	mapwarp "ordeal_1-1","ordeal_1-1",150,150;	pcblockmove getcharid(3),1;	sleep2 2000;	Announce "Devil Square: Parabéns, você matou muitos monstros, agora tem que ir atrás das Caixas do Tesouro.",bc_self;	pcblockmove getcharid(3),0;	end;	}	warp "prontera",156,177;	dispbottom "A Devil Square chegou ao fim para você, obrigado por participar.";	end;}  // MapFlags ~ordeal_1-1	mapflag	nowarpordeal_1-1	mapflag	nowarptoordeal_1-1	mapflag	noteleportordeal_1-1	mapflag	nosave	SavePointordeal_1-1	mapflag	nomemoordeal_1-1	mapflag	nobranchordeal_1-1	mapflag	nopenaltyordeal_1-1	mapflag	pvp	offordeal_1-1	mapflag	gvg	off

Para fazer as alterações que você quer, basta fazer o que o nosso amigo acima indicou.

Até.

O que você alterou Zeca ?

Share this post


Link to post
Share on other sites

O que você alterou Zeca ?

O bug em que os jogadores voltavam para prontera ao entrar no DS era devido a um erro na sintaxe do comando 'enablenpc/disablenpc', nele se usa o nome evento do npc, e não o nome original.

Antes estava : enablenpc "DS4";

Então mudei o nome do npc para DS4::dsq4 e quando chamava as funcões enablenpc/disablenpc tinha como argumento "dsq4".

Ex: enablenpc "dsq4";

  • Love 1

Share this post


Link to post
Share on other sites
Aviso Automático
Tópico movido.

Razão: Dúvida e/ou problema resolvido.



Aviso automático:

Este tópico foi movido de "SuporteSuporte à NPC" para "SuporteSuporte à NPCSoluções".

Se você não concorda com esta ação, vá até o Tribunal de Pequenas Causas.

Equipe Cronus Emulator.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

Seja bem vindo ao Cronus-Emulator.
É sempre um prazer te-lo conosco.
Você pode visualizar nossas áreas de suporte para encontrar suas soluções sem a necessidade de se registrar!
Registrando em nossa comunidade, você poderá conhecer mais sobre nosso projeto, criar tópicos, responder tópicos existentes, baixar milhares de recursos em nosso sistema de downloads, participar de nossa comunidade, customizar seu perfil e muito mais... Se você já possui uma conta, faça seu login - ou crie uma conta. Também temos integração com Google+ e Facebook.

×
×
  • Create New...