Jump to content
  • 0

PvP Mooka - Tabela SQL pvpm_data não cria valores


Question

Posted

Oi pessoal, até o momento o NPC com Narração mais completo que encontro é o PvP_Master_Ultimate_1.3.0.txt (PVP Mooka), as 3 tabelas SQL que o NPC precisa para funcionar foi criada sem problemas, mas a tabela que é para fazer a contagem de "kill" e "death" não funciona, já to com 2 dias a procura dessa solução mas não a encontro. Encontrei esse Post, mas ninguém respondeu o rpz.

Eu gostaria de por gentileza que alguém nos ajudasse para deixarmos essa solução para pessoas que estiverem essa duvida no futuro, já que o projeto do PvP as ultimas atualizações são de 2010.

Se souberem de outro NPC Narrador com Vozes por "Kill" que funcione e com ranking, fica melhor.

Tabela SQL do PVP Mooka 1.3.0v:

DROP TABLE IF EXISTS `pvpm_data`;
DROP TABLE IF EXISTS `pvpm_map`;
DROP TABLE IF EXISTS `pvpm_lang`;
 
CREATE TABLE `pvpm_data` (
`id` int(11) unsigned NOT NULL default '0',
`name` varchar(255) NOT NULL default '',
`kills` int(11) unsigned NOT NULL default '0',
`dies` int(11) unsigned NOT NULL default '0',
`ratio` int(11) not null default '0',
`leader` int(11) unsigned NOT NULL default '0',
`annc` int(11) unsigned NOT NULL default '0',
`ban` int(11) unsigned NOT NULL default '0',
`type` int(11) unsigned NOT NULL default '0',
KEY `id` (`id`),
KEY `kills` (`kills`),
KEY `dies` (`dies`)
) ENGINE=MyISAM;
 
CREATE TABLE `pvpm_map` (
`id` int(11) unsigned NOT NULL default '0',
`map` varchar(255) NOT NULL default 'NULL',
`type` int(11) unsigned NOT NULL default '0',
`noguild` int(11) not null default '0',
KEY `id` (`id`)
) ENGINE=MyISAM;
 
CREATE TABLE `pvpm_lang` (
`id` int(11) unsigned NOT NULL default '0',
`lang` int(11) unsigned NOT NULL default '0',
`str` varchar(255) NOT NULL default '',
KEY `id` (`id`)
) ENGINE=MyISAM;
 
UPDATE `pvpm_map` SET `noguild`='1' WHERE `map` = 'guild_vs1';
INSERT INTO pvpm_map (`id`,`map`,`type`) VALUES (0,'guild_vs3',0);
INSERT INTO pvpm_map (`id`,`map`,`type`) VALUES (1,'pvp_n_1-5',0);
INSERT INTO pvpm_map (`id`,`map`,`type`) VALUES (2,'guild_vs1',2);
INSERT INTO pvpm_map (`id`,`map`,`type`) VALUES (3,'prt_are01',2);
INSERT INTO pvpm_map (`id`,`map`,`type`) VALUES (4,'guild_vs2',1);

Script NPC PvP Mooka 1.3.0v:

