-
Posts
1 -
Joined
-
Last visited
About Jonata Pontes
- Birthday 12/29/1991
Profile Information
-
Gender
Male
-
Location
Brzil
-
Server
Vikings RO
- Github: jonata516
- Discord: Alemão#2417
-
Interests
Aprender e compartilhar conhecimentos.
Contact Methods
- Website URL
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
Jonata Pontes's Achievements
-
NPC que aumenta % refino por QT de item dado
Jonata Pontes replied to KRMizu's question in Suporte ao Desenvolvimento
Amigo, boa tarde. Sei que já tem tempo, mas peguei seu script que achei bem interessante e dei uma mexida. Vou postar aqui, vai que a galera precise de um UP. Coloquei refine por item especifico como no quadro abaixo: LVL ITEM 1 5 10 50 MATERIAL REFINO DE ATE 0 ARMOR 6225 16259 16261 Carnium Perfeito 10 10 4 WEAPON 6226 16258 16260 Bradium Perfeito 10 10 0 ARMOR 6241 16395 16396 17105 Elunium Perfeito 7 9 4 WEAPON 6240 16393 16394 17104 Oridecon Perfeito 7 9 0 ARMOR 7619 13610 Elunium Enriquecido 5 6 4 WEAPON 7620 13611 Oridecon Enriquecido 5 6 0 ARMOR 985 Elunium Refinado 1 4 4 WEAPON 984 Oridecon Refinado 1 4 LVL é o Weapon Level; ITEM é o Type; 1; 5; 10; 50 são os códigos dos itens onde 1 equivale a 1 unidade e o resto são box's; Material, alto explicativo; De Ate é o nível de refinamento que o item será usado, exemplo: Valk Armor +5 Utilizara 180 x 7619 - Elunium Enriquecido do nível 5 ao 6 e 6 ao 7. Depois 360 x 6241 - Elinium Perfeito do nível 7 ao 10. Tudo é configurável e o que não estava comentado eu comentei. Ahh, sou novo em escrever por aqui, aceito criticas. //==============Made by DoomSlayer============= //Ferreiro Custom - Quanto mais materiais maior //a chance de sucesso! //============================================= //==============Adaptation by JPontes============= //Melhoria no script //Adicionado chance por material especifico, //weapon leave. //http://www.vikingsro.com.br //============================================= prontera,150,180,3 script Blacksmith Custom 63,{ disable_items; mes "^0000FF"+.name$+"^000000"; mes "Eu sou o melhor Ferreiro de Valhalla!"; mes "Eu utilizo matéria-prima para realizar refinamentos em itens."; next; mes "^0000FF"+.name$+"^000000"; mes "Para fazer este serviço, eu preciso de um valor simbólico de "+.price+" Zeny, assim ofereço "+.chance+"% de sucesso no refinamento!"; mes "Caso você tenha os materiais necessarios, podemos chegar em "+(.chance + (.maxmat * .matchance))+"%."; next; mes "^0000FF"+.name$+"^000000"; mes "Cada material, aumentamos em "+.matchance+"% a chance de sucesso!"; mes "Quanto mais materiais você me der, mais chances de sucesso teremos!"; next; if (.break == 1){ mes "^0000FF"+.name$+"^000000"; mes "^996600!^000000^ff0000ATENÇÃO^000000^996600!^000000"; mes "Caso não obtenhamos sucesso, você poderá perder o item!"; mes "Aconselho tirar todas as Card's do equipamento!"; next; } switch(select("^00f000Vamos refinar^000000:Informações:^ff0000Não, obrigado!^000000")){ case 1: mes "^0000FF"+.name$+"^000000"; mes "Qual equipamento que você quer refinar?"; next; goto OnRefine; end; case 2: mes "^0000FF"+.name$+"^000000"; mes "Os itens necessários para o refinamento são:"; for( [email protected] = 0; [email protected] < getarraysize(.material); [email protected]++ ) mes "{"+.material[[email protected]]+"} - "+.namemat$[[email protected]]; next; switch(select("Escolher equipamento:Vou buscar os materiais")){ case 1: goto OnRefine; case 2: mes "^0000FF"+.name$+"^000000"; mes "Volte quando precisar de meus serviços!"; close; end; } case 3: mes "^0000FF"+.name$+"^000000"; mes "Volte quando precisar de meus serviços!"; close; end; } OnRefine: setarray [email protected][1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW; for([email protected] = 1; [email protected]<getarraysize([email protected]); [email protected]) { if(getequipisequiped([email protected][[email protected]])) { [email protected]$ = [email protected]$ + F_getpositionname([email protected][[email protected]]) + "-[" + getequipname([email protected][[email protected]]) + "]"; [email protected] = 1; } [email protected]$ = [email protected]$ + ":"; } if ([email protected] == 0) { mes "^0000FF"+.name$+"^000000"; mes "Você não está equipando nada!"; close; } set [email protected], [email protected][ select([email protected]$) ]; if (!getequipisenableref([email protected])) { mes "^0000FF"+.name$+"^000000"; mes "Este equipamento não pode ser refinado!"; close; } [email protected]_id = getequipid([email protected]); [email protected]_refine = getequiprefinerycnt([email protected]); setarray [email protected][0], getequipcardid([email protected],0), getequipcardid([email protected],1), getequipcardid([email protected],2), getequipcardid([email protected],3); // +10 não refinar if ([email protected]_refine >= 10) { // max refine mes "^0000FF"+.name$+"^000000"; mes "Este equipamento já está +10!"; mes "Escolha outro equipamento:"; next; goto OnRefine; end; // 0 a 4 } else if(([email protected]_refine >= 0) && ([email protected]_refine <= 4)){ if (getequipweaponlv([email protected]) == 0){ set [email protected],1; } else { set [email protected],0; } goto OnRefineOk; // 5 a 6 } else if(([email protected]_refine >= 5) && ([email protected]_refine <= 6)){ if (getequipweaponlv([email protected]) == 0){ set [email protected],3; } else { set [email protected],2; } goto OnRefineOk; // 7 a 9 } else if(([email protected]_refine >= 7) && ([email protected]_refine <= 9)){ if (getequipweaponlv([email protected]) == 0){ set [email protected],5; } else { set [email protected],4; } goto OnRefineOk; // 10 + (tirar os comentarios abaixo caso seja refine > 10 // } else if([email protected]_refine = 9){ // if (getequipweaponlv([email protected]) == 0){ // set [email protected],7; // } else { // set [email protected],6; // } // goto OnRefineOk; } OnRefineOk: mes "^0000FF"+.name$+"^000000"; mes "Quantos {"+.material[[email protected]]+"} - "+.namemat$[[email protected]]+" Você quer usar?"; mes "Lembrando que cada material sua chance aumenta por "+.matchance+"%."; next; input [email protected]; if ([email protected] == 0) { mes "^0000FF"+.name$+"^000000"; mes "Nenhum material? Não consigo garantir o sucesso se você não me ajudar também!"; close; end; } if (countitem(.material[[email protected]]) < [email protected]){ mes "^0000FF"+.name$+"^000000"; mes "Você não tem essa quantidade de materiais"; close; end; } if ([email protected] > .maxmat){ mes "^0000FF"+.name$+"^000000"; mes "Você so pode ultilizar um maximo de "+.maxmat+" materiais!"; close; end; } mes "^0000FF"+.name$+"^000000"; mes "Entao vamos la!"; set [email protected], [email protected] + .chance; mes "Você acumulou um percentual de "[email protected]+"%!"; next; delitem .material[[email protected]],[email protected]; set [email protected],rand(1,100); set [email protected], (.chance + ([email protected] * .matchance)); if ([email protected] > [email protected]){ specialeffect2 EF_SUI_EXPLOSION; if (.break == 1){ failedrefitem [email protected]; } if (.break == 2){ downrefitem [email protected]; } mes "^0000FF"+.name$+"^000000"; mes "Não foi desta vez..."; close; end; } successrefitem [email protected]; mes "^0000FF"+.name$+"^000000"; mes "Muito fácil!"; close; end; OnInit: set .name$,"Ferreiro Viking"; //Nome do NPC set .chance,10; //Chance de refinar 10 = 10% (sem material) set .matchance,1; //Quantos % sobem por material set .maxmat,90; //Maximo de materiais que se pode usar (90 x 1 = 90%) setarray .namemat$, //Lista dos itens utilizados para o refine "Oridecon", "Elunium", "Oridecon Enriquecido", "Elunium Enriquecido", "Oridecon Perfeito", "Elunium Perfeito" // "Bradium Perfeito" // "Carnium Perfeito" ; setarray .material[0], //Lista dos id 984, 985, 7620, 7619, 6240, 6241 // 6226 // 6225 ; set .break,1; //1 - Errar quebra / 2 - Errar desce refinamento / 3 - Nada acontece ao errar set .price,25000; //Preco para refinar end; }