Ir para conteúdo
Entre para seguir isso  
Indiano

NPC de Títulos

Recommended Posts

Eai galera. Eu estou aprendendo faz um tempo sobre script, e eu mesmo me aventuro e crio os meus npcs, mas esse é uma exceção, eu não sei nem por onde começar, então estou aceitando toda ajuda possível.

O NPC que eu queria seria assim. Quero dar títulos para todos, algo como ''Quest de títulos''.

Ex.: Se alguém matar 1 MVP, ele ganha um Títulos como: Sortudo.

Matar 50 MVP, ele ganha algo como: Matador

[...]

Coletar tantos Zeny: Colecionador

[...]

Matar tantos Players: Carrasco

[...]

Ganhar tantas WOE: Conquistador

[...]

Donatar tanto valor: Contribuidor

''-Mas pra que serviria esses títulos?'' Assim, digamos que ganhe dois títulos, como Colecionador e carrasco. Ai eu ia em um NPC e lá teria falando: Você tem tantos títulos, qual deseja usar?

ai no menu teria ambos os títulos que eu já ganhei. E quando eu escolher um meu Nick seria alterado adicionado o título na frente do Nick.

Ex.:

Meu nick: Ctrl

Como ficaria [Carrasco] Ctrl

E isso eu poderia mudar quantas vezes eu quiser.

Enfim, é isso. Sei que vai ser grande o trabalho para criar algo desse tipo, até porque eu pretendo fazer VÁRIOS títulos, de diferentes tipos.

Se alguém quiser pelo menos ajudar falando qual comandos devo usar, ou me ajudar a criar, ou até criar pra mim. Eu estou aceitando qualquer ajuda.

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eai galera. Eu estou aprendendo faz um tempo sobre script, e eu mesmo me aventuro e crio os meus npcs, mas esse é uma exceção, eu não sei nem por onde começar, então estou aceitando toda ajuda possível.

O NPC que eu queria seria assim. Quero dar títulos para todos, algo como ''Quest de títulos''.

Ex.: Se alguém matar 1 MVP, ele ganha um Títulos como: Sortudo.

Matar 50 MVP, ele ganha algo como: Matador

[...]

Coletar tantos Zeny: Colecionador

[...]

Matar tantos Players: Carrasco

[...]

Ganhar tantas WOE: Conquistador

[...]

Donatar tanto valor: Contribuidor

''-Mas pra que serviria esses títulos?'' Assim, digamos que ganhe dois títulos, como Colecionador e carrasco. Ai eu ia em um NPC e lá teria falando: Você tem tantos títulos, qual deseja usar?

ai no menu teria ambos os títulos que eu já ganhei. E quando eu escolher um meu Nick seria alterado adicionado o título na frente do Nick.

Ex.:

Meu nick: Ctrl

Como ficaria [Carrasco] Ctrl

E isso eu poderia mudar quantas vezes eu quiser.

Enfim, é isso. Sei que vai ser grande o trabalho para criar algo desse tipo, até porque eu pretendo fazer VÁRIOS títulos, de diferentes tipos.

Se alguém quiser pelo menos ajudar falando qual comandos devo usar, ou me ajudar a criar, ou até criar pra mim. Eu estou aceitando qualquer ajuda.

Quero ver o corajoso que vai criar isso pra você AHUEUHEUHAEUHE

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa.. Desafio aceito. Provavelmente devo terminar lá pra quarta feira, porque só tenho 2 horas diaras para brincar com script. =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa.. Desafio aceito. Provavelmente devo terminar lá pra quarta feira, porque só tenho 2 horas diaras para brincar com script. =)

Se você vai tentar criar ele, poderia postar algo como um Log diário nesse post de como está o processo? Afinal eu também quer ajudar em algo, então você postando o que já conseguiu fazer, e o que falta, talvez eu possa ajudar também.

Editado por Ctrl

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal o projeto, eu já tinha pensado em algo parecido (quem jogo ou já jogou wow já deve ter pensado tbm ^^) mais estou em projeto no conjunto com outros... já vi alguns script por ai nos gringos "Title System" ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz um scriptzinho aqui para testar. Caso alguém se disponibilize e poste os erros (que com certeza terão) eu agradeço.

//  ________________________________________________________// /		 ____    	                            \// |		|  __|					    |// |		| |_ _  _  __ _ _ __  _  __ 		    |// |		|  _| || |/ _` | '_ \| |/ _ \		    |// |		| |__ \/ | (_| | | | | | (_) |		    |// |		|____|__/ \__,_|_| |_|_|\___/ 		    |// |                                                        |// |--------------------------------------------------------|// | Nome do Script: Sistema de Titulos		            |// |--------------------------------------------------------|// | Criado por: Evânio (Arkwright)                         |// |--------------------------------------------------------|// | Versão: 1.0		                       	    |// |--------------------------------------------------------|// | Descrição: ... 					    |// |--------------------------------------------------------|// | Changelog:               	                            |// | 1.0 Script Criado (23/02/2015) [Evanio]                |// \________________________________________________________/// ---------------------------------------------------------|/* -------------------- Tabelas SQL ------------------------|DROP TABLE IF EXISTS `titulos`;CREATE TABLE `titulos` (`id` int(11) unsigned NOT NULL default '0',`info` int(11) unsigned NOT NULL default '0',`info2` int(11) unsigned NOT NULL default '0',`name` varchar(255) NOT NULL default '',KEY `id` (`id`)) ENGINE=MyISAM;DROP TABLE IF EXISTS `titulos_c`;CREATE TABLE `titulos_c` (`char_id` int(11) unsigned NOT NULL default '0',`qtd` int(11) unsigned NOT NULL default '0',`tipo` int(11) unsigned NOT NULL default '0',`info` int(11) unsigned NOT NULL default '0',KEY `char_id` (`char_id`)) ENGINE=MyISAM;*///-----------------------------------------------------------|//-----------------------------------------------------------|-	script	FunctionT	-1{OnPCLoginEvent:	if(titulo != 0) { atcommand "@fakename ["+titulo_c$+"] "+strcharinfo(0); }	end;OnNPCKillEvent:	query_sql ("SELECT `id` , `info` , `info2` , `name` FROM `titulos` ORDER BY `info`",@id,@mobid,@qtdg,@name);	if(@id == 2) {		for(.@s = 0; .@s < getarraysize(@mobid); .@s++){			if(killedrid == @mobid[.@s]) {				query_sql ("SELECT `info` FROM `titulos_c` WHERE `char_id`='"+getcharid(0)+"'",@mobid);				if(@mobid == "") { query_sql("INSERT INTO `titulos_c` VALUES('"+getcharid(0)+"',"1","2",'"+@mobid[.@s]+"')"); end; }					query_sql ("UPDATE `titulos_c` SET `qtd`=`qtd`+1 WHERE `char_id`="+getcharid(0)+" AND `info`='"+@mobid[.@s]+"'");					sleep2 100;					query_sql ("SELECT `qtd` FROM `titulos_c` WHERE `char_id`='"+getcharid(0)+"' AND `info`='"+@mobid[.@s]+"'",@qtd);			if(@qtd == @qtdg) { dispbottom "Você adquiriu o título: "+@name; }			}		}	}	end;OnPCKillEvent:}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro erro acusado foi que estava faltando uma virgula depois do -1. Dai eu arrumei