//|==================================================================================|
//|	      ___           ___           ___           ___           ___            |
//|	     /\  \         /\  \         /\  \         /|  |         /\  \           |
//|	    |::\  \       /::\  \       /::\  \       |:|  |        /::\  \          |
//|	    |:|:\  \     /:/\:\  \     /:/\:\  \      |:|  |       /:/\:\  \         |
//|	  __|:|\:\  \   /:/  \:\  \   /:/  \:\  \   __|:|  |      /:/ /::\  \        |
//|	 /::::|_\:\__\ /:/__/ \:\__\ /:/__/ \:\__\ /\ |:|__|____ /:/_/:/\:\__\       |
//|	 \:\--\  \/__/ \:\  \ /:/  / \:\  \ /:/  / \:\/:::::/__/ \:\/:/  \/__/       |
//|	  \:\  \        \:\  /:/  /   \:\  /:/  /   \::/__/       \::/__/            |
//|	   \:\  \        \:\/:/  /     \:\/:/  /     \:\  \        \:\  \            |
//|	    \:\__\        \::/  /       \::/  /       \:\__\        \:\__\           |
//|	     \/__/         \/__/         \/__/         \/__/         \/__/           |
//| ================================================================================ |
//|   Script Desenvolvido Por Mooka | eAthena | Por Favor, Não Retire Os Créditos.   |
//| ================================================================================ |
//| 		Observação! O MapFlag Está No Final Do Script !			     |
//| ================================================================================ |
//|[v1.3.0]: Nova Função de Múltiplas linguagens.			(Mooka)	     |
//| ------									     |
//| v1.2.9 : Nova Tabela! (PM_Lang)					(Mooka)	     |
//| v1.2.8 : Alteração na função !exit.					(Mooka)	     |
//| v1.2.7 : Adicionado balão de Chat no npc.				(Mooka)	     |
//| v1.2.6 : Nova opção! Ganhando experiência no PvP!			(Mooka)	     |
//| v1.2.5 : Adicionado !map#list.					(Mooka)	     |
//| v1.2.4 : Mapflags são definidos automaticamente.			(Mooka)	     |
//| v1.2.3 : Novo campo na tabela 'pvpm_map'. (noguild)			(Mooka)	     |
//| v1.2.2 : Alteração na função "Changeleader".			(Mooka)	     |
//| v1.2.1 : Implementada opção para WoE. (Contagem de pontos na WoE)	(Mooka)	     |
//| v1.2.0 : Novo comando remoto. (!map)				(Mooka)	     |
//| ------									     |
//| v1.1.9 : Comandos !pvp\!gvg\!baby mergidos no novo comando !warp. 	(Mooka)	     |
//| v1.1.8 : Reformulado Sistema das Arenas.				(Mooka)	     |
//| v1.1.7 : Nova tabela no PvP Master. (pvpm_map)			(Mooka)	     |
//| v1.1.6 : Ranking não mostra mais valores com 0.			(Mooka)	     |
//| v1.1.5 : Novos comandos remotos. (!ban;!truncate)			(Mooka)	     |
//| v1.1.4 : Adicionado opção de Ranking Ratio aos Menus e CMD Remotos.	(Mooka)	     |
//| v1.1.3 : Otimizado IF's dos comandos remotos.			(Mooka)	     |
//| v1.1.2 : Desenvolvida nova opção de Ranking. (Ratio)		(Mooka)	     |
//| v1.1.1 : Alteração na tabela pvpm_data. (Adicionado campo 'ratio')	(Mooka)	     |
//| v1.1.0 : Novo comando remoto. (!help)				(Mooka)	     |
//| ------									     |
//| v1.0.9 : Adicionado duplicações do npc em todas as cidades.		(Mooka)	     |
//| v1.0.8 : Adicionada opção para retirar buffs.			(Mooka)	     |
//| v1.0.7 : Correção na função Ranking2.				(Mooka)	     |
//| v1.0.6 : Correção no comando !exit.					(Mooka)	     |
//| v1.0.5 : Correção no bug de enviar o som "end" causando erro.	(Mooka)	     |
//| v1.0.4 : Implementado Sons do Unreal Tournament.			(Mooka)	     |
//| v1.0.3 : Adicionado novo tipo de contagem de Pontos com Announce.	(Mooka)	     |
//| v1.0.2 : Adicionada opção para servidores PK.			(Mooka)	     |
//| v1.0.1 : Adicionado PvP Baby.					(Mooka)	     |
//| v1.0.0 : Desenvolvida Versão.					(Mooka)	     |
//| ================================================================================ |
//| Table update (v1.3.0+):							     |
//| DROP TABLE IF EXISTS `pvpm_lang`;						     |
//| CREATE TABLE `pvpm_lang` (							     |
//| `id` int(11) unsigned NOT NULL default '0',					     |
//| `lang` int(11) unsigned NOT NULL default '0',				     |
//| `str` varchar(255) NOT NULL default '',					     |
//| KEY `id` (`id`)								     |
//| ) TYPE=MyISAM;								     |
//| -------------------------------------------------------------------------------- |
//| Table update (v1.2.3+):							     |
//| alter table pvpm_map add noguild int(11) not null default '0';		     |
//| update pvpm_map set noguild=1 where map='guild_vs1';			     |
//| -------------------------------------------------------------------------------- |
//| Table update (v1.1.7+):							     |
//| DROP TABLE IF EXISTS `pvpm_map`;						     |
//| CREATE TABLE `pvpm_map` (							     |
//| `id` int(11) unsigned NOT NULL default '0',					     |
//| `map` varchar(255) NOT NULL default 'NULL',					     |
//| `type` int(11) unsigned NOT NULL default '0',				     |
//| KEY `id` (`id`)								     |
//| ) TYPE=MyISAM;								     |
//| insert into pvpm_map (id,map,type) values (0,'guild_vs3',0);		     |
//| insert into pvpm_map (id,map,type) values (1,'pvp_n_1-5',0);		     |
//| insert into pvpm_map (id,map,type) values (2,'guild_vs1',2);		     |
//| insert into pvpm_map (id,map,type) values (3,'prt_are01',2);		     |
//| insert into pvpm_map (id,map,type) values (4,'guild_vs2',1);		     |
//| -------------------------------------------------------------------------------- |
//| Table update (v1.1.1+):							     |
//| alter table pvpm_data add ratio int(11) not null default '0' after dies	     |
//| -------------------------------------------------------------------------------- |
//| Table update (v1.0.0+):							     |
//| DROP TABLE IF EXISTS `pvpm_data`;						     |
//| CREATE TABLE `pvpm_data` (							     |
//| `id` int(11) unsigned NOT NULL default '0',					     |
//| `name` varchar(255) NOT NULL default '',					     |
//| `kills` int(11) unsigned NOT NULL default '0',				     |
//| `dies` int(11) unsigned NOT NULL default '0',				     |
//| `leader` int(11) unsigned NOT NULL default '0',				     |
//| `annc` int(11) unsigned NOT NULL default '0',				     |
//| `ban` int(11) unsigned NOT NULL default '0',				     |
//| `type` int(11) unsigned NOT NULL default '0',				     |
//| KEY `id` (`id`),								     |
//| KEY `kills` (`kills`),							     |
//| KEY `dies` (`dies`)								     |
//| ) TYPE=MyISAM;								     |
//|										     |
//| ================================================================================ |
-	script	init_PM	-1,{							  // |
//|                        						  	     |
//| -------------------------------------------------------------------------------- |
//| |!Aviso importante sobre as configurações!					   | |
//| |O Sistema de Arena terá problemas caso passe de 10 mapas na lista.		   | |
//| |É possível alterar este limite editando o script, caso queira fale comigo.    | |
//| -------------------------------------------------------------------------------- |
//|                        						  	     |
OnInit:                        						  	  // |
//| Configurações:                                                        	     |
//|                        						  	     |
//|=> Nome do npc na janela.							     |
set $@pvpm_name$,"[ ^FF0000 Arena ^000000 ]";				    	  // |
//| 										     |
//|=> Deseja usar o Ranking Ratio como principal? [ 1 = Sim ]			     |
//|---> Nota: Ranking Ratio: Pontuação = Kills - Mortes				     |
set $@mainRanking,1;								  // |
//| 										     |
//|=> Até onde o Ranking irá mostrar. [ Máximo 127 ]				     |
set $@showsRankUntil,25;							  // |
//| 										     |
//|=> Modo PK. Está configurado para alterar automaticamente, mude se necessário.    |
set $@PK_Mode,getbattleflag("pk_mode");						  // |
//| 										     |
//|=> Deseja que ao player entrar no pvp perca os buff? [ 1 = Sim]		     |
set $@breakBuffs,0;								  // |
//| 										     |
//|=> Quando o player matar o outro, deve ganhar experiência?			     |
//|---> Nota 1:	Servidores de rates alta, configure o "quest_exp_rate". (exp.conf)   |
//|---> Nota 2:	$@lostEXP: Quantidade de EXP perdida ao morrer. ( 0 = Desativado )   |
//|---> Nota 3:	Configuração do comando:					     |
//|-->  0 : Desativado.								     |
//|-->  1 : Ativado usando fórmula de EXP. ($@getEXP*KilledLVL/KillerLVL)	     |
//|-->  2 : Ativado, o player sempre irá ganhar a quantia definida no $@getEXP.      |
set $@getEXPoption,0;								  // |
set $@getEXP,0; // 0,1% no level 50.						     |
set $@lostEXP,0;								  // |
//|										     |
//|=> Deseja ativar a contagem de pontos nos mapas da WoE?			     |
//|---> Nota 1: Não são enviandos sons/broadcast nos mapas da WoE.		     |
//|---> Nota 2: Opções de contagem.						     |
//|--> 0: Desativado.								     |
//|--> 1: Ativar contagem somente do PvP.					     |
//|--> 2: Ativar contagem somente do GvG.					     |
//|--> 3: Ativar ambos.								     |
set $@CountPointsInWoE,3;							  // |
//| 										     |
//|=> Configuração do Som e Announce!						     |
//|---> Nota 1: Os sons devem ser colocados na pasta data/wav em formato .wav	     |
//|---> Nota 2: Se desativar o som do UT, desativará o broadcast dele também.(2)     |
//|--> 0 : Desativar Todas Opções.						     |
//|--> 1 : Ativar somente broadcast Global.					     |
//|--> 2 : Ativar somente sons/broadcast do Unreal Tournament.			     |
//|--> 3 : Ativar Ambos.							     |
set $@sound,3;									  // |
//| 										     |
//|=> Lista com o nomes dos Sons Unreal Tournament.				     |
//|---> Nota 1: $@SoundList$[Pontos em que irá tocar o som(Max. 127)],"Nome do Som"; |
//|---> Nota 2: A partir do ultimo, será somado 10 e repetirá o som, o set	     |
//|---> 	com "end" indica que o ultimo som será repetido dali em diante.	     |
//|---> Nota 3: O nome do arquivo é o mesmo que será exibido no announce.	     |
set $@SoundList$[1],"First Blood";						  // |
set $@SoundList$[2],"Double Kill";						  // |
set $@SoundList$[3],"Triple Kill";						  // |
set $@SoundList$[5],"Mega Kill";						  // |
set $@SoundList$[10],"Ultra Kill";						  // |
set $@SoundList$[15],"Killing Spree";						  // |
set $@SoundList$[20],"Ownage";							  // |
set $@SoundList$[25],"Holy Shit";						  // |
set $@SoundList$[30],"God Like";						  // |
set $@SoundList$[35],"Dominating";						  // |
set $@SoundList$[40],"Unstoppable";						  // |
set $@SoundList$[50],"Monster Kill";						  // |
set $@SoundList$[51],"end";							  // |
//|==================================================================================|

query_sql("select name from pvpm_data where leader=1 and type=0 limit 1",$@Player_Lider$);
query_sql("select name from pvpm_data where leader=1 and type=2 limit 1",$@Guild_Lider$);

	query_sql("select lang from pvpm_lang where lang=0 and lang=1",.@checkDefaultLang);
	if(!.@checkDefaultLang && .@checkDefaultLang[1])
	{
	debugmes "[PvP Master Ultimate] NO DEFAULT LANGUAGE(LANG0)! LANG1 WAS SET AS DEFAULT!";
	query_sql("update pvpm_lang set lang=lang-1");
	}

	query_sql("select count(lang) from pvpm_lang where id=0",.@c);
	if(!.@c) debugmes "[PvP Master Ultimate] NO LANGUAGE DATA!";
	for(set .@i,0;.@i<.@c;set .@i,.@i+1)
	{
	deletearray .@str$,82;
	query_sql("select str from pvpm_lang where lang="+.@i,.@str$);
	for(set .@Y,0;.@Y<82;set .@Y,.@Y+1) setd "$@PM_Lang"+.@i+"$["+.@Y+"]",.@str$[.@Y];
	}

OnReloadListMap:
	deletearray $@IDPM,10;
	deletearray $@mapPM$,10;
	deletearray $@MapTypePM,10;
	deletearray $@menu$,10;
	query_sql("select * from pvpm_map order by id asc limit 10",$@IDPM,$@mapPM$,$@MapTypePM,$@mfPM);
	setarray $@TypeArena$[0],"^CD5C5C<PvP>","^FF4500<PvP Baby>","^8B5742<GvG>","^0047AB<Evento>";
	for(set .@j,0;.@j<=(getarraysize($@mapPM$)-1);set .@j,.@j+1)
	{
	set $@menu$[.@j],"^000000- Arena "+(.@j+1)+" "+$@TypeArena$[$@MapTypePM[.@j]];
	setmapflag $@mapPM$[.@j],mf_noreturn;
	setmapflag $@mapPM$[.@j],mf_nosave;
	setmapflag $@mapPM$[.@j],mf_noteleport;
	setmapflag $@mapPM$[.@j],mf_nowarpto;
	setmapflag $@mapPM$[.@j],mf_nowarp;
	setmapflag $@mapPM$[.@j],mf_nomemo;
	setmapflag $@mapPM$[.@j],mf_nopenalty;
	setmapflag $@mapPM$[.@j],mf_nobranch;
	if(!$@MapTypePM[.@j] && !$@mfPM[.@j]) setmapflag $@mapPM$[.@j],mf_pvp; else
	if(!$@MapTypePM[.@j]) setmapflag $@mapPM$[.@j],mf_pvp_noguild;
	if($@MapTypePM[.@j]==2) setmapflag $@mapPM$[.@j],mf_gvg;
	}
}

