- and players open the shop it show how many points he/she have and can be exchange for items thank you this is the script
//===== rAthena Script =======================================
//= sader quests
//===== By: ==================================================
//= Sader1992
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= rAthena Project
//===== Description: =========================================
//=@reloadscript reset the quests but don't reset the time====
//============================================================
prt_in,89,102,4 script Quest 667,{
if(!.sader_quest){set .sader_quest,0;}
.@time_needed = #s_timeq - gettimetick(2);
if(.@time_needed > 0 && .sader_quest == 0) {
mes "You can only do the quest once every 24 hours.";
.@hours = .@time_needed / 60 / 60;
.@minutes = (.@time_needed % (60 * 60)) / 60;
.@seconds = .@time_needed % 60;
mes "Please come back in " + sprintf("%02d:%02d:%02d", .@hours, .@minutes, .@seconds) + " hours." ;
next;
switch(select(""+"shop"+":"+"close"+"")){
Case 1: callsub Q_shop;
Case 2: close;
}
close;
}else if(.sader_quest == 1){
mes "hi, how can i hep you ?";
next;
switch(select(""+"My Quest"+":"+"shop"+":"+"close"+"")){
Case 1: callsub Q_easy;
Case 2: callsub Q_shop;
Case 3: close;
}
}else if(.sader_quest == 2){
mes "hi, how can i hep you ?";
next;
switch(select(""+"My Quest"+":"+"shop"+":"+"close"+"")){
Case 1: callsub Q_normal;
Case 2: callsub Q_shop;
Case 3: close;
}
}else if(.sader_quest == 3){
mes "hi, how can i hep you ?";
next;
switch(select(""+"My Quest"+":"+"shop"+":"+"close"+"")){
Case 1: callsub Q_hard;
Case 2: callsub Q_shop;
Case 3: close;
}
}else if(.sader_quest == 4){
mes "hi, how can i hep you ?";
next;
switch(select(""+"My Quest"+":"+"shop"+":"+"close"+"")){
Case 1: callsub Q_indeterminate;
Case 2: callsub Q_shop;
Case 3: close;
}
}else{
mes "hello";
mes "i will give you a task";
mes "to kill some monsters";
mes "can you help us ?";
next;
switch(select(""+"easy difficulty"+":"+"normal difficulty"+":"+"hard difficulty"+":"+"indeterminate difficulty"+":"+"shop"+":"+"close"+"")){
Case 1: callsub Q_easy;
Case 2: callsub Q_normal;
Case 3: callsub Q_hard;
Case 4: callsub Q_indeterminate;
Case 5: callsub Q_shop;
Case 6: close;
}
}
//============================================================
//=======================Easy Mode============================
//============================================================
Q_easy:
setarray .easy,1275,1737; //Easy Mode Monsters ID
setarray .easyc,50,75; //Easy Mode Mosters Count
.size_easy = getarraysize( .easy );
.size_easyc = getarraysize( .easyc );
.@me = rand( .size_easy );
.@ce = rand( .size_easyc );
if(.sader_quest == 0){
mes " plz kill "+ .easyc[.@ce] +" from " + strmobinfo( 1,.easy[.@me]) +".";
.easymon = .easy[.@me];
.easycmon = .easyc[.@ce];
set .sader_quest,1;
set monster_count,0;
close;
}else if(.sader_quest == 1){
if(monster_count == 0){
mes "you need to kill " + .easycmon + " from " + strmobinfo( 1,.easymon) +".";
mes " ";
mes "I'm counting on you.";
next;
switch(select(""+"Ok, I will do it!"+":"+"NO, I don't want this quest"+"")){
Case 1: {
mes "Thanks!";
close;
}
Case 2: {
mes "AS YOU WISH";
set .sader_quest,0;
set #s_timeq, gettimetick(2) + (24 * 60 *60);
close;
}
}
}else if(monster_count >= .easycmon){
mes "Thank you for helping me .";
//Prize Section for Easy Mode
set #SdM_PQ,50;//point shop Easy Mode
//Prize Section for Easy Mode
set monster_count,0;
set .sader_quest,0;
set #s_timeq, gettimetick(2) + (24 * 60 *60);
}else if(monster_count < .easycmon){
mes "you have killed "+monster_count+" "+ strmobinfo( 1,.easymon) +".";
close;
}else{
mes"There is an Error plz Check the script.";
mes"This massage on the line 122";
close;
}
}else{
mes"There is an Error plz Check the script.";
mes"This massage on the line 127";
close;
}
end;
//============================================================
//=====================Normal Mode============================
//============================================================
Q_normal:
setarray .normal,1275,1737;//Normal Mode Monsters ID
setarray .normalc,100,150;//Normal Mode Mosters Count((Random))
.size_normal = getarraysize( .normal );
.size_normalc = getarraysize( .normalc );
.@mn = rand( .size_normal );
.@cn = rand( .size_normalc );
if(.sader_quest == 0){
mes " plz kill "+ .normalc[.@cn] +" from " + strmobinfo( 1,.normal[.@mn]) +".";
.normalmon = .normal[.@mn];
.normalcmon = .normalc[.@cn];
set .sader_quest,2;
set monster_count,0;
close;
}else if(.sader_quest == 2){
if(monster_count == 0){
mes "you need to kill " + .normalcmon + " from " + strmobinfo( 1,.normalmon) +".";
mes " ";
mes "I'm counting on you.";
next;
switch(select(""+"Ok, I will do it!"+":"+"NO, I don't want this quest"+"")){
Case 1: {
mes "Thanks!";
close;
}
Case 2: {
mes "AS YOU WISH";
set .sader_quest,0;
set #s_timeq, gettimetick(2) + (24 * 60 *60);
close;
}
}
}else if(monster_count >= .normalcmon){
mes "Thank you for helping me .";
//Prize Section for Normal Mode
set #SdM_PQ,100;//point shop Normal Mode
//Prize Section for Normal Mode
set monster_count,0;
set .sader_quest,0;
set #s_timeq, gettimetick(2) + (24 * 60 *60);
}else if(monster_count < .normalcmon){
mes "you have killed "+monster_count+" "+ strmobinfo( 1,.normalmon) +".";
close;
}else{
mes"There is an Error plz Check the script.";
mes"This massage on the line 179";
close;
}
}else{
mes"There is an Error plz Check the script.";
mes"This massage on the line 184";
close;
}
end;
//============================================================
//=======================Hard Mode============================
//============================================================
Q_hard:
setarray .hard,1735,1736;//Hard Mode Monsters ID
setarray .hardc,75,100,150;// Hard Mode Mosters Count((Random))
.size_hard = getarraysize( .hard );
.size_hardc = getarraysize( .hardc );
.@mh = rand( .size_hard );
.@ch = rand( .size_hardc );
if(.sader_quest == 0){
mes " plz kill "+ .hardc[.@ch] +" from " + strmobinfo( 1,.hard[.@mh]) +".";
.hardmon = .hard[.@mh];
.hardcmon = .hardc[.@ch];
set .sader_quest,3;
set monster_count,0;
close;
}else if(.sader_quest == 3){
if(monster_count == 0){
mes "you need to kill " + .hardcmon + " from " + strmobinfo( 1,.hardmon) +".";
mes " ";
mes "I'm counting on you.";
next;
switch(select(""+"Ok, I will do it!"+":"+"NO, I don't want this quest"+"")){
Case 1: {
mes "Thanks!";
close;
}
Case 2: {
mes "AS YOU WISH";
set .sader_quest,0;
set #s_timeq, gettimetick(2) + (24 * 60 *60);
close;
}
}
}else if(monster_count >= .hardcmon){
mes "Thank you for helping me .";
//Prize Section for Hard Mode
set #SdM_PQ,150;//point shop Hard Mode
//Prize Section for Hard Mode
set monster_count,0;
set .sader_quest,0;
set #s_timeq, gettimetick(2) + (24 * 60 *60);
}else if(monster_count < .hardcmon){
mes "you have killed "+monster_count+" "+ strmobinfo( 1,.hardmon) +".";
close;
}else{
mes"There is an Error plz Check the script.";
mes"This massage on the line 236";
close;
}
}else{
mes"There is an Error plz Check the script.";
mes"This massage on the line 241";
close;
}
end;
//============================================================
//===================Indeterminate Mode=======================
//============================================================
Q_indeterminate:
setarray .indeterminate,1735,1736;//Indeterminate Mode Monsters ID
setarray .indeterminatec,250,300,350;// Indeterminate Mode Mosters Count((Random))
.size_indeterminate = getarraysize( .indeterminate );
.size_indeterminatec = getarraysize( .indeterminatec );
.@mi = rand( .size_indeterminate );
.@ci = rand( .size_indeterminate );
if(.sader_quest == 0){
mes " plz kill "+ .indeterminatec[.@ci] +" from " + strmobinfo( 1,.indeterminate[.@mi]) +".";
.indeterminatemon = .indeterminate[.@mi];
.indeterminatecmon = .indeterminatec[.@ci];
set .sader_quest,4;
set monster_count,0;
close;
}else if(.sader_quest == 4){
if(monster_count == 0){
mes "you need to kill " + .indeterminatecmon + " from " + strmobinfo( 1,.indeterminatemon) +".";
mes " ";
mes "I'm counting on you.";
next;
switch(select(""+"Ok, I will do it!"+":"+"NO, I don't want this quest"+"")){
Case 1: {
mes "Thanks!";
close;
}
Case 2: {
mes "AS YOU WISH";
set .sader_quest,0;
set #s_timeq, gettimetick(2) + (24 * 60 *60);
close;
}
}
}else if(monster_count >= .indeterminatecmon){
mes "Thank you for helping me .";
//Prize Section for Indeterminate Mode
set #SdM_PQ,200;//point shop Indeterminate Mode
//Prize Section for Indeterminate Mode
set monster_count,0;
set .sader_quest,0;
set #s_timeq, gettimetick(2) + (24 * 60 *60);
}else if(monster_count < .indeterminatecmon){
mes "you have killed "+monster_count+" "+ strmobinfo( 1,.indeterminatemon) +".";
close;
}else{
mes"There is an Error plz Check the script.";
mes"This massage on the line 293";
close;
}
}else{
mes"There is an Error plz Check the script.";
mes"This massage on the line 298";
close;
}
end;
//============================================================
//=====================OnNPCKillEvent=========================
//============================================================
OnNPCKillEvent:
if(.sader_quest != 0){
if( killedrid == .easymon ){
if(monster_count < .easycmon){
monster_count++;
dispbottom "You killed "+monster_count+" "+ strmobinfo( 1,.easymon) +".";
}else{
dispbottom "Your quest is done";
//you can add the Prize Section for Easy Mode here but you will also need to set the value here set monster_count,0; set .sader_quest,0;
//Prize Section for Easy Mode without talkining to the npc
//set .sader_quest,0;
//set monster_count,0;
//set #s_timeq, gettimetick(2) + (24 * 60 *60);
//set #SdM_PQ,50;//point shop Easy Mode
//dispbottom "You got points!";
}
}else if( killedrid == .normalmon ){
if(monster_count < .normalcmon){
monster_count++;
dispbottom "You killed "+monster_count+" "+ strmobinfo( 1,.normalmon) +".";
}else{
dispbottom "Your quest is done";
//see the line 313~318
}
}else if( killedrid == .hardmon ){
if(monster_count < .hardcmon){
monster_count++;
dispbottom "You killed "+monster_count+" "+ strmobinfo( 1,.hardmon) +".";
}else{
dispbottom "Your quest is done";
//see the line 313~318
}
}else if( killedrid == .indeterminatemon ){
if(monster_count < .indeterminatecmon){
monster_count++;
dispbottom "You killed "+monster_count+" "+ strmobinfo( 1,.indeterminatemon) +".";
}else{
dispbottom "Your quest is done";
//see the line 313~318
}
}
}
end;
//============================================================
//=========================NPC Shop===========================
//============================================================
Q_shop:
callshop "sader q s",1;
end;
}
- pointshop sader q s -1,#SdM_PQ,512:50,513:75; //set the items you need in your shop <monster_id>:<price>,<monster_id>:<price>,<monster_id>:<price>...
Credits to the owner of this script it works great
Question
Quesooo
good day rathena
please help me to change the shop on this npc
- players get only points ( not cash points )
- and players open the shop it show how many points he/she have and can be exchange for items thank you this is the script
Credits to the owner of this script it works great
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.