-
Posts
15 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by monyet
-
-
2 hours ago, Racaae said:
Halo
//===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6c //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.2 Added category support. //= 1.3 More options and fixes. //= 1.4 Added debug settings. //= 1.5 Replaced categories with shop IDs. //= 1.6 Added support for purchasing stackables. //= 1.6a Added support for previewing costumes and robes. //= 1.6b Added 'disable_items' command. //= 1.6c Replaced function 'A_An' with "F_InsertArticle". //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; // ADD YOUR NPC HERE //============================================================ prontera,152,180,5 script NamaNPC 4_F_JPN2,{ callfunc "qshop",1; } //============================================================ // Script Core - DO NOT DUPLICATE THIS NPC !!!!!!!!!!!!! //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time. .SkipShop = true; // Ignore shop window .Chance = 80; // Success chance // ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0], "#CASHPOINTS", "Cash Points"; //===================================================================================== // ------------------- ADD YOUR SHOPS NAME AND ITEMS SHOPS STARTING HERE -------------- //===================================================================================== // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1], "Food", // Shop Named 1 "Other"; // Shop Named 2 // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- // Shop 1 Add(1,12046,1,0,0,501,2,514,3); Add(1,12061,1,0,0,501,1,514,2,518,1); Add(1,12047,1,0,0,507,10,508,10,510,5); Add(1,12048,1,0,0,509,10,518,2,7452,1); Add(1,12044,1,0,0,507,3,508,2,511,3,568,1,517,5,7453,1); Add(1,12065,1,0,0,520,2,521,3,7100,10,7198,6,7453,1,7452,1); Add(1,12060,1,0,0,7006,20,520,10,507,10,1062,20,7482,1); Add(1,12055,1,0,0,553,20,508,10,511,20,7455,1,7456,1); // ----------------------------------------------------------- //===================================================================================== // ------------------- YOUR SHOPS AND ITEMS SHOPS HAVE BEEN ADDED --------------------- //===================================================================================== freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set @shop_index, select(.menu$); else if (.@size == 1) set @shop_index, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set @shop_index, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[@shop_index] == "") { message strcharinfo(0),"An error has occurred."; end; } if (!.SkipShop) { dispbottom "Select one item at a time."; callshop "qshop"+@shop_index,1; npcshopattach "qshop"+@shop_index; end; } mes "[NamaNPC]"; mes "Halo, Aku adalah NPC contoh."; mes "Apa yang ingin kamu buat?"; //for (.@i = 0;.@i < getarraysize(getd(".q_list_"+@shop_index));.@i++) // mes "- " + mesitemlink(getd(".q_list_"+@shop_index+"["+ .@i + "]")); .@menu$ = ""; for (.@i = 0;.@i < getarraysize(getd(".q_list_"+@shop_index));.@i++) .@menu$ += getitemname(getd(".q_list_"+@shop_index+"["+ .@i + "]")) + ":"; .@s = select(.@menu$) - 1; setarray .@q[0],getd(".q_list_"+@shop_index+"["+ .@s + "]"),1; copyarray .@q[3],getd(".q_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@q[0])); clear; OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } if (!.SkipShop) { setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@q[0])); } mes "[NamaNPC]"; set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { mes "You can't purchase that many "+getitemname(.@q[0])+"."; close; } mes "Untuk membuat"; //mes "^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"") + mesitemlink(.@q[0]) + "^000000, kamu membutuhkan:"; disable_items; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) { for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) { //mes (.@q[.@i+2]?"":"dan ") + Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000" + (.@q[.@i+2]?",":"."); mes (.@q[.@i+2]?"":"dan ") + Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+mesitemlink(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000" + (.@q[.@i+2]?",":"."); } } setarray @qe[1], getiteminfo(.@q[0], ITEMINFO_LOCATIONS), getiteminfo(.@q[0], ITEMINFO_VIEW); if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT))) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select("Membuat ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+":^777777Membatalkan^000000")) { case 1: mes "[NamaNPC]"; if (@qe[0]) { mes "Kamu tidak memiliki bahan yang cukup."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0], ITEMINFO_WEIGHT))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; if (rand(100) >= .Chance) { mes "Pembuatan " + getitemname(.@q[0]) + " gagal!"; close; } getitem .@q[0],.@q[2]; mes "Berhasil membuat " + getitemname(.@q[0]) + "!"; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; break; case 3: close; } } OnEnd: if (@qe[7]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; changelook LOOK_ROBE, @qe[6]; } deletearray @qe[0],8; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(0)+"_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); .@ii = getarraysize(getd(".q_list_"+getarg(0))); setarray getd(".q_list_"+getarg(0)+"["+.@ii+"]"),getarg(1); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe[0],1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0), ITEMINFO_TYPE) == 4 || getiteminfo(getarg(0), ITEMINFO_TYPE) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } } function script qshop { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop qshop1 -1,909:-1 - shop qshop2 -1,909:-1
Temukan bagian ini untuk menambahkan lebih banyak item:
Add(1,12046,1,0,0,501,2,514,3); Add(1,12061,1,0,0,501,1,514,2,518,1); Add(1,12047,1,0,0,507,10,508,10,510,5); Add(1,12048,1,0,0,509,10,518,2,7452,1); Add(1,12044,1,0,0,507,3,508,2,511,3,568,1,517,5,7453,1); Add(1,12065,1,0,0,520,2,521,3,7100,10,7198,6,7453,1,7452,1); Add(1,12060,1,0,0,7006,20,520,10,507,10,1062,20,7482,1); Add(1,12055,1,0,0,553,20,508,10,511,20,7455,1,7456,1);
terimakasih banyak saya bisa menambah pengetahuan saya soal scriptnya
1 hour ago, Harvin said:menurut saya dengan teknik dasar itu sudah cukup bagus, ya walau pengulangan yg harus anda lakukan adalah kelemahannya.
untuk teknik yg lebih advanced pengulangan code dapat di hilangkan seperti yg disebutkan di atas hanya butuh menambah beberapa line semua beres sebagain new entry.
walau ada sedikit perbedaan jika langsung menggunakan equphy quest shop untuk script yg anda lampirkan di atas, anda akan kehilangan aspect chance.
ok saya akan praktekan, saya sangat terbantu sekali dengan penjelasannya
-
bagaimana script saya yang ini apakah bisa di buat lebih sederhana lagi ?
Quoteprontera,152,180,5 script NamaNPC 757,{
mes "Halo, Aku adalah NPC contoh.";
mes "Apa yang ingin kamu buat?";
switch(select("Grape Juice Herbal Tea:Honey Grape Juice:Autumn Red Tea:Honey Herbal Tea:Herb Marinade Beef:Green Salad:Steamed Bat Wing in Pumpkin:Spicy Fried Bao")) {
case 1:
mes "Untuk membuat Grape Juice Herbal Tea, kamu membutuhkan: 2 Red Potion dan 3 Grape.";
if (countitem(501) >= 2 && countitem(514) >= 3) {
delitem(501, 2);
delitem(514, 3);
if (rand(100) < 80) {
getitem(12046, 1);
mes "Berhasil membuat Grape Juice Herbal Tea!";
} else {
mes "Pembuatan Grape Juice Herbal Tea gagal!";
}
} else mes "Kamu tidak memiliki bahan yang cukup.";
break;
case 2:
mes "Untuk membuat Honey Grape Juice, kamu membutuhkan: 1 Red Potion, 2 Grape, dan 1 Honey.";
if (countitem(501) >= 1 && countitem(514) >= 2 && countitem(518) >= 1) {
delitem(501, 1);
delitem(514, 2);
delitem(518, 1);
if (rand(100) < 80) {
getitem(12061, 1);
mes "Berhasil membuat Honey Grape Juice!";
} else {
mes "Pembuatan Honey Grape Juice gagal!";
}
} else mes "Kamu tidak memiliki bahan yang cukup.";
break;
case 3:
mes "Untuk membuat Autumn Red Tea, kamu membutuhkan: 10 Red Herb, 10 Yellow Herb, dan 5 Blue Herb.";
if (countitem(507) >= 10 && countitem(508) >= 10 && countitem(510) >= 5) {
delitem(507, 10);
delitem(508, 10);
delitem(510, 5);
if (rand(100) < 80) {
getitem(12047, 1);
mes "Berhasil membuat Autumn Red Tea!";
} else {
mes "Pembuatan Autumn Red Tea gagal!";
}
} else mes "Kamu tidak memiliki bahan yang cukup.";
break;
case 4:
mes "Untuk membuat Honey Herbal Tea, kamu membutuhkan: 10 White Herb, 2 Honey, dan 1 Yellow Spice.";
if (countitem(509) >= 10 && countitem(518) >= 2 && countitem(7452) >= 1) {
delitem(509, 10);
delitem(518, 2);
delitem(7452, 1);
if (rand(100) < 80) {
getitem(12048, 1);
mes "Berhasil membuat Honey Herbal Tea!";
} else {
mes "Pembuatan Honey Herbal Tea gagal!";
}
} else mes "Kamu tidak memiliki bahan yang cukup.";
break;
// jika setiap menambah item baru saya akan menambah lagi maksudnya mengulang ulang script lagi apa ada cara lain kah ?
}
close;
}
-
13 hours ago, Harvin said:
ini bisa saja di lakukan dengan advanced script technique, anda bisa ambil referensi dari euphy script (quest shop) yg menggunakan dynamic variable setter dan getter dengan script command setd dan getd.
memang agak sedikit sulit, jika anda ingin mencobanya bisa saja.saya rasa, saya mencoba yang dasar dulu saja >.< dan pelan pelan step by step
-
36 minutes ago, hendra814 said:
mungkin bisa contek script ini
aku akan mencobanya XD
-
28 minutes ago, hendra814 said:
ini buat script untuk player bisa buat quest untuk dikerjakan player lain?
bener jadi player nanti melihat kan dari semua perusahaan terdaftar mana yang paling banyak memberikan gaji , nah player sebagai pekerja dia akan memainkan mini game contohnya roulet atau tiktakto ataupun yang lain untuk minigamenya. Hingga nanti uang deposit yang di masukan oleh player selaku owner perusahaan habis uangnya dan ia wajib mengisi kembali ke npc tersebut
-
5 minutes ago, hendra814 said:
Dear @monyet
setau saya tidak bisa, kalau mau pakai item lain harus dibuat ulang dan diganti item ID nya.
ok deh kalo begitu, sekarang lagi nyoba script selanjutnya
NPC Embiroc Factory // namanya XD
- saat berinteraksi NPC , NPC akan meminta nama perusahaan
- Npc akan meminta barang apa yang hendak di produksi ( sesuai dengan list item yang tersedia )
- Deposit zeni untuk membayar gaji Karyawan ( karyawan disini adalah player lain )
- Bisa melihat list Perusahaan berapa gaji yang di berikan ( untuk pekerja )
- Item hasil produksi akan di kirim lewat E-mail
- Karyawan mendapatkan gaji setelah dia selesai main mini game ( rencana menggunakan slot machine )
- Item hasil produksi itu random
- Perusahaan yang bisa di daftarkan 1 player 1 aja, trus untuk ke seluruhan hanya ada 30 slot
- pajak penghasilan tiap minggu berubah max 11 persen
- jumblah hasil prokduksi random
- Barang hasil produksi bisa di jual ke player lain, npc , atau npc Eden Group
rencananya si gitu ternyata sulit juga buatnya tapi tetap gw lakuin, dan nanti mohon bantuanya dalam koreksi ^^ Hendra dan Harvin -
Terimakasih banyak @hendra814 udah sangat terbantu
Apakah mungkin jika npcnya saya cloning dan npc yang lain bisa jual item yagn berbeda ? -
apa yang anda perbaiki saya sangat terlolong dan sangat berterimakasih, lalu disini saya menambhakn beberapa script untuk broadcaster global setiap perubahan harga item dengan script sebagai brikut :
prontera,158,180,4 script Pedagang Grup Eden 100,{ mes "[VRO Asisten]"; mes "Halo! Apakah kamu ingin menjual Jellopy padaku? Saya membayar harga yang berbeda tergantung waktu!"; next; // Tampilkan harga yang saat ini ditawarkan mes "Saat ini, saya akan membeli Jellopy seharga "+.selected_price+" Zeny per buah."; announce "Pedagang Grup Eden: Harga Jellopy saat ini adalah " + .selected_price + " Zeny per buah!", bc_all; // Mengumumkan harga kepada semua pemain next; if (countitem(909) < 1) { mes "Tampaknya kamu tidak memiliki Jellopy!"; close; } mes "Berapa banyak Jellopy yang ingin kamu jual?"; .@selected_price = .selected_price; // Preserve price during user interaction input .@amount; if (.@amount <= 0 || .@amount > countitem(909)) { mes "Mohon masukkan jumlah yang valid!"; close; } .@total_price = .@amount * .selected_price; mes "Kamu akan mendapatkan "+ .@total_price +" Zeny untuk "+ .@amount +" Jellopy."; next; .@s = select("Jual:Ya,Tidak"); if (.@s == 1) { if (.@selected_price != .selected_price) { mes "Harga telah berubah, silahkan coba lagi!"; close; } delitem 909, .@amount; // Hapus Jellopy dari inventory pemain Zeny += .@total_price; // Berikan Zeny kepada pemain mes "Terima kasih telah menjual Jellopy-mu!"; } else { mes "Mungkin lain waktu!"; } close; OnInit: .selected_price = rand(1, 500); // Inisialisasi harga secara acak antara 1 dan 500 Zeny announce "Pedagang Grup Eden: Harga Jellopy saat ini adalah " + .selected_price + " Zeny per buah!", bc_all; // Mengumumkan harga awal kepada semua pemain initnpctimer(); end; OnTimer900000: // Perbarui harga setiap 15 menit. stopnpctimer(); .selected_price = rand(1, 500); announce "Pedagang Grup Eden: Harga Jellopy telah berubah! Harga baru adalah " + .selected_price + " Zeny per buah!", bc_all; initnpctimer(); end; }
tapi disini setelah saya coba, setiap saya klick npc akan broadcast harganya, dan saya ingin disini walau player berinteraksi dengan NPC tidak akan broadcast berapa harga saat ini kecuali saat harga berubah saja, tolong bantu saya dimana salahnya.
-
prontera,158,180,4 script VRO Asisten 100,{
// Inisialisasi
setarray .price[0], 10, 20, 30; // Array harga yang mungkin
mes "[VRO Asisten]";
mes "Halo! Apakah kamu ingin menjual Jellopy padaku? Saya membayar harga yang berbeda tergantung waktu!";
next;// Menetapkan harga acak dari array .price
set .selected_price, .price[rand(getarraysize(.price))];// Tampilkan harga yang saat ini ditawarkan
mes "Saat ini, saya akan membeli Jellopy seharga "+.selected_price+" Zeny per buah.";
next;// Cek apakah pemain memiliki Jellopy
if (countitem(909) > 0) {
mes "Berapa banyak Jellopy yang ingin kamu jual?";
input .amount;
if (.amount > 0 && .amount <= countitem(909)) {
// Hitung total zeny yang akan diterima pemain
.total_price = .amount * .selected_price;
mes "Kamu akan mendapatkan "+.total_price+" Zeny untuk "+.amount+" Jellopy.";
next;
if (select("Jual:Ya,Tidak") == 1) {
// Konfirmasi penjualan dan transaksi
delitem 909, .amount; // Hapus Jellopy dari inventory pemain
zeny += .total_price; // Berikan Zeny kepada pemain
mes "Terima kasih telah menjual Jellopy-mu!";
} else {
mes "Mungkin lain waktu!";
}
} else {
mes "Mohon masukkan jumlah yang valid!";
}
} else {
mes "Tampaknya kamu tidak memiliki Jellopy!";
}
close;
}
1. Disini saya pengen NPC akan merubah harga setiap 15 menit sekali sesuai waktu server2. Di mapserv consol have error npc_event: event not found [VRO asisten: :OnTimerUpdatePrice] Maksudnya ini apa ya dan apa disini maksudnya kita harus membuat npc_event kah ? atau bagaimana ?
Atas perhatianya terimakasih -
-
i have problem if im add friend at game and my char disconnect and then at my map server have warning like this : how to fix it
[Warning]: clif_parse: Received unsupported packet (packet 0x7461, 20 bytes received), disconnecting session #4.
[info]: Character 'Phearl' logged off.
[info]: 'Elise' logged in. (AID/CID: '2000004/150006', Packet Ver: '38', IP: '127.0.0.1', Group '0').
[Warning]: clif_parse: Received unsupported packet (packet 0x7461, 20 bytes received), disconnecting session #4.
[info]: Character 'Elise' logged off.
[info]: Character 'Kenwatanabe' logged off.
[Warning]: clif_parse: Received unsupported packet (packet 0x7461, 20 bytes received), disconnecting session #3.
[info]: Character 'Elise' logged off.
[info]: Character 'Kenwatanabe' logged off. -
semua atau hanya ada beberapa saja di file lua yang kita translate ??
-
Begini saya menggunakan KRO nah mengikuti tutorial dari
kemudian disini yang saya tanyakan saya mau rubah client saya ke Bhs indonesia itu gimana caranya agar semua yang ada di dalam game menjadi bahasa indonesia?? mohon pencerahanya
-
My problem is :
Help me please
[ Showcase ] Fishing Rod
in Script Showcase
Posted
share plase for free :3