-	script	PM_source	-1,{

	while(1)
	{
	mes $@pvpm_name$;
	mes callfunc("getMesPM",1);
	mes callfunc("getMesPM",2);
	mes callfunc("getMesPM",3);
	mes "^008B8B< PvP "+callfunc("getMesPM",4)+" - ^FFA500"+$@Player_Lider$+"^008B8B >";
	mes "^008B8B< GvG "+callfunc("getMesPM",4)+" - ^FFA500"+$@Guild_Lider$+"^008B8B >";
		switch(select("^FFA500- "+callfunc("getMesPM",5)+"^000000:- Ranking:- "+callfunc("getMesPM",6)+":- "+callfunc("getMesPM",7)+":- "+callfunc("getMesPM",79)))
		{
	case 1: 
	for(set @i,0;@i<=(getarraysize($@IDPM)-1);set @i,@i+1) set @m$[@i]," ^0000FF["+getmapusers($@mapPM$[@i])+"]";
			switch(getarraysize($@IDPM))
			{
		case 1: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0]));
		case 2: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1]));
		case 3: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2]));
		case 4: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3]));
		case 5: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3],$@menu$[4]+@m$[4]));
		case 6: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3],$@menu$[4]+@m$[4],$@menu$[5]+@m$[5]));
		case 7: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3],$@menu$[4]+@m$[4],$@menu$[5]+@m$[5],$@menu$[6]+@m$[6]));
		case 8: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3],$@menu$[4]+@m$[4],$@menu$[5]+@m$[5],$@menu$[6]+@m$[6],$@menu$[7]+@m$[7]));
		case 9: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3],$@menu$[4]+@m$[4],$@menu$[5]+@m$[5],$@menu$[6]+@m$[6],$@menu$[7]+@m$[7],$@menu$[8]+@m$[8]));
		case 10: callfunc("pvpm_func","Warp",1,select($@menu$[0]+@m$[0],$@menu$[1]+@m$[1],$@menu$[2]+@m$[2],$@menu$[3]+@m$[3],$@menu$[4]+@m$[4],$@menu$[5]+@m$[5],$@menu$[6]+@m$[6],$@menu$[7]+@m$[7],$@menu$[8]+@m$[8],$@menu$[9]+@m$[9]));
			} mes "** ERROR ** CHECK THE pm_map TABLE"; close;

	case 2:	
			switch(select("- PvP:- PvP "+callfunc("getMesPM",8)+":- PvP (Ratio):- GvG:- GvG "+callfunc("getMesPM",8)+":- GvG (Ratio):- "+callfunc("getMesPM",9)))
			{
		case 1: callfunc "pvpm_func","Ranking1","kills",0,"PvP"; next; continue;
		case 2: callfunc "pvpm_func","Ranking1","dies",0,"PvP (Mortes)"; next; continue;
		case 3:	callfunc "pvpm_func","Ranking1","ratio",0,"PvP (Ratio)"; next; continue;
		case 4:	callfunc "pvpm_func","Ranking1","kills",2,"GvG"; next; continue;
		case 5:	callfunc "pvpm_func","Ranking1","dies",2,"GvG (Mortes)"; next; continue;
		case 6: callfunc "pvpm_func","Ranking1","ratio",2,"GvG (Ratio)"; next; continue;		
		case 7:
				switch(select("- "+callfunc("getMesPM",9)+" PvP:- "+callfunc("getMesPM",9)+" PvP "+callfunc("getMesPM",8)+":- "+callfunc("getMesPM",9)+" PvP (Ratio):- "+callfunc("getMesPM",9)+" GvG:- "+callfunc("getMesPM",9)+" GvG "+callfunc("getMesPM",8)+":- "+callfunc("getMesPM",9)+" GvG (Ratio)"))
				{
			case 1:	callfunc "pvpm_func","Ranking2","kills",0; next; continue;
			case 2:	callfunc "pvpm_func","Ranking2","dies",0; next; continue;
			case 3:	callfunc "pvpm_func","Ranking2","ratio",0; next; continue;
			case 4:	callfunc "pvpm_func","Ranking2","kills",2; next; continue;
			case 5:	callfunc "pvpm_func","Ranking2","dies",2; next; continue;
			case 6:	callfunc "pvpm_func","Ranking2","ratio",2; next; continue;
				}
			}
	case 3:
		next;
		mes $@pvpm_name$;
		mes callfunc("getMesPM",10);
		mes callfunc("getMesPM",11);
		mes callfunc("getMesPM",12);
		next; continue;
	case 4:
		close;

	case 5:
		next;
		mes $@pvpm_name$;
		mes callfunc("getMesPM",80);
		query_sql("select str from pvpm_lang where id=0",@lang$);
		for(set @a,0;@a<getarraysize(@lang$);set @a,@a+1) mes @a+" = "+@lang$[@a];
		input @inp;
			if(@inp < 0 || @inp > (getarraysize(@lang$)-1))
			{
			mes callfunc("getMesPM",81);
			next; continue;
			} set PM_Lang,@inp;
		next; continue;
		}
	}

