Hello guys, I'm making this EDDA enchantment NPC, I would like to put it to have the fixed enchantment option, but I'm having a little difficulty with it, can anyone help me?
for(.@i = 0; .@i < 38; .@i++) {
if(.@weapons[.@i] == .@weap){
.@isEdda = 1;
}
}
if(.@isEdda == 0) {
mes "Vamos lá, você precisa de uma arma Edda Equipada.";
end;
}
if(.@card2 != 0 && .@card3 != 0){
mes "você deseja reencantar o seu equipamento Edda?";
switch(select("Sim 3º Slot", "Sim 4º Slot", "Nenhum")){
case 1:
mes "O modo Normal irá custar 500 Documento de Pesquisa Biológica e 500 Fragmento de Experiência Biológica.";
mes "Com uma chance de 5% que falhe e quebre sua Arma!";
next;
mes "O modo Seguro irá custar 2000 Documento de Pesquisa Biológica e 2000 Fragmento de Experiência Biológica.";
mes "No modo Seguro sua Arma não se quebrará!";
next;
mes "O modo Específico irá custar 5000 Documento de Pesquisa Biológica.";
mes "No modo Específico você pode escolher o Encantamento que desejar.!";
switch(select("Modo Normal", "Modo Seguro", "Modo Específico")){
case 1:
if(countitem(25786) < 500 && countitem(25787) < 500) {
mes "Você não tem a quantidade de itens suficientes. ";
end;
}
delitem 25786,500;
delitem 25787,500;
if(rand(20) == 1){
delequip EQI_HAND_R;
mes "Que Pena...";
end;
}
.@card2 = .@enchant2[rand(13)];
delequip EQI_HAND_R;
getitem2 .@weap,1,1,.@refine,0,.@card0,.@card1,.@card2,.@card3;
end;
case 2:
.@card2 = .@enchant2[rand(13)];
if(countitem(25786) < 2000 && countitem(25787) < 2000) {
mes "Você não tem a quantidade de itens suficientes.";
end;
}
delitem 25786,2000;
delitem 25787,2000;
delequip EQI_HAND_R;
getitem2 .@weap,1,1,.@refine,0,.@card0,.@card1,.@card2,.@card3;
end;
case 3:
mes "Você quer dizer trocar o encantamento, certo?";
mes "Vamos lá, você precisa de uma arma Edda Equipada.";
next;
mes "[Encantos de Edda]";
if(.@isEdda == 1) {
mes "Qual bônus de encantamento você deseja atualizar?";
next;
switch (select("Memória de Seyren:Memória de Howard's:Memória de Eremes:Memória de Kathryne:Memória de Margaretha:Memória de Cecil:Memória de Randel:Memória de Flamel:Memória de Gertie:Memória de Celia:Memória de Chen:Memória de Trentini:Memória de Alphoccio:Deixa pra lá.")) {
case 1: callsub S_Upgrade,"Seyren",29594;
case 2: callsub S_Upgrade,"Howard's",29595;
case 3: callsub S_Upgrade,"Eremes",29596;
case 4: callsub S_Upgrade,"Kathryne",29598;
case 5: callsub S_Upgrade,"Margaretha",29599;
case 6: callsub S_Upgrade,"Cecil",29600;
case 7: callsub S_Upgrade,"Randel",29601;
case 8: callsub S_Upgrade,"Flamel",29602;
case 9: callsub S_Upgrade,"Gertie",29603;
case 10: callsub S_Upgrade,"Celia",29604;
case 11: callsub S_Upgrade,"Chen",29605;
case 12: callsub S_Upgrade,"Trentini",29606;
case 13: callsub S_Upgrade,"Alphoccio",29607;
case 14:
mes "[Encantos de Edda]";
mes "Por quê? Vai ser melhor do que é.";
mes "De qualquer forma, só podemos oferecer um Encanto.";
next;
mes "[Encantos de Edda]";
mes "O que você faz com isso é com você.";
close;
}
}
mes "Primeiro venha com a Arma que você quer que eu atualize.";
mes "Certifique-se de que está em equipada, entendeu?";
close;
}
S_Upgrade:
mes "[Encantos de Edda]";
mes "Entendo.";
mes "vou atualizar seu Equipamento.";
mes "Tem certeza?";
next;
switch (select("Sim, eu tenho.:Não espere.")) {
case 1:
mes "[Encantos de Edda]";
mes "Vou começar a troca ^4d4dffAtualizando "+ getarg(0) +"^000000..";
next;
mes "[Encantos de Edda]";
mes "Olha Você aqui.";
delitem 25786,5000;
getitem2 .@weap,1,1,.@refine,0,.@card0,.@card1,getarg(1),.@card3;
close;
case 2:
mes "[Encantos de Edda]";
mes "Você não quer trocar?";
close;
}
break;
case 2:
mes "O modo Normal lhe custará 200 Documentos de Pesquisa Biológica e 200 Fragmentos de Experiência Biológica";
mes "com 5% de quebrar sua arma!";
next;
mes "O modo Seguro lhe custará 1000 Documento de Pesquisa Biológica e 1000 Fragmento de Experiência Biológica";
mes "sem chance de quebrar sua arma!";
switch(select("Modo Normal", "Modo Seguro")){
case 1:
if(countitem(25786) < 200 && countitem(25787) < 200) {
mes "Você não tem a quantidade de itens suficientes.";
end;
}
delitem 25786,200;
delitem 25787,200;
if(rand(20) == 1){
delequip EQI_HAND_R;
mes "Que pena...";
end;
}
delequip EQI_HAND_R;
getitem2 .@weap,1,1,.@refine,0,.@card0,.@card1,.@card2,.@card3;
end;
case 2:
.@card3 = .@enchant1[rand(15)];
delitem 25786,1000;
delitem 25787,1000;
delequip EQI_HAND_R;
getitem2 .@weap,1,1,.@refine,0,.@card0,.@card1,.@card2,.@card3;
end;
}
break;
case 3:end;
}
end;
}
//@item 2056
switch(select("Sim","não")){
case 1:
switch(select("Modo Normal", "Modo Seguro", "cancelar")){
case 1:
.@safe = 0;
break;
case 2:
.@safe = 1;
break;
case 3: end;
}
if(.@card3 == 0) {
if(.@safe == 0) mes "isto custará 50 Documentos de Pesquisa Biológica e 50 Fragmentos de Experiências Biológicas";
else {
mes "isto custará 500 Documento de Pesquisa Biológica e 500 Fragmento de Experiência Biológica";
next;
mes "há uma pequena mudança para quebrar sua arma, quer continuar?";
}
next;
switch(select("Sim","Não")){
case 1:
// 30% of the player loses the weapon;
if(rand(20) <= 2 && .@safe == 0){
delequip EQI_HAND_R;
mes "Que pena...";
end;
}
break;
case 2:
mes "Ok...";
end;
}
if(countitem(25786) < 50 && countitem(25787) < 50){
mes "você não tem os materiais suficientes.";
end;
}
if(.@safe == 1){
delitem 25786,500;
delitem 25787,500;
}
else {
delitem 25786,50;
delitem 25787,50;
}
.@card3 = .@enchant1[rand(15)];
break;
}
if(.@card2 == 0) {
if(.@safe == 0) mes "isto custará 50 Documentos de Pesquisa Biológica e 50 Fragmentos de Experiências Biológicas";
else {
mes "isto custará 500 Documento de Pesquisa Biológica e 500 Fragmento de Experiência Biológica";
next;
mes "há uma pequena mudança para quebrar sua arma, quer continuar?";
}
next;
switch(select("Sim","Não")){
// 30% of the player loses the weapon;
case 1:
if(rand(20) <= 2 && .@safe == 0){
delequip EQI_HAND_R;
mes "Que pena...";
end;
}
break;
case 2:
mes "Ok...";
end;
}
if(.@safe == 1){
if(countitem(25786) < 500 && countitem(25787) < 500){
mes "você não tem os materiais suficientes";
end;
}
delitem 25786,500;
delitem 25787,500;
}
else {
if(countitem(25786) < 50 && countitem(25787) < 50){
mes "você não tem os materiais suficientes";
end;
}
delitem 25786,50;
delitem 25787,50;
}
.@card2 = .@enchant2[rand(13)];
break;
}
end;
case 2:
mes "ok...";
end;
}
delequip EQI_HAND_R;
getitem2 .@weap,1,1,.@refine,0,.@card0,.@card1,.@card2,.@card3;
end;
}
in the subcall I tried to put the Enchantment IDs, but it is not changing the enchantment.
Question
Frozek
Hello guys, I'm making this EDDA enchantment NPC, I would like to put it to have the fixed enchantment option, but I'm having a little difficulty with it, can anyone help me?
//============================================================
//====== start npc
//============================================================
yuno,210,343,3 script Encantos de Edda 105,{
setArray .@weapons[0],21051,21052,32023,1333,16092,28138,28765,28766,28044,28042,26158,2055,2056,26161,16095,18185,18187,18186,32350,32024,32025,32351,16093,16094,28767,28768,18184,28633,26159,26160,1865,1866,16096,18188,26212,26213,32107,32108;
setArray .@enchant1[0],4832,4833,4834,4808,4820,4821,4818,4817,4816,4863,4864,4865,4815,4814,4813;
setArray .@enchant2[0],29594,29595,29596,29598,29599,29600,29601,29602,29603,29604,29605,29606,29607;
.@isEdda = 0;
mes "[Encantos de Edda]";
.@weap = getequipid(EQI_HAND_R);
.@refine = getequiprefinerycnt(EQI_HAND_R);
.@card0 = getequipcardid(EQI_HAND_R,0);
.@card1 = getequipcardid(EQI_HAND_R,1);
.@card2 = getequipcardid(EQI_HAND_R,2);
.@card3 = getequipcardid(EQI_HAND_R,3);
for(.@i = 0; .@i < 38; .@i++) {
if(.@weapons[.@i] == .@weap){
.@isEdda = 1;
}
}
if(.@isEdda == 0) {
mes "Vamos lá, você precisa de uma arma Edda Equipada.";
end;
}
if(.@card2 != 0 && .@card3 != 0){
mes "você deseja reencantar o seu equipamento Edda?";
switch(select("Sim 3º Slot", "Sim 4º Slot", "Nenhum")){
case 1:
mes "O modo Normal irá custar 500 Documento de Pesquisa Biológica e 500 Fragmento de Experiência Biológica.";
mes "Com uma chance de 5% que falhe e quebre sua Arma!";
next;
mes "O modo Seguro irá custar 2000 Documento de Pesquisa Biológica e 2000 Fragmento de Experiência Biológica.";
mes "No modo Seguro sua Arma não se quebrará!";
next;
mes "O modo Específico irá custar 5000 Documento de Pesquisa Biológica.";
mes "No modo Específico você pode escolher o Encantamento que desejar.!";
switch(select("Modo Normal", "Modo Seguro", "Modo Específico")){
case 1:
if(countitem(25786) < 500 && countitem(25787) < 500) {
mes "Você não tem a quantidade de itens suficientes. ";
end;
}
delitem 25786,500;
delitem 25787,500;
if(rand(20) == 1){
delequip EQI_HAND_R;
mes "Que Pena...";
end;
}
.@card2 = .@enchant2[rand(13)];
delequip EQI_HAND_R;
getitem2 .@weap,1,1,.@refine,0,.@card0,.@card1,.@card2,.@card3;
end;
case 2:
.@card2 = .@enchant2[rand(13)];
if(countitem(25786) < 2000 && countitem(25787) < 2000) {
mes "Você não tem a quantidade de itens suficientes.";
end;
}
delitem 25786,2000;
delitem 25787,2000;
delequip EQI_HAND_R;
getitem2 .@weap,1,1,.@refine,0,.@card0,.@card1,.@card2,.@card3;
end;
case 3:
mes "Você quer dizer trocar o encantamento, certo?";
mes "Vamos lá, você precisa de uma arma Edda Equipada.";
next;
mes "[Encantos de Edda]";
if(.@isEdda == 1) {
mes "Qual bônus de encantamento você deseja atualizar?";
next;
switch (select("Memória de Seyren:Memória de Howard's:Memória de Eremes:Memória de Kathryne:Memória de Margaretha:Memória de Cecil:Memória de Randel:Memória de Flamel:Memória de Gertie:Memória de Celia:Memória de Chen:Memória de Trentini:Memória de Alphoccio:Deixa pra lá.")) {
case 1: callsub S_Upgrade,"Seyren",29594;
case 2: callsub S_Upgrade,"Howard's",29595;
case 3: callsub S_Upgrade,"Eremes",29596;
case 4: callsub S_Upgrade,"Kathryne",29598;
case 5: callsub S_Upgrade,"Margaretha",29599;
case 6: callsub S_Upgrade,"Cecil",29600;
case 7: callsub S_Upgrade,"Randel",29601;
case 8: callsub S_Upgrade,"Flamel",29602;
case 9: callsub S_Upgrade,"Gertie",29603;
case 10: callsub S_Upgrade,"Celia",29604;
case 11: callsub S_Upgrade,"Chen",29605;
case 12: callsub S_Upgrade,"Trentini",29606;
case 13: callsub S_Upgrade,"Alphoccio",29607;
case 14:
mes "[Encantos de Edda]";
mes "Por quê? Vai ser melhor do que é.";
mes "De qualquer forma, só podemos oferecer um Encanto.";
next;
mes "[Encantos de Edda]";
mes "O que você faz com isso é com você.";
close;
}
}
mes "Primeiro venha com a Arma que você quer que eu atualize.";
mes "Certifique-se de que está em equipada, entendeu?";
close;
}
S_Upgrade:
mes "[Encantos de Edda]";
mes "Entendo.";
mes "vou atualizar seu Equipamento.";
mes "Tem certeza?";
next;
switch (select("Sim, eu tenho.:Não espere.")) {
case 1:
mes "[Encantos de Edda]";
mes "Vou começar a troca ^4d4dffAtualizando "+ getarg(0) +"^000000..";
next;
mes "[Encantos de Edda]";
mes "Olha Você aqui.";
delitem 25786,5000;
getitem2 .@weap,1,1,.@refine,0,.@card0,.@card1,getarg(1),.@card3;
close;
case 2:
mes "[Encantos de Edda]";
mes "Você não quer trocar?";
close;
}
break;
case 2:
mes "O modo Normal lhe custará 200 Documentos de Pesquisa Biológica e 200 Fragmentos de Experiência Biológica";
mes "com 5% de quebrar sua arma!";
next;
mes "O modo Seguro lhe custará 1000 Documento de Pesquisa Biológica e 1000 Fragmento de Experiência Biológica";
mes "sem chance de quebrar sua arma!";
switch(select("Modo Normal", "Modo Seguro")){
case 1:
if(countitem(25786) < 200 && countitem(25787) < 200) {
mes "Você não tem a quantidade de itens suficientes.";
end;
}
delitem 25786,200;
delitem 25787,200;
if(rand(20) == 1){
delequip EQI_HAND_R;
mes "Que pena...";
end;
}
delequip EQI_HAND_R;
getitem2 .@weap,1,1,.@refine,0,.@card0,.@card1,.@card2,.@card3;
end;
case 2:
.@card3 = .@enchant1[rand(15)];
delitem 25786,1000;
delitem 25787,1000;
delequip EQI_HAND_R;
getitem2 .@weap,1,1,.@refine,0,.@card0,.@card1,.@card2,.@card3;
end;
}
break;
case 3:end;
}
end;
}
//@item 2056
switch(select("Sim","não")){
case 1:
switch(select("Modo Normal", "Modo Seguro", "cancelar")){
case 1:
.@safe = 0;
break;
case 2:
.@safe = 1;
break;
case 3: end;
}
if(.@card3 == 0) {
if(.@safe == 0) mes "isto custará 50 Documentos de Pesquisa Biológica e 50 Fragmentos de Experiências Biológicas";
else {
mes "isto custará 500 Documento de Pesquisa Biológica e 500 Fragmento de Experiência Biológica";
next;
mes "há uma pequena mudança para quebrar sua arma, quer continuar?";
}
next;
switch(select("Sim","Não")){
case 1:
// 30% of the player loses the weapon;
if(rand(20) <= 2 && .@safe == 0){
delequip EQI_HAND_R;
mes "Que pena...";
end;
}
break;
case 2:
mes "Ok...";
end;
}
if(countitem(25786) < 50 && countitem(25787) < 50){
mes "você não tem os materiais suficientes.";
end;
}
if(.@safe == 1){
delitem 25786,500;
delitem 25787,500;
}
else {
delitem 25786,50;
delitem 25787,50;
}
.@card3 = .@enchant1[rand(15)];
break;
}
if(.@card2 == 0) {
if(.@safe == 0) mes "isto custará 50 Documentos de Pesquisa Biológica e 50 Fragmentos de Experiências Biológicas";
else {
mes "isto custará 500 Documento de Pesquisa Biológica e 500 Fragmento de Experiência Biológica";
next;
mes "há uma pequena mudança para quebrar sua arma, quer continuar?";
}
next;
switch(select("Sim","Não")){
// 30% of the player loses the weapon;
case 1:
if(rand(20) <= 2 && .@safe == 0){
delequip EQI_HAND_R;
mes "Que pena...";
end;
}
break;
case 2:
mes "Ok...";
end;
}
if(.@safe == 1){
if(countitem(25786) < 500 && countitem(25787) < 500){
mes "você não tem os materiais suficientes";
end;
}
delitem 25786,500;
delitem 25787,500;
}
else {
if(countitem(25786) < 50 && countitem(25787) < 50){
mes "você não tem os materiais suficientes";
end;
}
delitem 25786,50;
delitem 25787,50;
}
.@card2 = .@enchant2[rand(13)];
break;
}
end;
case 2:
mes "ok...";
end;
}
delequip EQI_HAND_R;
getitem2 .@weap,1,1,.@refine,0,.@card0,.@card1,.@card2,.@card3;
end;
}
in the subcall I tried to put the Enchantment IDs, but it is not changing the enchantment.
look in switch "Modo Específico"
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.