-	script	FunctionT	-1,{

Ai o segundo foi esse:

11001858_795986220481385_666845130610596

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho que em vez de " seria ' (Em vez de aspas duplas é só aspa única mesmo.)

//  ________________________________________________________// /		 ____    	                            \// |		|  __|					    |// |		| |_ _  _  __ _ _ __  _  __ 		    |// |		|  _| || |/ _` | '_ \| |/ _ \		    |// |		| |__ \/ | (_| | | | | | (_) |		    |// |		|____|__/ \__,_|_| |_|_|\___/ 		    |// |                                                        |// |--------------------------------------------------------|// | Nome do Script: Sistema de Titulos		            |// |--------------------------------------------------------|// | Criado por: Evânio (Arkwright)                         |// |--------------------------------------------------------|// | Versão: 1.0		                       	    |// |--------------------------------------------------------|// | Descrição: ... 					    |// |--------------------------------------------------------|// | Changelog:               	                            |// | 1.0 Script Criado (23/02/2015) [Evanio]                |// \________________________________________________________/// ---------------------------------------------------------|/* -------------------- Tabelas SQL ------------------------|DROP TABLE IF EXISTS `titulos`;CREATE TABLE `titulos` (`id` int(11) unsigned NOT NULL default '0',`info` int(11) unsigned NOT NULL default '0',`info2` int(11) unsigned NOT NULL default '0',`name` varchar(255) NOT NULL default '',KEY `id` (`id`)) ENGINE=MyISAM;DROP TABLE IF EXISTS `titulos_c`;CREATE TABLE `titulos_c` (`char_id` int(11) unsigned NOT NULL default '0',`qtd` int(11) unsigned NOT NULL default '0',`tipo` int(11) unsigned NOT NULL default '0',`info` int(11) unsigned NOT NULL default '0',KEY `char_id` (`char_id`)) ENGINE=MyISAM;*///-----------------------------------------------------------|//-----------------------------------------------------------|-	script	FunctionT	-1,{OnPCLoginEvent:	if(titulo != 0) { atcommand "@fakename ["+titulo_c$+"] "+strcharinfo(0); }	end;OnNPCKillEvent:		query_sql ("SELECT `info` FROM `titulos` WHERE `id`='2'",@mobid);		for(@s = 0; @s < getarraysize(@mobid); @s++){			if(killedrid == @mobid[@s]) {					query_sql ("SELECT `info` FROM `titulos_c` WHERE `char_id`='"+getcharid(0)+"' AND `info`='"+@mobid[@s]+"'",@mobid2);							if(@mobid2 != @mobid[@s]) {  query_sql("INSERT INTO `titulos_c` (`char_id`, `qtd`, `tipo`, `info`) VALUES ('"+getcharid(0)+"', '0', '0', '"+@mobid[@s]+"')"); }						query_sql ("UPDATE `titulos_c` SET `qtd`=`qtd`+1 WHERE `char_id`="+getcharid(0)+" AND `info`='"+@mobid[@s]+"'");						query_sql ("SELECT `info2` , `name` FROM `titulos` where `info`='"+@mobid[@s]+"'",@qtdg,@name$);						query_sql ("SELECT `qtd` FROM `titulos_c` WHERE `char_id`='"+getcharid(0)+"' AND `info`='"+@mobid[@s]+"'",@qtd);							if(@qtd == @qtdg) {								dispbottom "Você adquiriu o título: "+@name$;								query_sql ("UPDATE `titulos_c` SET `tipo`=`1` WHERE `char_id`='"+getcharid(0)+"' AND `info`='"+@mobid[@s]+"'");								}			}		}	end;OnPCKillEvent:}
Editado por Arkwright

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas eu acho que ainda vai ter um problema. Teste in-game. Insira um novo titulo na tabela 'titulos' Explicando:

id = 2 // 2 é referente a titulo de MOB

info = MOBID // Sendo id 2, a info é o ID do mob

info2 = Quantidade de mob para matar

name = nome do titulo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas eu acho que ainda vai ter um problema. Teste in-game. Insira um novo titulo na tabela 'titulos' Explicando:

id = 2 // 2 é referente a titulo de MOB

info = MOBID // Sendo id 2, a info é o ID do mob

info2 = Quantidade de mob para matar

name = nome do titulo.

fakename não tira o nome do clã ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Infelizmente.

Estou por fora do projeto, porém uma dúvida, ele também funciona como Título para PvP?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou por fora do projeto, porém uma dúvida, ele também funciona como Título para PvP?

No momento só fiz essa parte de monstro, mas dá pra adicionar várias coisas nisso ai.

  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

No momento só fiz essa parte de monstro, mas dá pra adicionar várias coisas nisso ai.

mas você vai continuar aprimorando este sistema, a longo prazo... ?

ficaria muito bom, se trabalhar várias idéia em cima deste sistema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou fazendo aos poucos. Até porque trabalho durante o dia e estou na faculdade a noite, então, meu tempo é bem curto pra mexer em alguma coisa.

  • Amei 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

E como faz que o player perca o fakename que ele possui ? #ComeTower

Fiz esse npc.quando estava começando a programar scripts, aproveitem...
https://code.google.com/p/ctscripts/downloads/detail?name=killing_titles_v1.0.4.txt&can=2&q=&sort=-filename

Compartilhar este post


Link para o post
Compartilhar em outros sites
Entre para seguir isso  

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.

×