OnInit:
	waitingroom "",0;
OnTimer5000:
	setarray .@RoomDisplay$,"[PvP] Arena","PvP "+$@PM_Lang0$[4]+" ["+$@Player_Lider$+"]","GvG "+$@PM_Lang0$[4]+" ["+$@Guild_Lider$+"]";
	delwaitingroom;
	waitingroom .@RoomDisplay$[rand(0,2)],0;
	initnpctimer;
}

-	script	cmd	-1,{

OnWhisperGlobal:

		if(compare(@whispervar0$,"!warp"))
		{
		set @ArenaID,@whispervar1$;
			if(!@ArenaID)
			{
			dispbottom callfunc("getMesPM",13);
			end;
			} callfunc("pvpm_func","Warp",0,@ArenaID);
		}

		if(compare(@whispervar0$,"!ranking"))
		{  	if(compare(@whispervar0$,"2"))
			{
				if(compare(@whispervar1$,"pvp"))
				{	if(compare(@whispervar2$,"ratio")) { callfunc "pvpm_func","Ranking2","ratio",0,"Ratio"; end; }
					if(!compare(@whispervar2$,"die")) callfunc "pvpm_func","Ranking2","kills",0; else
					callfunc "pvpm_func","Ranking2","dies",0;
					end;
				}

				if(compare(@whispervar1$,"gvg"))
				{	if(compare(@whispervar2$,"ratio")) { callfunc "pvpm_func","Ranking2","ratio",2,"Ratio"; end; }
					if(!compare(@whispervar2$,"die")) callfunc "pvpm_func","Ranking2","kills",2; else
					callfunc "pvpm_func","Ranking2","dies",2;
					end;
				}
			}

			if(compare(@whispervar1$,"pvp"))
			{	if(compare(@whispervar2$,"ratio")) { callfunc "pvpm_func","Ranking1","ratio",0,"Ratio"; end; }
				if(!compare(@whispervar2$,"die")) callfunc "pvpm_func","Ranking1","kills",0,"PvP"; else
				callfunc "pvpm_func","Ranking1","dies",0,"PvP ( Mortes )";
				end;
			}

			if(compare(@whispervar1$,"gvg"))
			{	if(compare(@whispervar2$,"ratio")) { callfunc "pvpm_func","Ranking1","ratio",2,"Ratio"; end; }
				if(!compare(@whispervar2$,"die")) callfunc "pvpm_func","Ranking1","kills",2,"GvG"; else
				callfunc "pvpm_func","Ranking1","dies",2,"GvG";
				end;
			} 
		}

		if ( compare(@whispervar0$,"!exit") )
		{
		getmapxy(@map$,@X,@Y,0);
			for(set @i,0;@i!=getarraysize($@mapPM$);set @i,@i+1)
			{
				if (@map$ !=  $@mapPM$[@i]) continue;
				dispbottom callfunc("getMesPM",14);
				sleep2 5000;
				warp getsavepoint(0),getsavepoint(1),getsavepoint(2);
				end;
			}
		dispbottom callfunc("getMesPM",15);
		end;
		}

		if (compare(@whispervar0$,"lider"))
		{
		if(compare(@whispervar0$,"pvp")) dispbottom "PvP "+callfunc("getMesPM",4)+": "+$@Player_Lider$; else
		dispbottom "GvG "+callfunc("getMesPM",4)+": "+$@Guild_Lider$;
		end;
		}

		if(compare(@whispervar0$,"!truncate") && getgmlevel()>=70)
		{
			if(compare(@whispervar1$,"pvp"))
			{
			query_sql("delete from pvpm_data where type=0");
			dispbottom callfunc("getMesPM",16);
			end;
			}
			if(compare(@whispervar1$,"gvg"))
			{
			query_sql("delete from pvpm_data where type=2");
			dispbottom callfunc("getMesPM",16);
			end;
			} dispbottom callfunc("getMesPM",17);
		}

		if (compare(@whispervar0$,"!ban"))
		{
			if(@whispervar1$=="") { dispbottom callfunc("getMesPM",18); end; }
			if(@whispervar2$=="") { dispbottom callfunc("getMesPM",19); end; }
			if(@whispervar3$=="") { dispbottom callfunc("getMesPM",20); end; }
			if(@whispervar2$=="showtime") 
			{ query_sql("select ban from pvpm_data where name='"+@whispervar1$+"' limit 1",@showtime);
			dispbottom callfunc("getMesPM",21)+" ["+@whispervar1$+"] ["+@showtime+" "+callfunc("getMesPM",27)+"]";
			end;
			}	if(@whispervar2$=="unban") 
				{ query_sql("update pvpm_data set ban=0 where name='"+@whispervar1$+"' limit 1");
				dispbottom callfunc("getMesPM",22)+@whispervar1$;
				message @whispervar1$,callfunc("getMesPM",23);
				end;
				} set @time,@whispervar2$;
			if(@time==0 && @whispervar2$!="unban" || @time==0 && @whispervar2$!="showtime") { dispbottom callfunc("getMesPM",24); end; }
		set @id,0;
		query_sql("select id from pvpm_data where name='"+@whispervar1$+"' and type="+@whispervar3$,@id);
				if(!@id && @whispervar3$=="0" || !@id && @whispervar3$=="2") { dispbottom callfunc("getMesPM",25); end; }		
		 set @bantime,0;
		if(compare(@whispervar2$,"-")) query_sql("update pvpm_data set ban=ban"+@time+" where id="+@id+" limit 1"); else
		query_sql("update pvpm_data set ban=ban+"+@time+" where id="+@id+" limit 1");
		query_sql("select ban from pvpm_data where id="+@id+" limit 1",@bantime);
		dispbottom callfunc("getMesPM",26)+" ("+@bantime+" "+callfunc("getMesPM",27)+")";
		message @whispervar1$,callfunc("getMesPM",28)+" "+@bantime+" "+callfunc("getMesPM",27)+".";
		warpchar "prontera",150,150,getcharid(0,@whispervar1$);
		end;		
		}

		if (compare(@whispervar0$,"!map") && getgmlevel()>=70) 
		{
			if (compare(@whispervar1$,"add"))
			{
				if(getarraysize($@IDPM)>=10)
				{
				dispbottom callfunc("getMesPM",29);
				dispbottom callfunc("getMesPM",30);
				end;
				} set @type,@whispervar3$;			
					if(!@type && @whispervar3$==""||@type>2)
					{
					dispbottom callfunc("getMesPM",31);
					dispbottom callfunc("getMesPM",32);
					dispbottom callfunc("getMesPM",33);
					end;
					} set @mapcheck$,"";
				query_sql("select map from pvpm_map where map='"+@whispervar2$+"' limit 1",@mapcheck$);
				if(@mapcheck$!="")
				{
				dispbottom callfunc("getMesPM",34);
				end;
				} query_sql("insert into `pvpm_map` (id,map,type) values ("+(getarraysize($@IDPM)-1)+",'"+@whispervar2$+"',"+@type+")");
			dispbottom callfunc("getMesPM",35)+" ("+@whispervar2$+")";
			doevent "init_PM::OnReloadListMap";
			}

			if (compare(@whispervar1$,"del"))
			{
				if(getarraysize($@IDPM)<=1)
				{
				dispbottom callfunc("getMesPM",36);
				end;
				} query_sql("select map from pvpm_map where map='"+@whispervar2$+"'",@mapcheck$);
					if(@mapcheck$=="")
					{
					dispbottom callfunc("getMesPM",37);
					end;
					} query_sql("delete from pvpm_map where map='"+@whispervar2$+"'");
			dispbottom callfunc("getMesPM",38)+" ("+@whispervar2$+")";
			doevent "init_PM::OnReloadListMap";
			} 

			if (compare(@whispervar1$,"list"))
			{
			for(set @i,0;@i<=(getarraysize($@IDPM)-1);set @i,@i+1) dispbottom "["+(@i+1)+"] "+$@mapPM$[@i];
			end;
			}
		end;
		}

		if (compare(@whispervar0$,"!help"))
		{
			if(compare(@whispervar1$,"!warp")) {
			dispbottom callfunc("getMesPM",39);
			dispbottom callfunc("getMesPM",40);
			dispbottom "- !warp#1;!warp#2;...!warp#5 ..";
			dispbottom callfunc("getMesPM",41);
			end;
			}

			if(compare(@whispervar1$,"!ranking")) {
			dispbottom callfunc("getMesPM",39);
			dispbottom callfunc("getMesPM",42);
			dispbottom "- !ranking#pvp;!ranking#pvp#die;!ranking#gvg;!ranking#gvg#die;!ranking#ratio";
			dispbottom "- !ranking2#pvp;!ranking2#pvp#die;!ranking2#gvg;!ranking2#gvg#die;!ranking2#ratio; (Mostra somente sua posição)";
			dispbottom callfunc("getMesPM",43);;
			end;
			}

			if(compare(@whispervar1$,"!pvplider") || compare(@whispervar1$,"!gvglider")) {
			dispbottom callfunc("getMesPM",39);
			dispbottom callfunc("getMesPM",44);;
			end;
			}

			if(compare(@whispervar1$,"!exit")) {
			dispbottom callfunc("getMesPM",39);
			dispbottom callfunc("getMesPM",45);
			end;
			}

			if(compare(@whispervar1$,"!ban") && getgmlevel()>=70) {
			dispbottom callfunc("getMesPM",39);
			dispbottom callfunc("getMesPM",46);
			dispbottom callfunc("getMesPM",47);
			dispbottom callfunc("getMesPM",48);
			dispbottom callfunc("getMesPM",49);
			dispbottom callfunc("getMesPM",50);
			end;
			}

			if(compare(@whispervar1$,"!map") && getgmlevel()>=70) {
			dispbottom callfunc("getMesPM",39);
			dispbottom callfunc("getMesPM",51);
			dispbottom callfunc("getMesPM",52);
			dispbottom "- Type: 0 = Arena PvP; 1 = Arena PvP Baby; 2 Arena GvG;";
			dispbottom callfunc("getMesPM",53);
			end;
			}

			if(compare(@whispervar1$,"!truncate") && getgmlevel()>=70) {
			dispbottom callfunc("getMesPM",39);
			dispbottom callfunc("getMesPM",54);
			dispbottom callfunc("getMesPM",55);
			dispbottom callfunc("getMesPM",56);
			end;
			} dispbottom callfunc("getMesPM",57);
		end;
		}

	dispbottom callfunc("getMesPM",58);
	dispbottom callfunc("getMesPM",59);
	dispbottom callfunc("getMesPM",60);
	dispbottom callfunc("getMesPM",61);
	dispbottom callfunc("getMesPM",62);
	dispbottom callfunc("getMesPM",63);
	dispbottom callfunc("getMesPM",64);
	dispbottom callfunc("getMesPM",65);
		if(getgmlevel()>=70)
		{
		dispbottom callfunc("getMesPM",66);
		dispbottom callfunc("getMesPM",67);
		dispbottom callfunc("getMesPM",68);
		dispbottom callfunc("getMesPM",69);
		}
		
}

-	script	event#pvpm	-1,{
OnInit:
OnTimer60000:
	query_sql("update pvpm_data set ban=ban-1 where ban>0");
	initnpctimer;
	end;

OnPCKillEvent:
	callfunc("pvpm_func","PCKillEvent");

OnPCDieEvent:
	callfunc("pvpm_func","PCDieEvent");

OnPCLoadMapEvent:
	callfunc("pvpm_func","PCLoadEvent");
}

function	script	pvpm_func	{

		if (getarg(0) == "Ranking1")
		{
		deletearray @name$[0],getarraysize(@name$);
		deletearray @points[0],getarraysize(@points);
		query_sql "select name,"+getarg(1)+" from pvpm_data where type="+getarg(2)+" and "+getarg(1)+"!=0 order by "+getarg(1)+" desc limit 125",@name$,@points;
		dispbottom "======= Ranking - "+getarg(3)+" =======";
			for(set @i,0;@i != $@showsRankUntil;set @i,@i+1)
			{
			if(@name$[@i]=="") return;
			dispbottom (@i+1)+"º | "+@name$[@i]+" | "+@points[@i];
			} return;
		}

		if (getarg(0) == "Ranking2")
		{
		deletearray @name$[0],getarraysize(@name$);
		deletearray @points[0],getarraysize(@points);
		query_sql "select id,"+getarg(1)+" from pvpm_data where type="+getarg(2)+" order by "+getarg(1)+" desc limit 125",@id,@points;
			for(set @i,0;@i <= 125;set @i,@i+1)
			{
				if (@id[@i] == getcharid(getarg(2)))
				{
				dispbottom "- "+strcharinfo(getarg(2))+" | "+(@i+1)+"º | "+@points;
				return;
				}
			}
		dispbottom callfunc("getMesPM",70);
		return;
		}

		if(getarg(0)=="Warp")
		{
			if(getarg(1))
			{
				if($@MapTypePM[(getarg(2)-1)]==2 && !getcharid(2))
				{
				mes $@pvpm_name$;
				mes callfunc("getMesPM",71);
				close;
				}	if($@MapTypePM[(getarg(2)-1)]==1 && Upper!=2)
					{
					mes $@pvpm_name$;
					mes callfunc("getMesPM",72);
					close;
					} if($@MapTypePM==0||$@MapTypePM==1) callfunc("pvpm_func","ban",0,1); else callfunc("pvpm_func","ban",2,1);
			} else	{
					getmapxy(@map$,@X,@Y,0);
						if($@mapPM$[(getarg(2)-1)]==@map$)
						{
						dispbottom "<!!!> "+callfunc("getMesPM",73);
						end;
						}	if($@MapTypePM[(getarg(2)-1)]==2)
							{
							dispbottom "<!!!> "+callfunc("getMesPM",71);
							end;
							}	if($@MapTypePM[(getarg(2)-1)]==1 && Upper!=2)
								{
								dispbottom "<!!!> "+callfunc("getMesPM",72);
								end;
								} if($@MapTypePM==0||$@MapTypePM==1) callfunc("pvpm_func","ban",0); else callfunc("pvpm_func","ban",2);
					} set @MapIDx,(getarg(2)-1);
		if($@breakBuffs) sc_end -1;
		warp $@mapPM$[(getarg(2)-1)],0,0;
		end;
		}

		if (getarg(0) == "ban")
		{
		set @bantime,0;
		query_sql("select ban from pvpm_data where id="+getcharid(getarg(1))+" limit 1",@bantime);
		if(!@bantime) return;
			if(!getarg(2,0)) { dispbottom "<!!!> "+callfunc("getMesPM",74)+" "+@bantime+" "+callfunc("getMesPM",27)+"!"; end; } else 
			{ mes "^FF7F50<!!!> ^FFA500"+callfunc("getMesPM",74)+" ^FF7F50"+@bantime+"^FFA500 "+callfunc("getMesPM",27)+"!"; close; }
		}

		if (getarg(0) == "Up")
		{
		if($@getEXPoption) callfunc("pvpm_func","getexp");
		set @name$,"";
		set @points,0;
		query_sql("select name,"+getarg(1)+" from pvpm_data where id="+getcharid(getarg(2))+" and type="+getarg(2)+" limit 1",@name$,@points);
			if (@name$=="")
			{
			query_sql("INSERT INTO pvpm_data (id,"+getarg(1)+",name,annc,type) values ("+getcharid(getarg(2))+",1,'"+strcharinfo(getarg(2))+"',"+getarg(3)+","+getarg(2)+")");
			dispbottom "Score: 1";
			end;
			} query_sql("update pvpm_data set "+getarg(1)+"="+getarg(1)+"+1 where id="+getcharid(getarg(2)));
		set @points,@points+1;
				if($@mainRanking)
				{
				set @kills,0;
				set @dies,0;
				query_sql("select kills,dies from pvpm_data where id="+getcharid(getarg(2))+" and type="+getarg(2)+" limit 1",@kills,@dies);
				query_sql("update pvpm_data set ratio="+(@kills-@dies)+" where id="+getcharid(getarg(2))+" and type="+getarg(2)+" limit 1");
				set @points,@kills-@dies;
				return;				
				} return;
		}

		if (getarg(0) == "ChangeLeader")
		{
		set @L_name$,"";
		set @L_points,0;
		if(!$@mainRanking) query_sql("select name,kills from pvpm_data where leader=1 and type="+getarg(1)+" limit 1",@L_name$,@L_points); else
		query_sql("select name,ratio from pvpm_data where leader=1 and type="+getarg(1)+" limit 1",@L_name$,@L_points);
			if (@points > @L_points && @L_name$ != strcharinfo(getarg(1)))
			{
			query_sql("update pvpm_data set leader=0 where type="+getarg(1));
			query_sql("update pvpm_data set leader=1 where id="+getcharid(getarg(1))+" and type="+getarg(1));
			mapannounce @map$,strcharinfo(getarg(1))+" | "+callfunc("getMesPM",75)+" !",bc_map,0xFF7F50;
			set $@Player_Lider$,"";
			set $@Guild_Lider$,"";
			query_sql("select name from pvpm_data where leader=1 and type=0 limit 1",$@Player_Lider$);
			query_sql("select name from pvpm_data where leader=1 and type=2 limit 1",$@Guild_Lider$);
			} return;
		}

		if (getarg(0) == "Annc")
		{
		set @points,0;
		set @annc,0;
		query_sql "select kills,annc from pvpm_data where id="+getcharid(getarg(1))+" and type="+getarg(1),@points,@annc;
		if(!@annc) query_sql "update pvpm_data set annc=annc+"+getarg(2)+" where id="+getcharid(getarg(1))+" and type="+getarg(1);
			if (@points >= @annc)
			{
			announce strcharinfo(getarg(1))+" | "+@points+" "+callfunc("getMesPM",76)+"! ["+getarg(3)+"]",bc_all,0xFF7F50; // trocou o A do Annouce
			query_sql "update pvpm_data set annc=annc+"+getarg(2)+" where id="+getcharid(getarg(1))+" and type="+getarg(1);
			if($@sound==1||$@sound==3) soundeffectall "Monster Kill.wav",0;
			} if(!$@sound||$@sound==1) return;
				if(getarg(3)=="PvP")
				{
					if(@noMoreSounds&&@withoutDying==@withoutDyingAnnc)
					{
					mapannounce @map$,strcharinfo(0)+" | "+$@SoundList$[@noMoreSounds]+"! [ "+@withoutDying+" "+callfunc("getMesPM",76)+" ]",bc_map,0xFF7F50;
					soundeffectall $@SoundList$[@noMoreSounds]+".wav",0,@map$;
					set @withoutDyingAnnc,@withoutDyingAnnc+5;
					return;
					}
						if($@SoundList$[@withoutDying]=="end")
						{
						set @withoutDyingAnnc,@withoutDyingAnnc+5;
						set @noMoreSounds,@withoutDying-1;
						}
							if($@SoundList$[@withoutDying]!=""&&!@noMoreSounds)
							{
							mapannounce @map$,strcharinfo(0)+" | "+$@SoundList$[@withoutDying]+" ! [ "+@withoutDying+" "+callfunc("getMesPM",76)+" ]",bc_map,0xFF7F50;
							soundeffectall $@SoundList$[@withoutDying]+".wav",0,@map$;
							}
				} return;
		}

		if(getarg(0) == "PCKillEvent")
		{
		set @Live,1;
				if(@RightWoEMap)
				{
				if($@CountPointsInWoE==1 || $@CountPointsInWoE==3) callfunc "pvpm_func","Up","kills",0,100;
				dispbottom "Player Score: "+@points;
				if($@CountPointsInWoE==2 || $@CountPointsInWoE==3) callfunc "pvpm_func","Up","kills",2,1000;
				dispbottom "Guild Score: "+@points;
				end;
				} getmapxy(@map$,@X,@Y,0);
			if(@map$==$@mapPM$[@MapIDx] && $@MapTypePM[@MapIDx]>=0 && $@MapTypePM[@MapIDx]<=1 || $@PK_Mode)
			{
			set @withoutDying,@withoutDying+1;
			callfunc("pvpm_func","Up","kills",0,100);
			dispbottom "Player Score: "+@points;
			callfunc("pvpm_func","ChangeLeader",0);
			callfunc("pvpm_func","Annc",0,100,"PvP");
			}
				if(@map$==$@mapPM$[@MapIDx] && $@MapTypePM[@MapIDx]==2 && getcharid(2) || $@PK_Mode && getcharid(2))
				{
				callfunc("pvpm_func","Up","kills",2,1000);
				dispbottom "Guild Score: "+@points;
				callfunc("pvpm_func","ChangeLeader",2);
				callfunc("pvpm_func","Annc",2,1000,"GvG");
				} end;
		}

		if(getarg(0) == "PCDieEvent")
		{
		set @Live,0;
				if(@RightWoEMap)
				{
				if($@CountPointsInWoE==1 || $@CountPointsInWoE==3) { callfunc "pvpm_func","Up","dies",0,100; if($@mainRanking) dispbottom "Player Score: "+@points; }
				if($@CountPointsInWoE==2 || $@CountPointsInWoE==3) { callfunc "pvpm_func","Up","dies",2,1000; if($@mainRanking) dispbottom "Guild Score: "+@points; }
				}
			set @withoutDying,0;
			set @noMoreSounds,0;
			set @withoutDyingAnnc,0;
			set @MapIDx,0;
			set @RightWoEMap,0;
		getmapxy(@map$,@X,@Y,0);
		if(@map$==$@mapPM$[@MapIDx] && $@MapTypePM[@MapIDx]>=0 && $@MapTypePM[@MapIDx]<=1 || $@PK_Mode) { callfunc "pvpm_func","Up","dies",0,100; if($@mainRanking) dispbottom "Player Score: "+@points; }
		if(@map$==$@mapPM$[@MapIDx] && $@MapTypePM[@MapIDx]==2 && getcharid(2) || $@PK_Mode && getcharid(2)) { callfunc "pvpm_func","Up","dies",2,1000; if($@mainRanking) dispbottom "Guild Score: "+@points; }
		end;
		}

		if(getarg(0) == "PCLoadEvent")
		{
		getmapxy(@map$,@X,@Y,0);
		if(getcastlename(@map$)=="") { set @RightWoEMap,0; end; }
		if(agitcheck() || agitcheck2()) set @RightWoEMap,1;
		end;
		}

		if(getarg(0) == "getexp")
		{
			if(@Live)
			{
			attachrid(killedrid);
			set .@BaseLevel,BaseLevel;
			attachrid(killerrid);
			if($@getEXPoption==1) set @EXP,(($@getEXP*.@BaseLevel)/BaseLevel); else set @EXP,$@getEXP;
			getexp @EXP,@EXP;
			dispbottom callfunc("getMesPM",77)+" "+@EXP+" EXP.";
			} else	{
				set BaseExp,BaseExp-$@lostEXP;
				set JobExp,JobExp-$@lostEXP;
				dispbottom callfunc("getMesPM",78)+" "+$@lostEXP+" EXP.";;
				} return;
		}
}

function	script	getMesPM	{ return getd("$@PM_Lang"+PM_Lang+"$["+getarg(0)+"]"); }

//================== DUPLICATE =====================
prontera,164,171,4	duplicate(PM_source)	[PvP] Arena#1	899
//================== WOE =====================

//Necessário para ativar o sistema de contagem dos pontos na woe.
//caso queira desativar algum mapa, retire-o daqui.

aldeg_cas01	mapflag	loadevent
aldeg_cas02	mapflag	loadevent
aldeg_cas03	mapflag	loadevent
aldeg_cas04	mapflag	loadevent
gefg_cas01	mapflag	loadevent
gefg_cas02	mapflag	loadevent
gefg_cas03	mapflag	loadevent
gefg_cas04	mapflag	loadevent
gefg_cas05	mapflag	loadevent
payg_cas01	mapflag	loadevent
payg_cas02	mapflag	loadevent
payg_cas03	mapflag	loadevent
payg_cas04	mapflag	loadevent
payg_cas05	mapflag	loadevent
prtg_cas01	mapflag	loadevent
prtg_cas02	mapflag	loadevent
prtg_cas03	mapflag	loadevent
prtg_cas04	mapflag	loadevent
prtg_cas05	mapflag	loadevent
schg_cas01	mapflag	loadevent
schg_cas02	mapflag	loadevent
schg_cas03	mapflag	loadevent
schg_cas04	mapflag	loadevent
schg_cas05	mapflag	loadevent
arug_cas01	mapflag	loadevent
arug_cas02	mapflag	loadevent
arug_cas03	mapflag	loadevent
arug_cas04	mapflag	loadevent
arug_cas05	mapflag	loadevent

