Jump to content

nanakiwurtz

Members
  • Posts

    1,654
  • Joined

  • Last visited

  • Days Won

    66

Community Answers

  1. nanakiwurtz's post in map image was marked as the answer   
    \data\texture\유저인터페이스\worldmap.bmp
  2. nanakiwurtz's post in Rebellion Item Switching was marked as the answer   
    https://github.com/rathena/rathena/blob/master/src/map/battle.cpp#L7117
  3. nanakiwurtz's post in How Do I Make Changes To The Client ? was marked as the answer   
    Instead of asking the steps one by one, you can start reading the tutorial by using the search feature located on upper right side.
    You can start by reading this one.
     
  4. nanakiwurtz's post in Q> Card Remover & Bound Equip/Card was marked as the answer   
    There's no bound card, when a bound card inserted into an equipment, it lose its bound property.
  5. nanakiwurtz's post in Botkiller6 and Miner World error by Myzter of script was marked as the answer   
    1. Replace the pcblock command by using pcblockmove
    2. In Miner World.txt
    // This process creates new mines where were exhausted OnTimer360000: // Each 5 minutes the system check for destroyed mines and re-creates it in new coordinates set [email protected],0; set [email protected],0; set [email protected],10; freeloop(1); while (set([email protected], query_sql("select map, mines, mtypes from mn_maps limit " + [email protected] + "," + [email protected],[email protected]$,[email protected],[email protected]))) { for (set [email protected],0; [email protected] < [email protected]; set [email protected], [email protected] + 1) { query_sql "select count(*) from mn_mine where map='" + [email protected]$[[email protected]] + "'",[email protected]; while ([email protected][0] < [email protected][[email protected]]) { query_sql "select mclass from mn_class" + ([email protected][[email protected]]==0?"":" where mclass & " + [email protected][[email protected]]) + " order by rand() limit 1",[email protected]; set [email protected],-1; while ([email protected]<0) { if (!checkcell ([email protected]$[[email protected]],set([email protected],rand(1,500)),set([email protected],rand(1,500)),cell_chkpass)) set [email protected],-1; } // Probabilities of 30% to create a new mine at this pass... or will be created in a future process if (rand(10) < 3) { query_sql "insert into mn_mine (created, map, mclass, x, y, size) values (now(), '" + [email protected]$[[email protected]] + "'," + [email protected][0] + "," + [email protected] + "," + [email protected] + "," + rand(3,6) + ")"; debugmes "> Mine System: Creating a new mine in " + [email protected]$[[email protected]] + "..."; } set [email protected][0], [email protected][0] + 1; } } set [email protected], [email protected] + [email protected]; } freeloop(0); initnpctimer; }
  6. nanakiwurtz's post in PVP, Guild, Emperium Breaker Ladder [ Please Fix ] was marked as the answer   
    Update your server at least to ebaefc14762b519479ec17596dedf8f53cb37388
  7. nanakiwurtz's post in job changer was marked as the answer   
    //===== rAthena Script ======================================= //= Job Master //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A fully functional job changer. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Fixed reset on Baby job change. //= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. //= 1.3 Kagerou/Oboro added. //= 1.4 Rebellion added. //============================================================ prontera,153,193,6 script Job Master 123,{ function Job_Menu; mes "[Job Master]"; if (Class > Job_Soul_Linker) { mes "No more jobs are available."; close; } if (checkfalcon() || checkcart() || checkriding() || ismounting()) { mes "Please remove your " + ((checkfalcon()) ? "falcon" : "") + ((checkcart()) ? "cart" : "") + ((checkriding()) ? "Peco" : "") + ((ismounting()) ? "mount" : "") + " before proceeding."; close; } if (.SkillPointCheck && SkillPoint) { mes "Please use all your skill points before proceeding."; close; } [email protected] = eaclass(); [email protected] = ((.ThirdClass) ? roclass([email protected]&EAJ_UPPERMASK) : Class); if ([email protected] >= Job_Knight && [email protected] <= Job_Crusader2) { if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) { [email protected] = .Rebirth[0] - BaseLevel; [email protected] = .Rebirth[1] - JobLevel; mes "You need " + (([email protected] > 0) ? [email protected] + " more base levels " + (([email protected] > 0) ? "/ " : "") : "") + (([email protected] > 0) ? [email protected] + " more job levels " : "") + "to continue."; close; } if (Class > Job_Crusader2) { mes "Switch to third class?"; next; Job_Menu(roclass([email protected]|EAJL_THIRD)); close; } while(1) { mes "Select an option."; next; [email protected] = select(" ~ ^0055FFRebirth^000000:" + ((.ThirdClass) ? " ~ ^FF0000Third Class^000000" : "") + ": ~ ^777777Cancel^000000"); if ([email protected] == 3) close; mes "[Job Master]"; mes "Are you sure?"; next; Job_Menu((([email protected] == 1) ? Job_Novice_High : roclass([email protected]|EAJL_THIRD))); mes "[Job Master]"; } } [email protected] = roclass([email protected]|EAJL_2_1); [email protected] = roclass([email protected]|EAJL_2_2); if (([email protected]&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray [email protected][0], roclass([email protected]|EAJL_THIRD), 99; if (Class == Job_Ninja || Class == Job_Gunslinger) setarray [email protected][0], [email protected], 70; if ([email protected][0] && .SecondExpanded) { if (BaseLevel < .Rebirth[0] || JobLevel < [email protected][1]) { [email protected] = .Rebirth[0] - BaseLevel; [email protected] = [email protected][1] - JobLevel; mes "You need " + (([email protected] > 0) ? [email protected] + " more base levels " + (([email protected] > 0) ? "/ " : "") : "") + (([email protected] > 0) ? [email protected] + " more job levels " : "") + "to continue."; close; } mes "Switch to " + jobname([email protected][0]) + "?"; next; Job_Menu([email protected][0]); close; } if ([email protected]&EAJL_2) if ([email protected]&(EAJL_UPPER|EAJL_BABY) || roclass([email protected]|EAJL_UPPER) == -1) { mes "No more jobs are available."; close; } if (([email protected]&EAJ_BASEMASK) == EAJ_NOVICE) { if (JobLevel < .JobReq[0]) mes "A job level of " + .JobReq[0] + " is required to change into the 1st Class."; else if (Class == Job_Novice_High && .LastJob && lastJob) { mes "Switch classes now?"; next; Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); } else { switch(Class) { case Job_Novice: Job_Menu( Job_Swordman, Job_Mage, Job_Archer, Job_Acolyte, Job_Merchant, Job_Thief, Job_SuperNovice, Job_Taekwon, Job_Gunslinger, Job_Ninja, Job_Baby ); break; case Job_Novice_High: Job_Menu( Job_Swordman_High, Job_Mage_High, Job_Archer_High, Job_Acolyte_High, Job_Merchant_High, Job_Thief_High ); break; case Job_Baby: Job_Menu( Job_Baby_Swordman, Job_Baby_Mage, Job_Baby_Archer, Job_Baby_Acolyte, Job_Baby_Merchant, Job_Baby_Thief, Job_Super_Baby ); break; default: mes "An error has occurred."; break; } } close; } if (roclass([email protected]|EAJL_2_1) == -1 || roclass([email protected]|EAJL_2_2) == -1) mes "No more jobs are available."; else if (!([email protected]&EAJL_2) && JobLevel < .JobReq[1]) mes "A job level of " + .JobReq[1] + " is required to change into the 2nd Class."; else if (.LastJob && lastJob && ([email protected]&EAJL_UPPER)) { mes "Switch classes now?"; next; Job_Menu(lastJob + Job_Novice_High); } else Job_Menu([email protected], [email protected]); close; function Job_Menu { while(1) { if (getargcount() > 1) { mes "Select a job."; [email protected]$ = ""; for ([email protected] = 0; [email protected] < getargcount(); [email protected]++) [email protected]$ = [email protected]$ + " ~ " + jobname(getarg([email protected])) + ":"; [email protected]$ = [email protected]$+" ~ ^777777Cancel^000000"; next; [email protected] = getarg(select([email protected]$) - 1, 0); if ([email protected]) close; if (([email protected] == Job_SuperNovice || [email protected] == Job_Super_Baby) && BaseLevel < .SNovice) { mes "[Job Master]"; mes "A base level of " + .SNovice + " is required to turn into a " + jobname([email protected]) + "."; close; } mes "[Job Master]"; mes "Are you sure?"; next; } else [email protected] = getarg(0); if (select(" ~ Change into ^0055FF" + jobname([email protected]) + "^000000 class: ~ ^777777" + ((getargcount() > 1) ? "Go back" : "Cancel") + "^000000") == 1) { mes "[Job Master]"; if ([email protected] == Job_Novice_High && Zeny<500000) { mes "You need 500,000 Zeny to Rebirth!"; close; } mes "You are now " + callfunc("F_InsertArticle", jobname([email protected])) + "!"; if ([email protected] == Job_Novice_High && .LastJob) lastJob = Class; jobchange [email protected]; if ([email protected] == Job_Novice_High) { resetlvl(1); zeny -= 500000; } else if ([email protected] == Job_Baby) { resetstatus; resetskill; set SkillPoint,0; } specialeffect2 EF_ANGEL2; specialeffect2 EF_ELECTRIC; if (.Platinum) callsub Get_Platinum; close; } if (getargcount() == 1) return; mes "[Job Master]"; } end; } Get_Platinum: skill "NV_FIRSTAID",1,SKILL_PERM; switch (BaseClass) { case Job_Novice: if (Class != Job_SuperNovice) skill "NV_TRICKDEAD",1,SKILL_PERM; break; case Job_Swordman: skill "SM_MOVINGRECOVERY",1,SKILL_PERM; skill "SM_FATALBLOW",1,SKILL_PERM; skill "SM_AUTOBERSERK",1,SKILL_PERM; break; case Job_Mage: skill "MG_ENERGYCOAT",1,SKILL_PERM; break; case Job_Archer: skill "AC_MAKINGARROW",1,SKILL_PERM; skill "AC_CHARGEARROW",1,SKILL_PERM; break; case Job_Acolyte: skill "AL_HOLYLIGHT",1,SKILL_PERM; break; case Job_Merchant: skill "MC_CARTREVOLUTION",1,SKILL_PERM; skill "MC_CHANGECART",1,SKILL_PERM; skill "MC_LOUD",1,SKILL_PERM; break; case Job_Thief: skill "TF_SPRINKLESAND",1,SKILL_PERM; skill "TF_BACKSLIDING",1,SKILL_PERM; skill "TF_PICKSTONE",1,SKILL_PERM; skill "TF_THROWSTONE",1,SKILL_PERM; break; default: break; } switch (BaseJob) { case Job_Knight: skill "KN_CHARGEATK",1,SKILL_PERM; break; case Job_Priest: skill "PR_REDEMPTIO",1,SKILL_PERM; break; case Job_Wizard: skill "WZ_SIGHTBLASTER",1,SKILL_PERM; break; case Job_Blacksmith: skill "BS_UNFAIRLYTRICK",1,SKILL_PERM; skill "BS_GREED",1,SKILL_PERM; break; case Job_Hunter: skill "HT_PHANTASMIC",1,SKILL_PERM; break; case Job_Assassin: skill "AS_SONICACCEL",1,SKILL_PERM; skill "AS_VENOMKNIFE",1,SKILL_PERM; break; case Job_Crusader: skill "CR_SHRINK",1,SKILL_PERM; break; case Job_Monk: skill "MO_KITRANSLATION",1,SKILL_PERM; skill "MO_BALKYOUNG",1,SKILL_PERM; break; case Job_Sage: skill "SA_CREATECON",1,SKILL_PERM; skill "SA_ELEMENTWATER",1,SKILL_PERM; skill "SA_ELEMENTGROUND",1,SKILL_PERM; skill "SA_ELEMENTFIRE",1,SKILL_PERM; skill "SA_ELEMENTWIND",1,SKILL_PERM; break; case Job_Rogue: skill "RG_CLOSECONFINE",1,SKILL_PERM; break; case Job_Alchemist: skill "AM_BIOETHICS",1,SKILL_PERM; break; case Job_Bard: skill "BA_PANGVOICE",1,SKILL_PERM; break; case Job_Dancer: skill "DC_WINKCHARM",1,SKILL_PERM; break; default: break; } return; OnInit: setarray .Rebirth[0],99,50; // Minimum base level, job level to rebirth OR change to third class setarray .JobReq[0],10,40; // Minimum job level to turn into 1st class, 2nd class .ThirdClass = 0; // Enable third classes? (1: yes / 0: no) .SecondExpanded = 0; // Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? (1: yes / 0: no) .SNovice = 45; // Minimum base level to turn into Super Novice .LastJob = 1; // Enforce linear class changes? (1: yes / 0: no) .SkillPointCheck = 1; // Force player to use up all skill points? (1: yes / 0: no) .Platinum = 1; // Get platinum skills automatically? (1: yes / 0: no) end; } Untested
  8. nanakiwurtz's post in Get item value [Need Help] was marked as the answer   
    case 4: // Convert Badges
    mes "[Erundek]";
    mes "[So you want to convert your badges to War Badge, huh?]";
    next;
    menu "Bravery Badges to War Badge",bbadge,"Valor Badges to War Badge",vbadge;
    bbadge:
    mes "Input the number of badges you want to convert:";
    next;
    input [email protected];
    if ([email protected] >= countitem(7828)) {
    getitem 7773, [email protected];
    delitem 7828, [email protected];
    mes "Done!";
    } else {
    mes "You have insufficient badges";
    }
    close;
    vbadge:
    mes "Input the number of badges you want to convert:";
    next;
    input [email protected];
    if ([email protected] >= countitem(7829)) {
    getitem 7773, [email protected];
    delitem 7829, [email protected];
    mes "Done!";
    } else {
    mes "You have insufficient badges";
    }
    close;

  9. nanakiwurtz's post in Please help, i've already read every thread related iteminfo was marked as the answer   
    It's better to diff a client from a raw client, not from another source, because you'll never know which diffs has been applied to the client or not.
    You can get a raw client from @Akkarin signature.
  10. nanakiwurtz's post in Question Tortoise Git was marked as the answer   
    Use SourceTree or SmartGit instead, they have a more friendly interface.
  11. nanakiwurtz's post in Client Setup for 05-18-2015 kRO Client was marked as the answer   
    I think your client date is not supported yet. Use a lower client version instead.
    For tutorial, you can check out the Wiki --> https://rathena.org/wiki/
  12. nanakiwurtz's post in Server Killed was marked as the answer   
    Have you tried @RaidNode 's suggestion? https://rathena.org/board/topic/94532-map-server-killed/#entry267397
  13. nanakiwurtz's post in How do I update mapcache on Linux? was marked as the answer   
    On Linux? I have no idea, although you can update your mapcache on Windows, and then transfer it to your Linux
  14. nanakiwurtz's post in Star Gladiator / Soul Linker skill problem was marked as the answer   
    Have you tried to update your server to latest?
    If I remember correctly, there were a bug about SG/SL skills on GitHub Issue.
  15. nanakiwurtz's post in Cant connect to mysql. was marked as the answer   
    If there's no MySQL in your VPS, then maybe it's not installed yet
    yum install mysql mysql-devel mysql-server
  16. nanakiwurtz's post in Whisper Pet Effect was marked as the answer   
    { bonus bFlee,7; skill "TF_HIDING",1; }
  17. nanakiwurtz's post in About Rebellion Skills was marked as the answer   
    Could you please help us to get the info from iRO/kRO/any other official servers?
    Currently we are undermanned, I'd be grateful if you (or anyone) could provide some help to the Devs...
  18. nanakiwurtz's post in Siege Quest Items How-to-Disable Help was marked as the answer   
    \npc\re\guild\invest_npc.txt
  19. nanakiwurtz's post in Checkweight was marked as the answer   
    prontera,100,100,4, script Testing 890,{
    set @npcname$,"[Testing]";
    mes @npcname$;
    mes "Hello!";
    mes "Simple reminder, players having weight more than 1000 is forbidden to go inside the arena";
    next;
    menu "Go Inside",GO_in,"Cancel",Can_x;
    Can_x:
    end;
    GO_in:
    mes @npcname$;
    if (Weight>1000) { "I'm sorry, but your weight is more than 1000.","Please come back again later"; close; }
    mes "Good luck~";
    close2;
    warp "prontera",162,158;
    end;
    }

  20. nanakiwurtz's post in Trying To Create Quest Script was marked as the answer   
    if (readpain2 >= 1) {
    mes "[Pain]";
    mes "Did you capture the tailed beast?";
    menu "Yes", L_YES, "What are those again?", L_list;
    L_YES:
    if (AddaxKills < 2 || TGCKills < 2 || BHZKills < 2 || FabKills < 2) {
    mes "[Pain]";
    mes "I don't see them complete!!";
    close;
    }
    if (AddaxKills >= 2 || TGCKills >= 2 || BHZKills >= 2 || FabKills >= 2 ) {
    mes "[Pain]";
    mes "This is it.....!";
    next;
    mes "Now,";
    mes "Lets go to Uchiha Madara";
    set donepain2, 1;
    close;
    warp "niflheim",304,76;
    end;
    }
    L_list:
    mes "[Pain]";
    mes "Hmmm. You are missing...";
    if (AddaxKills < 2) mes "^FF0000"+(2 - AddaxKills) +"^000000 Addax";
    if (TGCKills < 2) mes "^FF0000"+(2 - TGCKills) +"^000000 Green Teen Chipmunks";
    if (BHZKills < 2) mes "^FF0000"+(2 - BHZKills) +"^000000 Blue Hell Centaur";
    if (FabKills < 2) mes "^FF0000"+(2 - FabKills) +"^000000 Fabilsag";
    close;
    }
    mes "[Pain]";
    mes "Yes?";
    next;
    mes "[" + strcharinfo(0) + "]";
    mes "I want to meet";
    next;
    mes "[" + strcharinfo(0) + "]";
    mes "Uchiha Madara";
    next;
    mes "[Pain]";
    mes "meet Uchiha Madara huh?";
    next;
    mes "[Pain]";
    mes "I'll let you meet him";
    mes "but I need you to hunt/capture this beast";
    next;
    mes "2 Blue Hell Centaur";
    mes "2 Green Teen chipmunks";
    mes "2 Addax";
    mes "1 fabilsag";
    set npc, 1;
    set readpain2, 1;
    next;
    menu "I will!",-,"Are you kidding me?",l_v;
    mes "[Pain]";
    mes "Go now!";
    close;
    l_v:
    mes "[Pain]";
    mes "Do I look like I am kidding?!!!";
    next;
    mes "[Pain]";
    mes "Nimpu";
    mes "Deva path!";
    close2;
    percentheal -100,0;
    end;
    OnNPCKillEvent:
    if (killedrid == 3221) {
    set AddaxKills,AddaxKills + 1;
    if (AddaxKills == 2) announce ""+strcharinfo(0)+" has captured one tailed beast.",bc_all,0x00FF4C;
    }
    else if (killedrid == 3249) {
    set TGCKills,TGCKills + 1;
    if(TGCKills == 2) announce ""+strcharinfo(0)+" has captured one tailed beast.",bc_all,0x00FF4C;
    }
    else if (killedrid == 3218) {
    set BHZKills,BHZKills + 1;
    if(BHZKills == 2) announce ""+strcharinfo(0)+" has captured one tailed beast.",bc_all,0x00FF4C;
    }
    else if (killedrid == 3250) {
    set FabKills,FabKills + 1;
    if(FabKills == 2) announce ""+strcharinfo(0)+" has captured one tailed beast.",bc_all,0x00FF4C;
    }
    end;
    }

  21. nanakiwurtz's post in Finding this NPC(Its already in game, want to disable) was marked as the answer   
    \npc\re\jobs\repair.txt line #60
  22. nanakiwurtz's post in Genius NPC Chatter was marked as the answer   
    //===== rAthena Script ======================================= //= Sample: PCRE //===== By: ================================================== //= MouseJstr //===== Last Updated: ======================================== //= 20100108 //===== Description: ========================================= //= Demonstrates PCRE commands. //============================================================ prontera,152,181,5 script MouseJstr 763,{ // hello Lquote0: npctalk "How do you do. Please state your problem."; end; // computer Lquote1: switch(rand(4)) { case 0: npctalk "Do computers worry you?"; break; case 1: npctalk "What do you think about machines?"; break; case 2: npctalk "Why do you mention computers?"; break; case 3: npctalk "What do you think machines have to do with your problem?"; break; } end; // name Lquote2: npctalk "I am not interested in names"; end; // sorry Lquote3: switch(rand(3)) { case 0: npctalk "Please don't apologize"; break; case 1: npctalk "Apologies are not necessary"; break; case 2: npctalk "What feelings do you have when you apologize"; break; } end; // I remember [email protected]$ Lquote4: switch(rand(6)) { case 0: npctalk "Do you often think of "[email protected]$+"?"; break; case 1: npctalk "Does thinking of "[email protected]$+" bring anything else to mind?"; break; case 2: npctalk "What else do you remember?"; break; case 3: npctalk "Why do you recall "[email protected]$+" right now?"; break; case 4: npctalk "What in the present situation reminds you of "[email protected]$+"?"; break; case 5: npctalk "What is the connection between me and "[email protected]$+"?"; break; } end; // do you remember Lquote5: switch (rand(4)) { case 0: npctalk "Did you think I would forget "[email protected]$+" ?"; break; case 1: npctalk "Why do you think I should recall "[email protected]$+" now"; break; case 2: npctalk "What about "[email protected]$+""; break; case 3: npctalk "You mentioned "[email protected]$+""; break; } end; // if Lquote6: switch(rand(4)) { case 0: npctalk "Do you really think its likely that "[email protected]$+""; break; case 1: npctalk "Do you wish that "[email protected]$+"?"; break; case 2: npctalk "What do you think about "[email protected]$+"?"; break; case 3: npctalk "Really-- if "[email protected]$+"?"; break; } end; // i dreamt Lquote7: switch(rand(3)) { case 0: npctalk "Really-- "[email protected]$+""; break; case 1: npctalk "Have you ever fantasized "[email protected]$+" while you were awake?"; break; case 2: npctalk "Have you dreamt "[email protected]$+" before?"; break; } end; // dream about Lquote8: npctalk "How do you feel about "[email protected]$+" in reality?"; end; // dream Lquote9: switch(rand(4)) { case 0: npctalk "What does this dream suggest to you?"; break; case 1: npctalk "Do you dream often?"; break; case 2: npctalk "What persons appear in your dreams?"; break; case 3: npctalk "Don't you believe that dream has to do with your problem?"; break; } end; // my mother Lquote10: switch(rand(2)) { case 0: npctalk "Who else in your family "[email protected]$+""; break; case 1: npctalk "Tell me more about your family"; break; } end; // my father Lquote11: switch(rand(3)) { case 0: npctalk "Your father"; break; case 1: npctalk "Does he influence you strongly?"; break; case 2: npctalk "What else comes to mind when you think of your father?"; break; } end; // I want Lquote12: switch(rand(3)) { case 0: npctalk "What would it mean if you got "[email protected]$+""; break; case 1: npctalk "Why do you want "[email protected]$+""; break; case 2: npctalk "Suppose you got "[email protected]2$+" soon"; break; } end; // I am glad Lquote13: switch(rand(3)) { case 0: npctalk "How have I helped you to be "[email protected]$+""; break; case 1: npctalk "What makes you happy just now"; break; case 2: npctalk "Can you explain why you are suddenly "[email protected]$+""; break; } end; // I am sad Lquote14: switch(rand(2)) { case 0: npctalk "I am sorry to hear you are depressed"; break; case 1: npctalk "I'm sure its not pleasant to be sad"; break; } end; // [email protected] are like "[email protected]$+" Lquote15: npctalk "What resemblance do you see between "[email protected]$+" and "[email protected]$+""; end; // "[email protected]$+" is like "[email protected]$+" Lquote16: switch(rand(4)) { case 0: npctalk "In what way is it that "[email protected]$+" is like "[email protected]$+""; break; case 1: npctalk "What resemblance do you see?"; break; case 2: npctalk "Could there really be some connection?"; break; case 3: npctalk "How?"; break; } end; // alike Lquote17: switch(rand(2)) { case 0: npctalk "In what way?"; break; case 1: npctalk "What similarities are there?"; break; } end; // same Lquote18: npctalk "What other connections do you see?"; end; // I was "[email protected]$+" Lquote19: switch(rand(3)) { case 0: npctalk "Were you really?"; break; case 1: npctalk "Perhaps I already knew you were "[email protected]$+""; break; case 2: npctalk "Why do you tell me you were "[email protected]$+" now?"; break; } end; // was I Lquote20: switch(rand(3)) { case 0: npctalk "What if you were "[email protected]$+" ?"; break; case 1: npctalk "Do you thin you were "[email protected]$+""; break; case 2: npctalk "What would it mean if you were "[email protected]$+""; break; } end; // I am Lquote21: switch(rand(2)) { case 0: npctalk "In what way are you "[email protected]$+""; break; case 1: npctalk "Do you want to be "[email protected]$+" ?"; break; } end; // am I Lquote22: switch(rand(4)) { case 0: npctalk "Do you believe you are "[email protected]$+""; break; case 1: npctalk "Would you want to be "[email protected]$+""; break; case 2: npctalk "You wish I would tell you you are "[email protected]$+""; break; case 3: npctalk "What would it mean if you were "[email protected]$+""; break; } end; // am Lquote23: switch(rand(2)) { case 0: npctalk "Why do you say AM?"; break; case 1: npctalk "I don't understand that"; break; } end; // are you Lquote24: switch(rand(3)) { case 0: npctalk "Why are you interested in whether I am "[email protected]$+" or not?"; break; case 1: npctalk "Would you prefer if I weren't "[email protected]$+""; break; case 2: npctalk "Perhaps I am "[email protected]$+" in your fantasies"; break; } end; // you are Lquote25: npctalk "What makes you think I am "[email protected]$+" ?"; end; // because Lquote26: switch(rand(3)) { case 0: npctalk "Is that the real reason?"; break; case 1: npctalk "What other reasons might there be?"; break; case 2: npctalk "Does that reason seem to explain anything else?"; break; } end; // were you Lquote27: switch(rand(3)) { case 0: npctalk "Perhaps I was "[email protected]$+""; break; case 1: npctalk "What do you think?"; break; case 2: npctalk "What if I had been "[email protected]$+""; break; } end; // I can't Lquote28: switch(rand(2)) { case 0: npctalk "Maybe you could "[email protected]$+" now"; break; case 1: npctalk "What if you could "[email protected]$+" ?"; break; } end; // I feel Lquote29: npctalk "Do you often feel "[email protected]$+" ?"; end; // I felt Lquote30: npctalk "What other feelings do you have?"; end; // [email protected]$ I [email protected]$ you [email protected]$ Lquote31: npctalk "Perhaps in your fantasy we "[email protected]$+" each other?"; end; // why don't you Lquote32: switch(rand(3)) { case 0: npctalk "Should you "[email protected]$+" yourself?"; break; case 1: npctalk "Do you believe I don't "[email protected]$+""; break; case 2: npctalk "Perhaps I will "[email protected]$+" in good time"; break; } end; // yes Lquote33: switch(rand(3)) { case 0: npctalk "You seem quite positive"; break; case 1: npctalk "You are sure?"; break; case 2: npctalk "I understand"; break; } end; // no Lquote34: switch(rand(3)) { case 0: npctalk "Why not?"; break; case 1: npctalk "You are being a bit negative"; break; case 2: npctalk "Are you saying NO just to be negative?"; break; } end; // someone Lquote35: npctalk "Can you be more specific?"; end; // everyone Lquote36: switch(rand(4)) { case 0: npctalk "surely not everyone"; break; case 1: npctalk "Can you think of anyone in particular?"; break; case 2: npctalk "Who for example?"; break; case 3: npctalk "You are thinking of a special person?"; break; } end; // always Lquote37: switch(rand(4)) { case 0: npctalk "Can you think of a specific example?"; break; case 1: npctalk "When?"; break; case 2: npctalk "What incident are you thinking of?"; break; case 3: npctalk "Really-- always?"; break; } end; // what Lquote38: switch(rand(5)) { case 0: npctalk "Why do you ask?"; break; case 1: npctalk "Does that question interest you?"; break; case 2: npctalk "What is it you really want to know?"; break; case 3: npctalk "What do you think?"; break; case 4: npctalk "What comes to your mind when you ask that?"; break; } end; // perhaps Lquote39: npctalk "You do not seem quite certain"; end; // are Lquote40: switch(rand(2)) { case 0: npctalk "Did you think they might not be "[email protected]$+""; break; case 1: npctalk "Possibly they are "[email protected]$; break; } end; // default Lquote41: switch(rand(6)) { case 0: npctalk "Very interesting"; break; case 1: npctalk "I am not sure I understand you fully"; break; case 2: npctalk "What does that suggest to you?"; break; case 3: npctalk "Please continue"; break; case 4: npctalk "Go on"; break; case 5: npctalk "Do you feel strongly about discussing such things?"; break; } end; OnInit: defpattern 1, "([^:]+):.*\\shello.*", "Lquote0"; defpattern 1, "([^:]+):.*\\scomputer.*", "Lquote1"; defpattern 1, "([^:]+):.*\\sname.*", "Lquote2"; defpattern 1, "([^:]+):.*\\ssorry.*", "Lquote3"; defpattern 1, "([^:]+):.*\\si\\s+remember\\s+(.*)", "Lquote4"; defpattern 1, "([^:]+):.*\\sdo\\s+you\\s+remember\\s+(.*)", "Lquote5"; defpattern 1, "([^:]+):.*\\sif\\s+(.*)", "Lquote6"; defpattern 1, "([^:]+):.*\\si\\s+dreamt\\s+(.*)", "Lquote7"; defpattern 1, "([^:]+):.*\\sdream\\s+about\\s+(.*)", "Lquote8"; defpattern 1, "([^:]+):.*\\sdream\\s+(.*)", "Lquote9"; defpattern 1, "([^:]+):.*\\smy\\s+mother\\s+(.*)", "Lquote10"; defpattern 1, "([^:]+):.*\\smy\\s+father\\s+(.*)", "Lquote11"; defpattern 1, "([^:]+):.*\\si\\s+want\\s+(.*)", "Lquote12"; defpattern 1, "([^:]+):.*\\si\\s+am\\s+glad\\s+(.*)", "Lquote13"; defpattern 1, "([^:]+):\\s+(.*)\\s+i\\s+am\\s+sad\\s+(.*)", "Lquote14"; defpattern 1, "([^:]+):\\s+(.*)\\s+are\\s+like\\s+(.*)", "Lquote15"; defpattern 1, "([^:]+):\\s+(.*)\\s+is\\s+like\\s+(.*)", "Lquote16"; defpattern 1, "([^:]+):.*\\salike\\s+(.*)", "Lquote17"; defpattern 1, "([^:]+):.*\\ssame\\s+(.*)", "Lquote18"; defpattern 1, "([^:]+):.*\\si\\s+was\\s+(.*)", "Lquote19"; defpattern 1, "([^:]+):.*\\swas\\s+i\\s+(.*)", "Lquote20"; defpattern 1, "([^:]+):.*\\si\\s+am\\s+(.*)", "Lquote21"; defpattern 1, "([^:]+):.*\\sam\\s+i\\s+(.*)", "Lquote22"; defpattern 1, "([^:]+):.*\\sam\\s+(.*)", "Lquote23"; defpattern 1, "([^:]+):.*\\sare\\s+you\\s+(.*)", "Lquote24"; defpattern 1, "([^:]+):.*\\syou\\s+are\\s+(.*)", "Lquote25"; defpattern 1, "([^:]+):.*\\sbecause\\s+(.*)", "Lquote26"; defpattern 1, "([^:]+):.*\\swere\\s+you\\s+(.*)", "Lquote27"; defpattern 1, "([^:]+):.*\\si\\s+(cant|can't|cannot)\\s+(.*)", "Lquote28"; defpattern 1, "([^:]+):.*\\si\\s+feel\\s+(.*)", "Lquote29"; defpattern 1, "([^:]+):.*\\si\\s+felt\\s+(.*)", "Lquote30"; defpattern 1, "([^:]+):.*\\si\\s+(.*)\\s+you\\s+(.*)", "Lquote31"; defpattern 1, "([^:]+):.*\\swhy\\s+(don't|dont)\\s+you\\s+(.*)", "Lquote32"; defpattern 1, "([^:]+):.*\\syes\\s+(.*)", "Lquote33"; defpattern 1, "([^:]+):.*\\sno\\s+(.*)", "Lquote34"; defpattern 1, "([^:]+):.*\\ssomeone\\s+(.*)", "Lquote35"; defpattern 1, "([^:]+):.*\\severyone\\s+(.*)", "Lquote36"; defpattern 1, "([^:]+):.*\\salways\\s+(.*)", "Lquote37"; defpattern 1, "([^:]+):.*\\swhat\\s+(.*)", "Lquote38"; defpattern 1, "([^:]+):.*\\sperhaps\\s+(.*)", "Lquote39"; defpattern 1, "([^:]+):.*\\sare\\s+(.*)", "Lquote40"; defpattern 1, "([^:]+).*)", "Lquote41"; activatepset 1; end; } Taken from /doc/sample/npc_test_pcre.txt
  23. nanakiwurtz's post in Orb Exchanger NPC was marked as the answer   
    prontera,155,180,3 script Exchanger 1002,{
    mes "Hi, what do you want?";
    next;
    menu "Exchange 3 "+getitemname(7257)+" to 1 "+getitemname(7255)+"",a1,
    "Exchange 3 "+getitemname(7257)+" to 1 "+getitemname(7256)+"",a2,
    "Exchange 1 "+getitemname(7255)+" to 3 "+getitemname(7257)+"",a3,
    "Exchange 1 "+getitemname(7256)+" to 3 "+getitemname(7257)+"",a4,
    "Cancel",quit;
    quit:
    mes "Come again later!";
    close;
    quit2:
    mes "Thank you!";
    close;
    a1:
    if (countitem(7257)<3) {
    mes "Sorry, but you need 3 "+getitemname(7257);
    goto quit;
    } else {
    delitem 7257,3;
    getitem 7255,1;
    goto quit2;
    }
    a2:
    if (countitem(7257)<3) {
    mes "Sorry, but you need 3 "+getitemname(7257);
    goto quit;
    } else {
    delitem 7257,3;
    getitem 7256,1;
    goto quit2;
    }
    a3:
    if (countitem(7255)<1) {
    mes "Sorry, but you need 1 "+getitemname(7255);
    goto quit;
    } else {
    delitem 7255,1;
    getitem 7257,3;
    goto quit2;
    }
    a4:
    if (countitem(7256)<1) {
    mes "Sorry, but you need 1 "+getitemname(7256);
    goto quit;
    } else {
    delitem 7256,1;
    getitem 7257,3;
    goto quit2;
    }
    }

  24. nanakiwurtz's post in R> put code to get item was marked as the answer   
    You can use this http://rathena.org/board/topic/87212-utility-promotional-code/ 
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.