Jump to content
Sign in to follow this  
Julia Madureira

[ script ] Como fazer o etilo de reset estilo Mu funcionar no Cronus

Recommended Posts

Bom eu encontrei pela net o sistemde reset do estilo Mu do [fetish]

Que permitiam que quando o jogador chega-se no level de classe e job maximo, o pesonagem pudesse resetar e ganhar uns ponto de atributos.

Mas como aquele script é Muuuito antigo, nem funcina nos hexe atuais eu peço ajuda ao pesoal que entenda de script para fazer uma nova versão de um sistema de reset, pois é um tipo de script que ajudaria muitas pessoas

Ou fazer o script antigo funcionar no cronus

Desde já agradeço

NPC

prontera,154,154,3 script Reseter 741,{

set .@stats_gained,500;

if (BaseLevel == getmaxlvl(160) && JobLevel == getmaxjob(50))
{
set BaseLevel,1;
set JobLevel,1;
set StatusPoint,StatusPoint+.@stats_gained;
set resets,resets+1;
show "[^FF0000 Reseter ^000000]";
show "Você agora tem: ^FF0000"+resets+"^000000 resets";
close;
}else {
show "[^FF0000 REseter ^000000]";
show "Você não está no Level Máximo ou no Job Máximo";
close;
}
}

Script

BUILDIN_FUNC(getmaxlvl)
{
TBL_PC *sd = script_rid2sd(st);
if (sd != NULL)
script_pushint(st,pc_maxbaselv(sd));
else
script_pushint(st,-1);
return 0;
}

BUILDIN_FUNC(getmaxjob)
{
TBL_PC *sd = script_rid2sd(st);
if (sd != NULL)
script_pushint(st,pc_maxjoblv(sd));
else
script_pushint(st,-1);
return 0;
}

BUILDIN_DEF(getmaxlvl,"160"),
BUILDIN_DEF(getmaxjob,"50"),

Atcomands

// [fetish]
int atcommand_showresets(const int fd, struct map_session_data* sd, const char* command, const char* showsage)
{
char buffer[100];
sprintf(buffer,"@addresets: Você tem: %d resets",pc_readglobalreg(sd,"resets"));
clif_displayshowsage(fd,buffer);
return 0;
}
// [fetish]
int atcommand_show2resets(const int fd, struct map_session_data* sd, const char* command, const char* showsage)
{
struct map_session_data *pl_sd;
char buffer[100];
if (pc_isGM(sd) == 99) {
if (!showsage || !*showsage) {
clif_displayshowsage(fd,"@show2resets: <nome do jogador>");
return 0;
}
if ((pl_sd = map_nick2sd(showsage)) != NULL) {
sprintf(buffer,"@show2resets: O jogador %s tem %d resets",pl_sd->status.name,pc_readglobalreg(pl_sd,"resets"));
clif_displayshowsage(fd,buffer);
}else {
clif_displayshowsage(fd,"@show2resets: Jogador não encontrado");
return 0;
}
}
return 0;
}
// [fetish]
int atcommand_addresets(const int fd, struct map_session_data* sd, const char* command, const char* showsage)
{
struct map_session_data *pl_sd;
char char_name[32];
int quantidade,finish;
sscanf(showsage,"%s %d",char_name,&quantidade);
if (pc_isGM(sd) == 99) {
if (!showsage || !*showsage) {
clif_displayshowsage(fd,"@addresets: Parâmetros necessários: <nick do jogador> [quantidade]");
return 0;
}
if((pl_sd = map_nick2sd(char_name)) != NULL) {
finish = pc_readglobalreg(pl_sd,"resets");
if(quantidade > 0) {
pc_setglobalreg(pl_sd,"resets",finish+=quantidade);
clif_displayshowsage(fd,"@addresets: Reset(s) adicionado com sucesso");
}
}else {
clif_displayshowsage(fd,"@addresets: Jogador não encontrado");
return 0;
}
}
return 0;
}
// [fetish]
int atcommand_delresets(const int fd, struct map_session_data* sd, const char* command, const char* showsage)
{
struct map_session_data *pl_sd;
char char_name[32];
int quantidade,finish;
sscanf(showsage,"%s %d",char_name,&quantidade);
if (pc_isGM(sd) == 99) {
if (!showsage || !*showsage) {
clif_displayshowsage(fd,"@delresets: Parâmetros necessários: <nick do jogador> [quantidade]");
return 0;
}
if((pl_sd = map_nick2sd(char_name)) != NULL) {
finish = pc_readglobalreg(pl_sd,"resets");
if(quantidade > 0) {
pc_setglobalreg(pl_sd,"resets",finish-=quantidade);
clif_displayshowsage(fd,"@delresets: Reset(s) retirados com sucesso");
}
}else {
clif_displayshowsage(fd,"@delresets: Jogador não encontrado");
return 0;
}
}
return 0;
}
// [fetish]
int atcommand_resets(const int fd, struct map_session_data* sd, const char* command, const char* showsage)
{
char buffer[100];
int level = pc_maxbaselv(sd),job = pc_maxjoblv(sd);
int resets = pc_readglobalreg(sd,"resets");
if (sd->status.base_level == level && sd->status.job_level == job) {
pc_setglobalreg(sd,"resets",resets+=1);
sprintf(buffer,"@resets: Agora você tem %d resets",resets);
sd->status.base_level = 1;
sd->status.job_level = 1;
sd->status.status_point+=500; // Mude aqui caso deseje dar menos status points
clif_updatestatus(sd,SP_BASELEVEL);
clif_updatestatus(sd,SP_JOBLEVEL);
clif_updatestatus(sd,SP_STATUSPOINT);
clif_displayshowsage(fd,buffer);
}else {
sprintf(buffer,"@resets: Falta %d level base e %d level job para você resetar",level-sd->status.base_level,job-sd->status.job_level);
clif_displayshowsage(fd,buffer);
return 0;
}
return 0;
}

// Coloquem isso apartir da linha do { "itemreset" ...},

{ "showresets", 0,0, atcommand_showresets }, // [fetish]
{ "show2resets", 99,99, atcommand_show2resets }, // [fetish]
{ "addresets", 99,99, atcommand_addresets },// [fetish]
{ "delresets", 99,99, atcommand_delresets },// [fetish]
{ "resets", 0,0, atcommand_resets }, // [fetish]

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