Jump to content

insandedid01

Members
  • Posts

    14
  • Joined

  • Last visited

Posts posted by insandedid01

  1. Hello Everyone i can reduce damage from Ice Pick ?

    example

    Request.


    - Reduce damage from Weapon Ice Pick by item script " bonus2 bSubSkill,"MO_INVESTIGATE",75; " or every way for reduce Ice Pick received  damage

     

    - I can have git pull or any idea for write this way script Reduce damage by equiments from Ice Pick on item_db ?

     

  2. Quote

     

    OnInstanceInit:

       set .@i,instance_id();
        set .@npc$, instance_npcname(strnpcinfo(0));
        enablenpc .@npc$;
        end;

    OnEnable:
        set .@npc$, instance_npcname(strnpcinfo(0));
        enablenpc .@npc$;
        end;
        
    OnDisable:
        set .@npc$, instance_npcname(strnpcinfo(0));
        disablenpc .@npc$;
        end;

     

        set .@map$, instance_mapname("1@BOSS_rA", instance_id());

      setarray .i7[1],2473,2474,1096,1388,1582,1120; //minibosslist
        set .@i7rand,rand(1,6); 
        areamonster .@map$,103,15,96,8,strmobinfo(1,.i7[.@i7rand]),.i7[.@i7rand],1,strnpcinfo(3)+"::OnMiniDead";    

     

    OnMiniDead:
        sleep2 3000;    
        set .@i,instance_id();
        instance_announce .@i,"PLAYER HASKILL "+ strcharinfo(0) +" KIll !!!",bc_map,0xFFFFFF;

     



    AND SETING ON db/re/instance

  3. if(quest_done == 1){set #Mission_Shop,#Mission_Shop + .easy_pointsY; dispbottom " Done Mission ";

    .easy_pointsY = .normal_points[rand(getarraysize(.normal_points))];
    setarray .easy_points = 3,4,5,6,7,8,9,10;

  4. a sample complete SCRIPT on my country,
    If you will continue to do it
    
    

    SCOCKET_ENCHANT

    -    shop    Q_WC    -1,13105:-1,1912:-1,1959:-1
    -    shop    Q_WB    -1,1808:-1,13166:-1,1538:-1,1955:-1
    -    shop    Q_WA    -1,1568:-1,1571:-1,1569:-1,1570:-1,1727:-1,1816:-1,1172:-1,13030:-1,1149:-1,1480:-1,1539:-1,1726:-1,1922:-1,1976:-1,1479:-1,1178:-1,1532:-1,1171:-1,1309:-1
    -    shop    Q_WS    -1,13033:-1,13400:-1,1476:-1,1180:-1,1179:-1,13019:-1,1540:-1,1418:-1,13032:-1,13016:-1,13018:-1,13031:-1,1481:-1,1266:-1,1275:-1,1278:-1,1276:-1,1277:-1
    -    shop    Q_WSS    -1,13017:-1,13033:-1
    //=========================================================================================================================================================
    -    shop    Q_AC    -1,2118:-1,5270:-1,5348:-1,5168:-1,5349:-1,12120:-1,2120:-1,5347:-1,5351:-1
    -    shop    Q_AB    -1,5298:-1,2432:-1,5299:-1,2715:-1
    -    shop    Q_AA    -1,2525:-1,2434:-1,5159:-1,2121:-1,5158:-1,5167:-1,2359:-1,5157:-1,5350:-1
    -    shop    Q_AS    -1,2349:-1,5162:-1,2671:-1,2351:-1,5163:-1,5165:-1,2373:-1,2345:-1,2372:-1,5160:-1,5375:-1,2371:-1,2360:-1,2128:-1,2347:-1,5297:-1,5166:-1,5161:-1,5164:-1,2523:-1
    -    shop    Q_ASS    -1,2204:-1,2202:-1
    
    // =============================================== Item List ===============================================
    function    script    QS_Buy    {
    // Weapon C Rank
    if(@bought_nameid == 13105) {    setarray @itemuse[0], 13104, 984, 999;                setarray @itemusemany[0], 1, 1, 3;    set @broken,40;    set @zenyuse, 200000;    }
    else if(@bought_nameid == 1912) {    setarray @itemuse[0], 1911, 984, 999;                setarray @itemusemany[0], 1, 1, 3;    set @broken,40;    set @zenyuse, 200000;    }
    else if(@bought_nameid == 1959) {    setarray @itemuse[0], 1958, 984, 999;                setarray @itemusemany[0], 1, 1, 3;    set @broken,40;    set @zenyuse, 200000;    }
    
    // Weapon B Rank
    else if(@bought_nameid == 1808) {    setarray @itemuse[0], 1807, 984, 999;                setarray @itemusemany[0], 1, 3, 5;    set @broken,30;    set @zenyuse, 300000;    }
    else if(@bought_nameid == 13166) {    setarray @itemuse[0], 13165, 984, 999;                setarray @itemusemany[0], 1, 3, 5;    set @broken,30;    set @zenyuse, 300000;    }
    else if(@bought_nameid == 1955) {    setarray @itemuse[0], 1954, 984, 999;                setarray @itemusemany[0], 1, 3, 5;    set @broken,30;    set @zenyuse, 300000;    }
    else if(@bought_nameid == 1538) {    setarray @itemuse[0], 1523, 984, 999;                    setarray @itemusemany[0], 1, 3, 5;        set @broken,30;    set @zenyuse, 300000;    }
    
    // Weapon A Rank
    else if(@bought_nameid == 1568) {    setarray @itemuse[0], 1553, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1571) {    setarray @itemuse[0], 1556, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1569) {    setarray @itemuse[0], 1554, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1570) {    setarray @itemuse[0], 1555, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1727) {    setarray @itemuse[0], 1722, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1816) {    setarray @itemuse[0], 1814, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1172) {    setarray @itemuse[0], 1163, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 13030) {    setarray @itemuse[0], 13001, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1149) {    setarray @itemuse[0], 1129, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1480) {    setarray @itemuse[0], 1474, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1539) {    setarray @itemuse[0], 1524, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1726) {    setarray @itemuse[0], 1718, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1922) {    setarray @itemuse[0], 1918, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1976) {    setarray @itemuse[0], 1970, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1479) {    setarray @itemuse[0], 1477, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1178) {    setarray @itemuse[0], 1167, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1532) {    setarray @itemuse[0], 1522, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1171) {    setarray @itemuse[0], 1168, 984, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 1309) {    setarray @itemuse[0], 1304, 1010, 999;                setarray @itemusemany[0], 1, 5, 10;    set @broken,20;    set @zenyuse, 500000;    }
    
    // Weapon S Rank
    else if(@bought_nameid == 13400) {    setarray @itemuse[0], 1135, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 1476) {    setarray @itemuse[0], 1466, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 1180) {    setarray @itemuse[0], 1166, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 1179) {    setarray @itemuse[0], 1169, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 13019) {    setarray @itemuse[0], 13002, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 1540) {    setarray @itemuse[0], 1528, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 1418) {    setarray @itemuse[0], 1413, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 13032) {    setarray @itemuse[0], 1225, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 13016) {    setarray @itemuse[0], 1239, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 13018) {    setarray @itemuse[0], 1236, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 13031) {    setarray @itemuse[0], 1224, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 1481) {    setarray @itemuse[0], 1468, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 1275) {    setarray @itemuse[0], 1256, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 1278) {    setarray @itemuse[0], 1259, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 1276) {    setarray @itemuse[0], 1257, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 1277) {    setarray @itemuse[0], 1258, 984, 999;                setarray @itemusemany[0], 1, 5, 30;    set @broken,10;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 1266) {    setarray @itemuse[0], 1261, 984, 999;                setarray @itemusemany[0], 1, 5, 30;        set @broken,10;    set @zenyuse, 1000000;    }
    
    // Weapon SS Rank
    else if(@bought_nameid == 13017) {    setarray @itemuse[0], 1230, 984, 999;                setarray @itemusemany[0], 1, 10, 50;        set @broken,5;    set @zenyuse, 2000000;    }
    else if(@bought_nameid == 13033) {    setarray @itemuse[0], 1232, 984, 999;                setarray @itemusemany[0], 1, 10, 50;    set @broken,5;    set @zenyuse, 2000000;    }
    
    //=================================================================================================================================================================================================================================
    
    // Armor C Rank
    else if(@bought_nameid == 2118) {    setarray @itemuse[0], 2118, 985, 999;                    setarray @itemusemany[0], 1, 5, 5;        set @broken,40;    set @zenyuse, 300000;    }
    else if(@bought_nameid == 5348) {    setarray @itemuse[0], 2244, 985, 999;                    setarray @itemusemany[0], 1, 5, 5;        set @broken,40;    set @zenyuse, 300000;    }
    else if(@bought_nameid == 5168) {    setarray @itemuse[0], 5046, 985, 999;                    setarray @itemusemany[0], 1, 5, 5;        set @broken,40;    set @zenyuse, 300000;    }
    else if(@bought_nameid == 5349) {    setarray @itemuse[0], 5016, 985, 999;                    setarray @itemusemany[0], 1, 5, 5;        set @broken,40;    set @zenyuse, 300000;    }
    else if(@bought_nameid == 5270) {    setarray @itemuse[0], 5189, 985, 999;                    setarray @itemusemany[0], 1, 5, 5;        set @broken,40;    set @zenyuse, 300000;    }
    else if(@bought_nameid == 2120) {    setarray @itemuse[0], 2120, 985, 999;                    setarray @itemusemany[0], 1, 5, 5;        set @broken,40;    set @zenyuse, 300000;    }
    else if(@bought_nameid == 5347) {    setarray @itemuse[0], 5012, 985, 999;                    setarray @itemusemany[0], 1, 5, 5;        set @broken,40;    set @zenyuse, 300000;    }
    else if(@bought_nameid == 5351) {    setarray @itemuse[0], 2253, 985, 999;                    setarray @itemusemany[0], 1, 5, 5;        set @broken,40;    set @zenyuse, 300000;    }
    
    // Armor B Rank
    else if(@bought_nameid == 2432) {    setarray @itemuse[0], 2409, 985, 999;                    setarray @itemusemany[0], 1, 5, 5;        set @broken,30;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 2715) {    setarray @itemuse[0], 2609, 985, 999;                    setarray @itemusemany[0], 1, 5, 5;        set @broken,30;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 5298) {    setarray @itemuse[0], 5258, 985, 999;                    setarray @itemusemany[0], 1, 5, 5;    set @broken,30;    set @zenyuse, 500000;    }
    else if(@bought_nameid == 5299) {    setarray @itemuse[0], 5263, 985, 999;                    setarray @itemusemany[0], 1, 5, 5;    set @broken,30;    set @zenyuse, 500000;    }
    
    // Armor A Rank
    else if(@bought_nameid == 5167) {    setarray @itemuse[0], 2264, 985, 999;                    setarray @itemusemany[0], 1, 5, 10;        set @broken,20;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 2434) {    setarray @itemuse[0], 2425, 985, 999;                    setarray @itemusemany[0], 1, 5, 10;        set @broken,20;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 5350) {    setarray @itemuse[0], 2287, 985, 999;                    setarray @itemusemany[0], 1, 5, 10;        set @broken,20;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 2525) {    setarray @itemuse[0], 2507, 985, 999;                    setarray @itemusemany[0], 1, 5, 10;        set @broken,20;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 5159) {    setarray @itemuse[0], 2246, 985, 999;                    setarray @itemusemany[0], 1, 5, 10;        set @broken,20;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 2121) {    setarray @itemuse[0], 2109, 985, 999;                    setarray @itemusemany[0], 1, 5, 10;        set @broken,20;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 5158) {    setarray @itemuse[0], 2251, 985, 999;                    setarray @itemusemany[0], 1, 5, 10;        set @broken,20;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 2359) {    setarray @itemuse[0], 2337, 985, 999;                    setarray @itemusemany[0], 1, 5, 10;        set @broken,20;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 5157) {    setarray @itemuse[0], 2299, 985, 999;                    setarray @itemusemany[0], 1, 5, 10;        set @broken,20;    set @zenyuse, 1000000;    }
    else if(@bought_nameid == 5271) {    setarray @itemuse[0], 5152, 985, 999;                    setarray @itemusemany[0], 1, 5, 10;        set @broken,20;    set @zenyuse, 1000000;    }
    
    // Armor S Rank
    else if(@bought_nameid == 2373) {    setarray @itemuse[0], 2327, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 2372) {    setarray @itemuse[0], 2334, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 2371) {    setarray @itemuse[0], 2339, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 2128) {    setarray @itemuse[0], 2111, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 2523) {    setarray @itemuse[0], 2522, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 2671) {    setarray @itemuse[0], 2619, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 2360) {    setarray @itemuse[0], 2343, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 5166) {    setarray @itemuse[0], 5053, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 2349) {    setarray @itemuse[0], 2348, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 5162) {    setarray @itemuse[0], 5017, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 2351) {    setarray @itemuse[0], 2350, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 5163) {    setarray @itemuse[0], 5019, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 5165) {    setarray @itemuse[0], 2235, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 2345) {    setarray @itemuse[0], 2344, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 5160) {    setarray @itemuse[0], 2256, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 2375) {    setarray @itemuse[0], 5094, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 2347) {    setarray @itemuse[0], 2343, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 5297) {    setarray @itemuse[0], 5257, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 5161) {    setarray @itemuse[0], 2258, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    else if(@bought_nameid == 5164) {    setarray @itemuse[0], 2234, 985, 999;                    setarray @itemusemany[0], 1, 10, 30;        set @broken,10;    set @zenyuse, 5000000;    }
    
    // Armor SS Rank
    else if(@bought_nameid == 2204) {    setarray @itemuse[0], 2203, 985, 999;                setarray @itemusemany[0], 1, 20, 50;    set @broken,5;    set @zenyuse, 10000000;    }
    else if(@bought_nameid == 2202) {    setarray @itemuse[0], 2201, 985, 999;                setarray @itemusemany[0], 1, 20, 50;    set @broken,5;    set @zenyuse, 10000000;    }
    
    return;
    }
    
    
    // =============== Slot Item ====================
    -    script    SlotsChanges    -1,{
    set $@tr$,"^000080[ Slot Enchant ]^000000";
    mes $@tr$;
    mes "สวัสดี :^FF0000 "+strcharinfo(0)+" ^000000 ";
    mes "ท่านต้องการเจาะรู Item ประเภทใด ?";
    next;
    switch(select("^FF0000-^000000 Weapons:^FF0000-^000000 Armors")) {
    case 1:    
    next;
    mes $@tr$;
    mes "เชิญเลือกได้เลย ";
    next;
    switch(select("^FF0000-^000000 C Rank:^FF0000-^000000 B Rank:^FF0000-^000000 A Rank:^FF0000-^000000 S Rank:^FF0000-^000000 SS Rank")) {
    case 1:    callfunc "Shop_QS","Q_WC",1;
    case 2:    callfunc "Shop_QS","Q_WB",1;
    case 3:    callfunc "Shop_QS","Q_WA",1;
    case 4:    callfunc "Shop_QS","Q_WS",1;
    case 5:    callfunc "Shop_QS","Q_WSS",1;
    }
    case 2:
    next;
    mes $@tr$;
    mes "เชิญเลือกได้เลย ";
    next;
    switch(select("^FF0000-^000000 C Rank:^FF0000-^000000 B Rank:^FF0000-^000000 A Rank:^FF0000-^000000 S Rank:^FF0000-^000000 SS Rank")) {
    case 1:    callfunc "Shop_QS","Q_AC",1;
    case 2:    callfunc "Shop_QS","Q_AB",1;
    case 3:    callfunc "Shop_QS","Q_AA",1;
    case 4:    callfunc "Shop_QS","Q_AS",1;
    case 5:    callfunc "Shop_QS","Q_ASS",1;
    }
    }
    OnBuyItem:
    callfunc "QS_ItemBuy";
    end;
    }
    
    // ============================================ Function Run Shop ===========================================
    
    function    script    Shop_QS    {    npcshopattach getarg(0),1;    close2;    callshop getarg(0),getarg(1);    end;    }
    
    // ============================================ Function Check Item ==========================================
    function    script    QS_ItemBuy    {
    for (set .@g,0; .@g < getarraysize(@bought_nameid); set .@g,.@g+1) {
        sleep2 1;
        set @bought_nameid,@bought_nameid[.@g];
        deletearray @itemuse[0],getarraysize(@itemuse);
        deletearray @itemusemany[0],getarraysize(@itemusemany);
        set @broken,0;    set @zenyuse, 0;
        callfunc "QS_Buy";
            if(@itemuse[0] <= 0)    goto check;    
                set .@r,0;    set .@up,0;    set @itemgetmany,0;
                for( set .@r,0; .@r < getarraysize(@itemuse); set .@r,.@r+1 ) {
                    if(.@up >= getarraysize(@itemuse)) break;
                    set .@itemup[.@up], countitem(@itemuse[.@up])/@itemusemany[.@up];
                    if(.@up == 0) set @itemgetmany,.@itemup[.@up];
                    if(@itemgetmany > .@itemup[.@up]) set @itemgetmany,.@itemup[.@up];
                    set .@up,.@up+1;
                    continue;
                }
    check:    
        dispbottom "=============================================";
            if(@itemuse[0] <= 0){
                if (0 == getitemslots( @bought_nameid[.@g])){    dispbottom "ในขณะนี้ "+getitemname(@bought_nameid[.@g])+" ไม่มี Quest ให้แลก";    }
                if (1 <= getitemslots( @bought_nameid[.@g])){    dispbottom "ในขณะนี้ "+getitemname(@bought_nameid[.@g])+" ["+getitemslots( @bought_nameid[.@g])+"] ไม่มี Quest ให้แลก";    }
            }
            else if (@itemgetmany == 0){
                if (0 == getitemslots( @bought_nameid[.@g])){    dispbottom "Item ที่ต้องการแลกกับ "+getitemname(@bought_nameid[.@g])+" จำนวน 1 ea";    }
                if (1 <= getitemslots( @bought_nameid[.@g])){    dispbottom "Item ที่ต้องการแลกกับ "+getitemname(@bought_nameid[.@g])+" ["+getitemslots( @bought_nameid[.@g])+"] จำนวน 1 ea";    }
                set .@d,0;
                for( set .@i,0; .@i < getarraysize(@itemuse); set .@i,.@i+1 ) {
                    if(.@d >= getarraysize(@itemuse)) break;
                    if (0 == getitemslots( @itemuse[.@d])){    dispbottom " "+(.@d+1)+"> "+getitemname(@itemuse[.@d])+" จำนวน "+@itemusemany[.@d]+" ea";    }
                    if (1 <= getitemslots( @itemuse[.@d])){    dispbottom " "+(.@d+1)+"> "+getitemname(@itemuse[.@d])+" ["+getitemslots( @itemuse[.@d])+"] จำนวน "+@itemusemany[.@d]+" ea";    }
                    set .@d,.@d+1;
                    continue;
                }
                if(@broken != 0) {    set .@failmake,100-@broken;    dispbottom " --> มีโอกาสเสียหาย  "+.@failmake+" % ";    }
                if(@zenyuse != 0) {    dispbottom    "และใช้เงินจำนวน  "+ @zenyuse +" Zeny";    }
            }
            else if (@bought_quantity[.@g] > @itemgetmany){
                dispbottom "จาก Item ที่ท่านมี ท่านสามารถแลก "+getitemname(@bought_nameid[.@g])+" ได้ไม่เกิน  "+@itemgetmany+" ea ";
            }
            else if (Zeny < (@zenyuse*@bought_quantity[.@g])){    
                if (@bought_quantity[.@g] == 1)    dispbottom "เงินที่ท่านเตรียมมามีไม่พอ ต้องใช้เงินจำนวน  "+@zenyuse+" Zeny ในการแลก "+getitemname(@bought_nameid[.@g])+"";
                else if (@bought_quantity[.@g] >= 2)    dispbottom "เงินที่ท่านเตรียมมามีไม่พอ ต้องใช้เงินจำนวน  "+(@zenyuse*@bought_quantity[.@g])+" Zeny ในการแลก "+getitemname(@bought_nameid[.@g])+" จำนวน "+@bought_quantity[.@g]+" ea";
            }
            else if ((@bought_quantity[.@g] <= @itemgetmany) && (Zeny >= (@zenyuse*@bought_quantity[.@g]))){
                set .@r,0;    set .@up,0;
                for( set .@r,0; .@r < getarraysize(@itemuse); set .@r,.@r+1 ) {
                    if(.@up >= getarraysize(@itemuse)) break;
                    delitem @itemuse[.@up],@itemusemany[.@up]*@bought_quantity[.@g];
                    dispbottom "-> "+getitemname(@itemuse[.@up])+" ได้ถูกนำไปใช้จำนวน "+(@itemusemany[.@up]*@bought_quantity[.@g])+" ea";
                    set .@up,.@up+1;
                    continue;
                }
                if(@zenyuse != 0) {    
                    set Zeny,(Zeny-@zenyuse*@bought_quantity[.@g]);
                    dispbottom "-> เงินได้ถูกนำไปใช้จำนวน "+(@zenyuse*@bought_quantity[.@g])+" zeny";
                }
                if(@broken != 0) {    
                    set .@RTget,rand(1,100);
                    if(@broken < .@RTget) {
                        emotion 23;
                        specialeffect2 155;
                        dispbottom "ก๊อง ก๊อง ก๊อง ... !!";
                        dispbottom "การเจาะรู "+getitemname(@bought_nameid[.@g])+" ["+getitemslots( @bought_nameid[.@g])+"] ล้มเหลว เสียใจด้วย ... !!";
                        set @bought_quantity[.@g],0;
                    }
                    if(@broken >= .@RTget) {
                        emotion 21;
                        specialeffect2 154;
                        dispbottom "ก๊อง ก๊อง ก๊อง ... !!";
                        dispbottom "การเจาะรู "+getitemname(@bought_nameid[.@g])+" ["+getitemslots( @bought_nameid[.@g])+"] เสร็จสมบูรณ์ ... !!";
                    }
                } 
                if(@broken == 0) {
                    emotion 33;
                    specialeffect2 488;
                }
                getitem @bought_nameid[.@g],@bought_quantity[.@g];
            }
    }
    dispbottom "=============================================";
    deletearray @bought_nameid[0],getarraysize(@bought_nameid);
    deletearray @bought_quantity[0],getarraysize(@bought_quantity);
    deletearray @itemuse[0],getarraysize(@itemuse);
    deletearray @itemusemany[0],getarraysize(@itemusemany);
    set @broken,0;    set @zenyuse, 0;
    end;
    }
    
    morocc,191,144,6    duplicate(SlotsChanges)    Slot Enchant#moc    475

     

     

     

    QUEST ITEM SHOP

     

    Quote

     

    -    script    Wing Craft::wingcraft    2004,{
    callfunc "Shop_QA","QA_Wing_A",1;
    end;

    OnBuyItem:
    callfunc "QA_ItemBuy";

    OnSellItem:
    callfunc "QA_ItemSell";

    }

    -    shop    QA_Wing_A    -1,7079:10,20500:10,20764:10,20746:10

    function    script    QA_Buy    {
    if(@bought_nameid == 7079) {        setarray @itemuse[0], 7063, 7510, 7083;        setarray @itemusemany[0], 100, 1, 1;                }
    else if(@bought_nameid == 20500) {    setarray @itemuse[0], 7845, 61004, 7079;                setarray @itemusemany[0], 1, 5, 20;                        }
    else if(@bought_nameid == 20764) {    setarray @itemuse[0], 7846, 61004, 7079;                setarray @itemusemany[0], 1, 5, 20;                        }
    else if(@bought_nameid == 20746) {    setarray @itemuse[0], 7847, 61004, 7079;                setarray @itemusemany[0], 1, 5, 20;                        }
    return;
    }

    //========================[NPC-POSITION]============================
    morocc,139,140,8    duplicate(wingcraft)     #mor    844
    //==========================[FUNCTION]==============================

    function    script    Shop_QA_2    {
        npcshopattach getarg(0),1;        
        callshop getarg(0),getarg(1);
        end;    
    }

    function    script    Shop_QA    {
        npcshopattach getarg(0),1;
        cutin "",255;
        callshop getarg(0),getarg(1);
        end;
    }

    function    script    QA_ItemBuy    {
    for (set .@g,0; .@g < getarraysize(@bought_nameid); set .@g,.@g+1) {
        sleep2 1;
        set @bought_nameid,@bought_nameid[.@g];
        deletearray @itemuse[0],getarraysize(@itemuse);
        deletearray @itemusemany[0],getarraysize(@itemusemany);
        set @broken,0;    set @zenyuse, 0;
        callfunc "QA_Buy";
            if(@itemuse[0] <= 0)    goto check;    
                set .@r,0;    set .@up,0;    set @itemgetmany,0;
                for( set .@r,0; .@r < getarraysize(@itemuse); set .@r,.@r+1 ) {
                    if(.@up >= getarraysize(@itemuse)) break;
                    set .@itemup[.@up], countitem(@itemuse[.@up])/@itemusemany[.@up];
                    if(.@up == 0) set @itemgetmany,.@itemup[.@up];
                    if(@itemgetmany > .@itemup[.@up]) set @itemgetmany,.@itemup[.@up];
                    set .@up,.@up+1;
                    continue;
                }
    check:    
        dispbottom "=============================================";
            if(@itemuse[0] <= 0){
                if (0 == getitemslots( @bought_nameid[.@g])){    dispbottom "ในขณะนี้ "+getitemname(@bought_nameid[.@g])+" ไม่มี Quest ให้แลก";    }
                if (1 <= getitemslots( @bought_nameid[.@g])){    dispbottom "ในขณะนี้ "+getitemname(@bought_nameid[.@g])+" ["+getitemslots( @bought_nameid[.@g])+"] ไม่มี Quest ให้แลก";    }
            }
            else if (@itemgetmany == 0){
                if (0 == getitemslots( @bought_nameid[.@g])){    dispbottom "Item ที่ต้องการแลกกับ "+getitemname(@bought_nameid[.@g])+" จำนวน 1 ea";    }
                if (1 <= getitemslots( @bought_nameid[.@g])){    dispbottom "Item ที่ต้องการแลกกับ "+getitemname(@bought_nameid[.@g])+" ["+getitemslots( @bought_nameid[.@g])+"] จำนวน 1 ea";    }
                set .@d,0;
                for( set .@i,0; .@i < getarraysize(@itemuse); set .@i,.@i+1 ) {
                    if(.@d >= getarraysize(@itemuse)) break;
                    if (0 == getitemslots( @itemuse[.@d])){    dispbottom " "+(.@d+1)+"> "+getitemname(@itemuse[.@d])+" จำนวน "+@itemusemany[.@d]+" ea";    }
                    if (1 <= getitemslots( @itemuse[.@d])){    dispbottom " "+(.@d+1)+"> "+getitemname(@itemuse[.@d])+" ["+getitemslots( @itemuse[.@d])+"] จำนวน "+@itemusemany[.@d]+" ea";    }
                    set .@d,.@d+1;
                    continue;
                }
                if(@broken != 0) {    set .@failmake,100-@broken;    dispbottom " --> มีโอกาสเสียหาย  "+.@failmake+" % ";    }
                if(@zenyuse != 0) {    dispbottom    "และใช้เงินจำนวน  "+ @zenyuse +" Zeny";    }
            }
            else if (@bought_quantity[.@g] > @itemgetmany){
                dispbottom "จาก Item ที่ท่านมี ท่านสามารถแลก "+getitemname(@bought_nameid[.@g])+" ได้ไม่เกิน  "+@itemgetmany+" ea ";
            }
            else if (Zeny < (@zenyuse*@bought_quantity[.@g])){    
                if (@bought_quantity[.@g] == 1)    dispbottom "เงินที่ท่านเตรียมมามีไม่พอ ต้องใช้เงินจำนวน  "+@zenyuse+" Zeny ในการแลก "+getitemname(@bought_nameid[.@g])+"";
                else if (@bought_quantity[.@g] >= 2)    dispbottom "เงินที่ท่านเตรียมมามีไม่พอ ต้องใช้เงินจำนวน  "+(@zenyuse*@bought_quantity[.@g])+" Zeny ในการแลก "+getitemname(@bought_nameid[.@g])+" จำนวน "+@bought_quantity[.@g]+" ea";
            }
            else if ((@bought_quantity[.@g] <= @itemgetmany) && (Zeny >= (@zenyuse*@bought_quantity[.@g]))){
                set .@r,0;    set .@up,0;
                for( set .@r,0; .@r < getarraysize(@itemuse); set .@r,.@r+1 ) {
                    if(.@up >= getarraysize(@itemuse)) break;
                    delitem @itemuse[.@up],@itemusemany[.@up]*@bought_quantity[.@g];
                    dispbottom "-> "+getitemname(@itemuse[.@up])+" ได้ถูกนำไปใช้จำนวน "+(@itemusemany[.@up]*@bought_quantity[.@g])+" ea";
                    set .@up,.@up+1;
                    continue;
                }
                if(@zenyuse != 0) {    
                    set Zeny,(Zeny-@zenyuse*@bought_quantity[.@g]);
                    dispbottom "-> เงินได้ถูกนำไปใช้จำนวน "+(@zenyuse*@bought_quantity[.@g])+" zeny";
                }
                if(@broken != 0) {    
                    set .@RTget,rand(1,100);
                    if(@broken < .@RTget) {
                        emotion 23;
                        specialeffect2 155;
                        dispbottom "Gang Gang Gang  Boommmm !!";
                        dispbottom "การเจาะรู "+getitemname(@bought_nameid[.@g])+" ["+getitemslots( @bought_nameid[.@g])+"] ล้มเหลว เสียใจด้วย !!";
                        set @bought_quantity[.@g],0;
                    }
                    if(@broken >= .@RTget) {
                        emotion 21;
                        specialeffect2 154;
                        dispbottom "Gang Gang Gang  Gang !!";
                        dispbottom "การเจาะรู "+getitemname(@bought_nameid[.@g])+" ["+getitemslots( @bought_nameid[.@g])+"] เสร็จสมบูรณ์  !!";
                    }
                } 
                if(@broken == 0) {
                    emotion 33;
                    specialeffect2 488;
                }
                getitem @bought_nameid[.@g],@bought_quantity[.@g];
            }
    }
    dispbottom "=============================================";
    deletearray @bought_nameid[0],getarraysize(@bought_nameid);
    deletearray @bought_quantity[0],getarraysize(@bought_quantity);
    deletearray @itemuse[0],getarraysize(@itemuse);
    deletearray @itemusemany[0],getarraysize(@itemusemany);
    set @broken,0;    set @zenyuse, 0;
    end;
    }

    function    script    QA_ItemSell    {
    set Zeny, @zenyold;
    for (set .@g,0; .@g < getarraysize(@sold_nameid); set .@g,.@g+1) {
        sleep2 1;
        set @sold_nameid,@sold_nameid[.@g];
        set @itemuse,0;    set @itemget,0;    set @zenyuse, 0;
        callfunc "QA_Sell";
            if(@itemuse <= 0)    goto check;
                set @itemgetmany, @sold_quantity[.@g]/@itemuse;
    check:    
        dispbottom "=============================================";
            if(@itemuse <= 0){    
                getitem @sold_nameid[.@g],@sold_quantity[.@g];
                dispbottom "สามารถรวม Elunium กับ Oridecon และทำ Quiver Milk กับ 17 Caratได้เท่านั้น";    
            }
            else if (@itemgetmany == 0){
                getitem @sold_nameid[.@g],@sold_quantity[.@g];
                dispbottom "ต้องใช้ "+getitemname(@sold_nameid[.@g])+" อย่างน้อย "+@itemuse+" ea ในการแลก "+getitemname(@itemget)+"";
                if(@zenyuse != 0) {    dispbottom    "และใช้เงินจำนวน  "+ @zenyuse +" Zeny";    }
            }
            else if (Zeny < (@zenyuse*@itemgetmany)){
                getitem @sold_nameid[.@g],@sold_quantity[.@g];
                dispbottom "เงินที่ท่านเตรียมมามีไม่พอ ต้องใช้เงินจำนวน  "+(@zenyuse*@itemgetmany)+" Zeny ในการแลก "+getitemname(@itemget)+" จำนวน "+@itemgetmany+" ea";
            }
            else if ((1 <= @itemgetmany) && (Zeny >= (@zenyuse*@itemgetmany))){
                delitem @sold_nameid[.@g],@itemuse*@itemgetmany;
                dispbottom "-> "+getitemname(@sold_nameid[.@g])+" ได้ถูกนำไปใช้จำนวน "+(@itemuse*@itemgetmany)+" ea";
                if(@zenyuse != 0){
                    set Zeny,(Zeny-@zenyuse*@itemgetmany);
                    dispbottom "-> เงินได้ถูกนำไปใช้จำนวน "+(@zenyuse*@itemgetmany)+" zeny";            
                }
                getitem @sold_nameid[.@g],@sold_quantity[.@g]-@itemuse*@itemgetmany;
                getitem @itemget,@itemgetmany;
            }
    }
    dispbottom "=============================================";
    deletearray @sold_nameid[0],getarraysize(@sold_nameid);
    deletearray @sold_quantity[0],getarraysize(@sold_quantity);
    set @itemuse,0;    set @itemget,0;    set @zenyuse, 0;
    end;
    }

     

     

  5. 15 minutes ago, sader1992 said:

    well if there is a bug you can report it in rathena's github

    also you can use npc shop to use cash shop and disable the cash shop

    check it out

    https://github.com/rathena/rathena/blob/ce1508a01c68dee80544242b470987742f3b3ece/doc/script_commands.txt#L283

    Thank you very much for this link script command ,this so help me for write new script, thank you very much.

  6. 22 hours ago, sader1992 said:

    without src edit , i don't think you can

    Moved to the Source Requests section

    in-case you really want it

    That would be difficult and a new Script in game for creating this script T ^ T

    Initially, I think that will callfunc like UI Refine NPC.

    but it source of src. section

    For my country, it is not possible to use npc Cash shop as usual due to being hacked by players.
×
×
  • Create New...