Ragnarok Crew Discussion
Ragnarok Crew Discussion
Ragnarok Crew Discussion
Would you like to react to this message? Create an account in a few clicks or log in to continue.

Ragnarok Crew Discussion

Discuss topics about ways in making/running Ragnarok server and get the required database server/client and also custom made ( Item/Map/Web Template/Monster/and more else).
 
HomeHome  Latest imagesLatest images  RegisterRegister  Log inLog in  

 

 Item Rewards

Go down 
AuthorMessage
AirVine-X
Poring
Poring
AirVine-X


Posts : 62
Join date : 25/02/2013

Item Rewards Empty
PostSubject: Item Rewards   Item Rewards I_icon_minitimeThu Jun 20, 2013 4:12 pm

NPC agak mudah yang membolehkan GM untuk menambah ganjaran item untuk pemain. Satu-satunya versi yang saya dapati diperlukan jadual SQL baru yang akan diwujudkan, yang saya rasa tidak perlu untuk sesuatu yang asas. Jadi saya membuat saya sendiri ~

Berikut adalah bagaimana ia berfungsi:
Mana-mana GM di atas paras xx boleh menambah dan membuang item ganjaran untuk pemain. Satu sistem pembalakan dimasukkan.
A "pakej" yang telah ditetapkan barangan diberikan kepada pemain. Anda boleh membuat apa-apa jumlah pakej yang berbeza. (Ini juga membantu untuk mencegah penyalahgunaan.)
Pemain klik pada NPC untuk menerima ganjaran mereka. Terdapat berat dan cek inventori.
Changelog:
v1.8: Script mampat menggunakan getd (banyak yang kurang konfigurasi pengguna); pemain kini belum dimaklumkan mengenai ganjaran.
v1.5: Added pembalakan, dan warna yang cantik!
v1.2: Ditambah pilihan konfigurasi, berat / inventori cek lebih baik, lebih mesra pengguna secara umum.
v1.0: skrip awal.

//===== eAthena Script =======================================
//= Item Rewards NPC
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.8
//===== Description: =========================================
//= Useful for event rewards, when a player is not necessarily online.
//= Logging is available, if needed (holds 128 names).
//= Note: Unclaimed rewards are limited to 64 at a time.
//============================================================

