Jump to content

Elijah23

Members
  • Posts

    292
  • Joined

  • Last visited

  • Days Won

    5

Posts posted by Elijah23

  1. Of course you can.. :(

    The script that had been given to you was a script that maybe the giver is using for his server..

    And his server and your server is not alike.. :)

    If you're gonna check the warnings one by one, you're gonna finish this in just few mins...

    I'll give you an example for the two kinds of errors you were receiving...

    For this error...

    [Warning]: npc_parse_shop: Item Sprint_Mail [2387] discounted buying price (5->3
    ) is less than overcharged selling price (10->12) at file 'npc/other/donations.t
    xt', line '1'.
    

    All you need to do is go to your item_db, find the item ID which is stated in the warning and replace the buying and selling value to 0..

    Note: If the item is not in the item_db, maybe its in the item_db2

    For this error..

    [Warning]: npc_parse_shop: Invalid sell item in file 'npc/other/donations.txt',
    line '2' (id '5423').
    

    All you need to do is find the item ID inside the item_db and check if its something like this..

    For example..

    //5423,Lovecap_China,I Love China,5,,,250,,5,,0,0xFFFFFFFF,7,2,256,,0,0,424,{ bonus bDex,3; bonus2 bSubRace,RC_DemiHuman,10; },{},{}

    So you can see there is // or comment before the item ID which makes the item unavailable..

    Just remove that to make the item available..

    Note: If the item is not in the item_db, maybe its in the item_db2

    Note2: If you can't find the item ID inside item_db and item_db2, delete the item inside the script...

    Common, stretch some muscles of the eyes and hands.. :)

  2. Hi! Try this.. This is working fine for me..

    - script EX -1,{
    OnPCLoadMapEvent:
    if( Upper > 3 && compare( strcharinfo(3),"prtg_cas") ){
    mes "You are now Allow to Join Trans WOE.";
    close2;
    warp "prontera",155,181;
    end;
    }
    else if( Upper > 3 && compare( strcharinfo(3),"aldeg_cas") ){
    mes "You are now Allow to Join Trans WOE.";
    close2;
    warp "prontera",155,181;
    end;
    }
    else if( Upper > 3 && compare( strcharinfo(3),"payg_cas") ){
    mes "You are now Allow to Join Trans WOE.";
    close2;
    warp "prontera",155,181;
    end;
    }
    }
    
    //prontera
    prtg_cas01 mapflag loadevent
    prtg_cas02 mapflag loadevent
    prtg_cas03 mapflag loadevent
    prtg_cas04 mapflag loadevent
    prtg_cas05 mapflag loadevent
    //aldebaran
    aldeg_cas01 mapflag loadevent
    aldeg_cas02 mapflag loadevent
    aldeg_cas03 mapflag loadevent
    aldeg_cas04 mapflag loadevent
    aldeg_cas05 mapflag loadevent
    //payon
    payg_cas01 mapflag loadevent
    payg_cas02 mapflag loadevent
    payg_cas03 mapflag loadevent
    payg_cas04 mapflag loadevent
    payg_cas05 mapflag loadevent
    

  3. This is what i have done and working.. /no1

    For example prontera castles..

    Instead of...

     else if (compare(strnpcinfo(2),"prtg")) {
      // Normal Spawns
      monster strnpcinfo(2),0,0,"Raydric",1163,1;
      monster strnpcinfo(2),0,0,"Khalitzburg",1132,10;
      monster strnpcinfo(2),0,0,"Abysmal Knight",1219,5;
      monster strnpcinfo(2),0,0,"Bloody Knight",1268,5;
      monster strnpcinfo(2),0,0,"Stormy Knight",1251,1;
      monster strnpcinfo(2),0,0,"Hatii",1252,1;
      monster strnpcinfo(2),0,0,"Raydric Archer",1276,5;
      monster strnpcinfo(2),0,0,"Gryphon",1259,2;
      monster strnpcinfo(2),0,0,"Chimera",1283,3;
      monster strnpcinfo(2),0,0,"Alice",1275,1;
      monster strnpcinfo(2),0,0,"Zealotus",1200,1;
      // Set Emperium room spawn coordinates and spawn monsters.
      if (strnpcinfo(2) == "prtg_cas01") { setarray .@emproom[0],197,197; }
      else if (strnpcinfo(2) == "prtg_cas02") { setarray .@emproom[0],157,174; }
      else if (strnpcinfo(2) == "prtg_cas03") { setarray .@emproom[0],16,220; }
      else if (strnpcinfo(2) == "prtg_cas04") { setarray .@emproom[0],291,14; }
      else if (strnpcinfo(2) == "prtg_cas05") { setarray .@emproom[0],266,266; }
      monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Guardian Knight",1268,1;
      monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Guardian Master",1251,1;
      monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Hatii",1252,1;
      monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Guardian Knight",1219,1;
      monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Raydric Archer",1276,5;
     }
    

    I deleted the normal spawns and it look like this...

     else if (compare(strnpcinfo(2),"prtg")) {
      // Normal Spawns
      // Set Emperium room spawn coordinates and spawn monsters.
      if (strnpcinfo(2) == "prtg_cas01") { setarray .@emproom[0],197,197; }
      else if (strnpcinfo(2) == "prtg_cas02") { setarray .@emproom[0],157,174; }
      else if (strnpcinfo(2) == "prtg_cas03") { setarray .@emproom[0],16,220; }
      else if (strnpcinfo(2) == "prtg_cas04") { setarray .@emproom[0],291,14; }
      else if (strnpcinfo(2) == "prtg_cas05") { setarray .@emproom[0],266,266; }
     }
    

    No more monsters spawning when castle is empty.. /ok

  4. It should look like this.. /no1

    prontera,155,181,5    script    Sample    436,{
    set .BuyCost,1;
    switch(select("Buy Skill Points:Buy Stat Points")){
    Case 1:
    mes "How many Skill Points you want to Buy ?";
    mes "Each Cost "+.BuyCost+" Pod.";
    input @Amount,0;
    if( @Amount == 0 ) close;
    if( countitem( 7179 ) < @Amount ){
       mes "Not Enough POD";
       close;
    }
    next;
    mes "Gained "+@Amount+" Skill Points.";
    set SkillPoint,SkillPoint + @Amount;
    delitem 7179,@Amount;
    close;
    Case 2:
    mes "How many Stat Points you want to Buy ?";
    mes "Each Cost "+.BuyCost+" Pod.";
    input @Amount,0;
    if( @Amount == 0 ) close;
    if( countitem( 7179 ) < @Amount ){
       mes "Not Enough POD";
       close;
    }
    next;
    mes "Gained "+@Amount+" Stat Points.";
    set StatusPoint,StatusPoint + (@Amount);
    delitem 7179,@Amount;
    close;
    }
    }
    

  5. You missed 1 curly,

    {

    for(set .@i,0;.@i<getarraysize(.@gmcid);set .@i,.@i+1)

    if( isloggedin (.@gmaid[.@i])){

    getitem 607.10,.@gmaid[.@i];

    set #CASHPOINTS,#CASHPOINTS+10;

    }

    Should be

    for(set .@i,0;.@i<getarraysize(.@gmcid);set .@i,.@i+1)

    {

    if(isloggedin(.@gmaid[.@i]))

    getitem 12628,1,.@gmaid[.@i];

    }

    }//-missing curly

  6. You're missing 2 right curlys.. LOL

    //Author : Goddameit
    //Version : 2011/12/16 - 01:04
    function script AllGuildMemberEvent {
    if(!set(.@gid,getcastledata(getarg(0),1)))
     return;
    query_sql("select account_id, char_id from `guild_member` where guild_id = '"+.@gid+"'", .@gmaid, .@gmcid);
    for(set .@i,0;.@i<getarraysize(.@gmcid);set .@i,.@i+1)
    {
     if(isloggedin(.@gmaid[.@i]))
     getitem 12628,1,.@gmaid[.@i];
     }
    }
    - script AGME -1,{
    OnAGME:
    setarray .@maps$[0],"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05";
    setarray .@maps$[5],"gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05";
    setarray .@maps$[10],"payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05";
    setarray .@maps$[15],"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05";
    for( set .@i,0; .@i <= 19; set .@i, .@i+1)
    {
     callfunc "AllGuildMemberEvent",.@maps$[.@i],0,
      "System","WoE Victory Reward","Congratulations! Your guild succeeded in   occupying "+ getcastlename(.@maps$[.@i]) +". This is your rewards.",
      501,1,1,0,
      "[You got a mail!! Please relogin to reupdate your mail list.]";
    }
    end;
    }
    

  7. You will see something like this..

      // Normal Spawns
      monster strnpcinfo(2),0,0,"Evil Druid",1117,10;
      monster strnpcinfo(2),0,0,"Khalitzburg",1132,4;
      monster strnpcinfo(2),0,0,"Abysmal Knight",1219,2;
      monster strnpcinfo(2),0,0,"Executioner",1205,1;
      monster strnpcinfo(2),0,0,"Penomena",1216,10;
      monster strnpcinfo(2),0,0,"Alarm",1193,18;
      monster strnpcinfo(2),0,0,"Clock",1269,9;
      monster strnpcinfo(2),0,0,"Raydric Archer",1276,7;
      monster strnpcinfo(2),0,0,"Wanderer",1208,3;
      monster strnpcinfo(2),0,0,"Alice",1275,1;
      monster strnpcinfo(2),0,0,"Bloody Knight",1268,1;
      monster strnpcinfo(2),0,0,"Dark Lord",1272,1;
      // Set Emperium room spawn coordinates and spawn monsters.
      if (strnpcinfo(2) == "aldeg_cas01") { setarray .@emproom[0],216,23; }
      else if (strnpcinfo(2) == "aldeg_cas02") { setarray .@emproom[0],213,23; }
      else if (strnpcinfo(2) == "aldeg_cas03") { setarray .@emproom[0],205,31; }
      else if (strnpcinfo(2) == "aldeg_cas04") { setarray .@emproom[0],36,217; }
      else if (strnpcinfo(2) == "aldeg_cas05") { setarray .@emproom[0],27,101; }
      monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Dark Lord",1272,1;
      monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Tower Keeper",1270,4;
      monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Bloody Knight",1268,1;
      monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Abysmal Knight",1219,1;
      monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Raydric Archer",1276,5;
    

    delete the normal spawns per castle except for the emperium. ..

  8. Some of the items were not in your item_db.txt...

    That's why you're receiving the error

    [Warning]: npc_parse_shop: Invalid sell item in file

    Maybe the items were commented or not really in your item db..

    The rest of the warnings were about the selling price and buying price, maybe just change the buying and selling price of those items to 0 in your item_db

  9. I asked me that too, my solution would be on AgitStart to check how many castles an guild had and then compare it with the result after woe ^^.

    So if they have none afterwards they will be determined as "Loser Guild" :I.

    Regards,

    Chris

    If that's the case, even non WOE guilds will receive the loser prize... Am i right?..

    Cause every guild who doesn't have any castles will be considered "Loser guild".. /no1

    Will it not be abused?..

    Anyways, just my opinion.. /ok

    @TS

    Cause in the other thread about, i have posted the modified woe rewarder by Goddameit which gives reward to the guild who owns a castle after woe.. :) You can change the prize their easily to the item you want.. :D

  10. Thank you for your answers.. /no1

    I tried both of your suggestions Chris...

    { if(Class > 0) { dispbottom "This Scroll can only be used by an Novice."; getitem 12626,1; end; } else CallFunc("F_ChooseJob"); },{},{}

    This is working fine although the unconsumable part is not what I want to happen.. :D Guess it can't be helped to add that...

    with regards to....

    Into 0x00000001 for Novice & S.Novice only ^^

    It does not show any message at all, you will not just able to use it.. /ok

    Anyways, thanks.. :)

  11. Hi! So I'm using a Job Change scroll..

    Here's the script I'm using..

    function script F_ChooseJob {
    SetArray(.@JobIDs[0], 4060, 4073, 4061, 4074, 4062, ((Sex) ? 4075 : 4076), 4063, 4077, 4064, 4078, 4065, 4079, 24, 25, 4046, 4047, 4049);
    Set(.@n$, "[Job Master]");
    While(1)
    {
    Mes(.@n$);
    Mes("Please choose your desired job.");
    For(Set(.@i, 0); .@i < GetArraySize(.@JobIDs); Set(.@i, .@i + 1))
    Set(.@MenuString$, .@MenuString$ + ((.@i) ? ":" : "") + JobName(.@JobIDs[.@i]) + ((.@i == GetArraySize(.@JobIDs) - 1) ? ":Close" : ""));
    Set(.@Menu ,Select(.@MenuString$) - 1);
    If(.@Menu >= GetArraySize(.@JobIDs))
    Close();
    Else
    {
    Next();
    Mes(.@n$);
    Mes("Are you sure that you wish to become " + JobName(.@JobIDs[.@Menu]) + "?");
    If(Select("Yes:No") == 2)
    Next(); // back to job selection
    Else
    {
    Next();
    JobChange(Job_Novice_High, 1);
    ResetLvl(1);
    Set(JobLevel, 10);
    Switch(.@Menu)
    {
    case 0:
     jobchange 4002;
     set JobLevel, 50;
     jobchange 4008;
     set JobLevel, 70;
     jobchange 4060;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 1:
     jobchange 4002;
     set JobLevel, 50;
     jobchange 4015;
     set JobLevel, 70;
     jobchange 4073;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 2:
     jobchange 4003;
     set JobLevel, 50;
     jobchange 4010;
     set JobLevel, 70;
     jobchange 4061;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 3:
     jobchange 4003;
     set JobLevel, 50;
     jobchange 4017;
     set JobLevel, 70;
     jobchange 4074;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 4:
     jobchange 4004;
     set JobLevel, 50;
     jobchange 4012;
     set JobLevel, 70;
     jobchange 4062;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 5:
     jobchange 4004;
     set JobLevel, 50;
     if(Sex == 0)
      jobchange 4021;
     else
      jobchange 4020;
     set JobLevel, 70;
     if(Sex == 0)
      jobchange 4076;
     else
      jobchange 4075;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 6:
     jobchange 4005;
     set JobLevel, 50;
     jobchange 4009;
     set JobLevel, 70;
     jobchange 4063;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 7:
     jobchange 4005;
     set JobLevel, 50;
     jobchange 4016;
     set JobLevel, 70;
     jobchange 4077;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 8:
     jobchange 4006;
     set JobLevel, 50;
     jobchange 4011;
     set JobLevel, 70;
     jobchange 4064;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 9:
     jobchange 4006;
     set JobLevel, 50;
     jobchange 4017;
     set JobLevel, 70;
     jobchange 4078;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 10:
     jobchange 4007;
     set JobLevel, 50;
     jobchange 4013;
     set JobLevel, 70;
     jobchange 4065;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 11:
     jobchange 4007;
     set JobLevel, 50;
     jobchange 4018;
     set JobLevel, 70;
     jobchange 4079;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 12:
     set StatusPoint,StatusPoint - 52;
     jobchange 24;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 13:
     set StatusPoint,StatusPoint - 52;
     jobchange 25;
     set BaseLevel, 150;
     set JobLevel, 70;
     PercentHeal(100, 100);
     close;
    case 14:
     set StatusPoint,StatusPoint - 52;
     jobchange 4046;
     set BaseLevel, 150;
     set JobLevel, 50;
     PercentHeal(100, 100);
     close;
    case 15:
     set StatusPoint,StatusPoint - 52;
     jobchange 4046;
     set JobLevel, 50;
     jobchange 4047;
     set BaseLevel, 150;
     set JobLevel, 50;
     PercentHeal(100, 100);
     close;
    case 16:
     set StatusPoint,StatusPoint - 52;
     jobchange 4046;
     set JobLevel, 50;
     jobchange 4049;
     set BaseLevel, 150;
     set JobLevel, 50;
     PercentHeal(100, 100);
     close;
    }
    }
    }
    }
    }
    

    Item DB:

    12626,Job_Change_Scroll,Job Change Scroll,2,,,10,,,, ,0xFFFFFFFF,7,2,,,,,,{ CallFunc("F_ChooseJob"); },{},{}

    So this is functional,

    If i add

    If( Class != 0 ) end;

    It's working for novice only, but i want to add a message that he/she can't use the scroll because he/she is not a novice... And the scroll will not be consumed...

  12. Regarding this script, why would you like to reward the loser guild too?...

    I think this would make some conflict, how would you determine the loser guild? If they join the WOE or if they don't have any castles? How about the guilds who did not join the WOE and don't have any castles? Are they considered loser too? They'll get prize too?..

  13. sorry for the late reply..

    I'm using Toasty's Woe Controller too..

    find the line

    announce "The War Of Emperium is over!",bc_all;

    donpcevent strnpcinfo(3)+"::OnDisplayOwners";

    add it after that...

  14. Try this.. it's working fine with me... It's set to 1 pod = 1 stat/skill

    prontera,155,181,5 script Seller 436,{
    set .BuyCost,1;
    switch(select("Buy Skill Points:Buy Stat Points")){
    Case 1:
    mes "How many Skill Points you want to Buy ?";
    mes "Each Cost "+.BuyCost+" Pod.";
    input @Amount,0;
    if( @Amount == 0 ) close;
    next;
    mes "Gained "+@Amount+" Skill Points.";
    set SkillPoint,SkillPoint + @Amount;
    delitem 7179,@Amount;
    close;
    Case 2:
    mes "How many Stat Points you want to Buy ?";
    mes "Each Cost "+.BuyCost+" Pod.";
    input @Amount,0;
    if( @Amount == 0 ) close;
    next;
    mes "Gained "+@Amount+" Stat Points.";
    set StatusPoint,StatusPoint + @Amount;
    delitem 7179,@Amount;
    close;
    }
    }
    

  15. here's an example..

    One custom item from my DB...

    18005,Buster_Blade,Buster Blade,4,,,1000,250,,1,4,0xFFFFFFFF,7,2,34,3,1,0,3,{},{},{}

    So as you can see, my view ID is 3 because I'm using that weapon as a 2-hand sword..

    Sprite and Acts example...

    You should put it like this...

    ±â»ç_¿©_18005

    ±â»ç_¿©_18005.spr

    ±â»ç_³²_18005

    ±â»ç_³²_18005.spr

    The first part is the Job's weapon sprite, just look at the sprite bible in RMS..

    In my example, I used Knight..

    You just need to put it inside the specific folder for each JOB WEAPON SPRITE inside: sprite/Àΰ£Á·/

    Example:

    I put the above sprites inside the folder: sprite/Àΰ£Á·/±â»ç

    cause that folder is the job weapon sprite for knight..

  16. thanks for read my thread

    i want to ask about custom weapon

    server : 3CeAM r659

    script db use from JUR item

    1250,Jur,Jur,4,19500,,800,125,,1,2,0x00001000,7,2,34,2,18,1,16,{},{},{}

    error2.png

    db.

    30014,twosword,twosword,4,19500,,800,125,,1,2,0x00001000,7,2,34,2,18,1,30014,{},{},{}

    30015,1onesword,1onesword,4,0,,0,100,,1,2,0x00001000,7,2,34,2,18,1,30015,{},{},{}

    error1.png

    error is Aspd

    if i change the view of these custom items ASPD can be normal and equal to the jur

    What can anybody help me solve this problem?

    thanks for advance /no1

    Hi, I believe its with the view id.. /ok

    What i did with my custom weapons are use the same id of the same kind of weapon..

    So with your example, using a 2-hand sword, use two hand sword's id.. and i believe its 3

    Sprite of the weapons are read in the sprite folder for each jobs using the jobname(in korean)_ID#

×
×
  • Create New...