//NÃO APAGUE DAQUI PARA BAIXO!
pay_gld	mapflag	loadevent
prt_gld	mapflag	loadevent
sch_gld	mapflag	loadevent
aru_gld	mapflag	loadevent
gef_fild13	mapflag	loadevent
alde_gld	mapflag	loadevent
n_castle	mapflag	loadevent

 

5 answers to this question

Recommended Posts

  • 0
Posted
11 hours ago, Mihael said:

Essa script está bem velha e desatualizada, existem outras aqui no forum mesmo mais completas, verifique a área de downloads.

Obrigado, a solução para esse NPC não encontrei, mas fica registrado que encontrei um Script muito bom de PvP Narrator (SoulBlaker).

 

Resolvido.

  • 0
Posted
23 hours ago, vinciover said:

Obrigado, a solução para esse NPC não encontrei, mas fica registrado que encontrei um Script muito bom de PvP Narrator (SoulBlaker).

 

Resolvido.

Pode ser muita coisa, essa script do mooka é bem antiga. Assim eu uso o pvp do ghost, pra mim ela é bem completa, se quiser dar uma olhada. É só traduzir.

 

  • Like 1
  • 0
Posted
On 5/29/2020 at 10:17 PM, Mihael said:

Pode ser muita coisa, essa script do mooka é bem antiga. Assim eu uso o pvp do ghost, pra mim ela é bem completa, se quiser dar uma olhada. É só traduzir.

 

Gostei desse também, Obrigado @Mihael

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...