prontera,156,195,6 script Item Rewards 836,{

// --------------------- Config ---------------------
// Package format is "ID1,Count1,ID2,Count2,..."
// GM Access: Level required to open the GM menu.
// GM Delete: Level required to erase entries.
// GM Logging: Level required to manage logs.

set .GMAccess,60;
set .GMDelete,80;
set .GMLogging,99;
set .PackageCount,3;
setarray .Package1[0],501,1,502,2,503,3;
setarray .Package2[0],601,5,602,10;
setarray .Package3[0],607,10;

// --------------------------------------------------

if (getgmlevel() >= .GMAccess) goto GM_Menu;
mes "[Item Rewards]";
set .@i,0;
while (.@i < getarraysize($itemreward$)) {
if (strcharinfo(0) == $itemreward$[.@i]) goto GetReward;
set .@i, .@i+2; }
mes "You have no rewards pending.";
close;

GetReward:
if (((Weight*100)/MaxWeight) > 49) {
mes "You are over the weight limit."; close; }
if (!checkweight(5055,getarraysize(getd(".Package"+$itemreward$[.@i+1])))) {
mes "Clear space in your inventory."; close; }
set .@j,0;
while (.@j < getarraysize(getd(".Package"+$itemreward$[.@i+1]))) {
getitem getd(".Package"+$itemreward$[.@i+1]+"["+.@j+"]"),getd(".Package"+$itemreward$[.@i+1]+"["+(.@j+1)+"]");
set .@j, .@j+2; }
specialeffect2 248;
deletearray $itemreward$[.@i],2;
mes "Here you go!";
close;

OnMinute00:
OnMinute30:
if (!getarraysize($itemreward$)) end;
set .@i,0;
while (.@i < getarraysize($itemreward$)) {
message $itemreward$[.@i],"[You have a reward pending.  See the Item Rewards NPC.]";
sleep 10;
set .@i, .@i+2; }
end;

GM_Menu:
mes "[Item Rewards]";
mes "What would you like to do?";
next;
switch(select(" ~ ^FF55FFPackage information^000000: ~ ^FF55FFList unclaimed rewards^000000: ~ ^00D900Give a reward^000000: ~ "+((getgmlevel()<.GMDelete)?"^777777":"^DE0000")+"Delete a reward^000000: ~ "+((getgmlevel()<.GMDelete)?"^777777":"^DE0000")+"Delete all unclaimed rewards^000000: ~ "+((getgmlevel()<.GMLogging)?"^777777":"^55AAFF")+"Manage logs^000000: ~ [Close]")) {
case 1:
mes "[Item Rewards]";
set .@j,1;
while (getd(".Package"+.@j)) {
mes "^660099Package " + .@j + ":^000000";
set .@i,0;
while (.@i < getarraysize(getd(".Package"+.@j))) {
mes " ~ " + getd(".Package"+.@j+"["+(.@i+1)+"]") + "x " + getitemname(getd(".Package"+.@j+"["+(.@i)+"]"));
set .@i, .@i+2; }
set .@j, .@j+1; }
next;
goto GM_Menu;
case 2:
mes "[Item Rewards]";
mes "Used space: ^F52887" + (getarraysize($itemreward$)/2) + "^000000/64";
mes "--------------------------------";
set .@i,0;
while (.@i < getarraysize($itemreward$)) {
mes "^B041FF" + $itemreward$[.@i] + "^000000: package #" + $itemreward$[.@i+1];
set .@i, .@i+2; }
next;
goto GM_Menu;
case 3:
mes "[Item Rewards]";
if (getarraysize($itemreward$) > 127) {
mes "No more names can be stored.";
mes "Delete some values and try again.";
next;
goto GM_Menu; }
mes "Input a name, then a package number.";
input .@name$;
query_sql "SELECT `char_id` FROM `char` WHERE `name` = '"+.@name$+"'",.@charid;
if (!.@charid) { mes "The name is invalid."; next; goto GM_Menu; }
else set .@charid,0;
input .@package,1,.PackageCount;
next;
mes "[Item Rewards]";
mes "Player: ^B041FF" + .@name$ + "^000000";
mes "Package: ^B041FF#" + .@package + "^000000";
mes " ";
mes "Are you sure?";
if (select("Yes:No") == 2) { mes "Request cancelled."; next; goto GM_Menu; }
setarray $itemreward$[getarraysize($itemreward$)],.@name$,.@package;
message .@name$,"[You have a reward pending.  See the Item Rewards NPC.]";
if ($itemlog) {
if (getarraysize($itemlog1$) > 127) {
deletearray $itemlog1$[0],1;
deletearray $itemlog2$[0],1; }
setarray $itemlog1$[getarraysize($itemlog1$)],strcharinfo(0);
setarray $itemlog2$[getarraysize($itemlog2$)],.@name$; }
mes "Reward added.";
next;
goto GM_Menu;
case 4:
mes "[Item Rewards]";
if (getgmlevel() < .GMDelete) {
mes "You are not permitted to delete entries."; next; goto GM_Menu; }
mes "Input a name to cancel a reward.";
input .@name$;
set .@i,0;
while (.@i < getarraysize($itemreward$)) {
if ($itemreward$[.@i] == .@name$) {
deletearray $itemreward$[.@i],2;
mes "Name cleared."; next; goto GM_Menu; }
set .@i, .@i+2; }
mes "The name is invalid.";
next;
goto GM_Menu;
case 5:
mes "[Item Rewards]";
if (getgmlevel() < .GMDelete) {
mes "You are not permitted to delete entries."; next; goto GM_Menu; }
mes "^FF0000This action cannot be undone.^000000";
mes "Are you sure?";
mes " ";
if (select("Yes:No") == 2) { mes "Request cancelled."; next; goto GM_Menu; }
deletearray $itemreward$[0],getarraysize($itemreward$);
mes "All entries cleared.";
next;
goto GM_Menu;
case 6:
Log_Menu:
mes "[Item Rewards]";
if (getgmlevel() < .GMLogging) {
mes "You are not permitted to manage logs."; next; goto GM_Menu; }
mes "Logs are currently "+(($itemlog)?"^00D900enabled^000000":"^FF0000disabled^000000")+".";
next;
switch(select(" ~ ^55AAFFView Logs^000000: ~ "+((!$itemlog)?"^00D900Enable":"^777777Disable")+" logging^000000: ~ ^DE0000Delete all logs^000000: ~ [Go back]")) {
case 1:
mes "[Item Rewards]";
mes "Used space: ^F52887" + (getarraysize($itemlog1$)) + "^000000/128";
mes "--------------------------------";
set .@i,0;
while (.@i < getarraysize($itemlog1$)) {
mes "^B041FF" + $itemlog1$[.@i] + "^000000: sent to ^55AAFF" + $itemlog2$[.@i] + "^000000";
set .@i, .@i+1; }
next;
goto Log_Menu;
case 2:
set $itemlog, ((!$itemlog)?1:0);
goto Log_Menu;
case 3:
mes "[Item Rewards]";
mes "^FF0000This action cannot be undone.^000000";
mes "Are you sure?";
mes " ";
if (select("Yes:No") == 2) { mes "Request cancelled."; next; goto Log_Menu; }
deletearray $itemlog1$[0],getarraysize($itemlog1$);
deletearray $itemlog2$[0],getarraysize($itemlog2$);
mes "Logs cleared.";
next;
goto Log_Menu;
case 4:
next;
goto GM_Menu;
}
case 7:
close;
}
}
Back to top Go down
https://ro-crew.forumms.net
 
Item Rewards
Back to top 
Page 1 of 1
 Similar topics
-
» Item Rewards
» NPC Free Item For Newbie, Item Percuma Setiap 1 ID
» Recolor Compilation collection 746 custom item
» Recolored Diablo set with shield(2135 item number orig) v1

Permissions in this forum:You cannot reply to topics in this forum
Ragnarok Crew Discussion :: General Support and Release :: Scripting :: Script Releases-
Jump to: