Jump to content

Winter1992

Members
  • Posts

    60
  • Joined

  • Last visited

Everything posted by Winter1992

  1. patulong naman po mag install ng server sa vps via team viewer please madaming salamat po
  2. Hi im looking for this map zephyrus made anyone have it ?? please share it is it a open source right ? please thanks map: bat_a03 map: bat_a04 map: bat_a05 map: bat_b03 map: bat_b04 map: bat_b05 map: schg_cas06 map: schg_cas07 map: schg_cas08 map: arug_cas06 map: arug_cas07 map: arug_cas08 map: rush_cas01 map: rush_cas02 map: rush_cas03 map: rush_cas04 map: bat_c03 map: bat_c04 map: bat_c05 map: bat_c06 map: bat_c07 map: bat_c08 map: region_8
  3. cge po pm nio sir sir nag send ako ng message sainyo pa add sa facebook slamat sir nag send nako ng pm sayo now na sana naten gawin please sir nag pm nako need ko now maayos sir cge na
  4. TULONG PO SANA NDI PO AKO MARUNONG MAG INSTALL NG EMU SA VPS PATULONG NAMAN PO SA MAY ALAM TEAM VIEWER PO SANA PARA MATUTO AKO SALAMAT PO
  5. did you test the online account / online char ?? is it working are you getting some reward??
  6. All working for this script on Rathena this originally made by hercules but i want to use it to rathena svn Working all function Except Online Account / Online Character Anyone Can Help me ? Here 's the script //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// geffen,108,54,4 script Item Giver 4_M_KNIGHT_BLACK,{ //cutin "v_sprakki04",2; //Check if setups are loaded. if(!.Setup) { callsub OnLoadSetup; } //Show GM Panel if player is GM. if(getgmlevel() >= .GMin) menu("Take a prize as a player",-,"Give prize",OnManagement,"Reset Item Give",OnDelete,"IP Limit per Item",OnLimit); //Read attached player gifts from SQL table. if(select("Get Account Prize!:Get Character Prize!:Exit") == 1) { set .@query, query_sql("SELECT * FROM `" + .GiftTableName$ + "` WHERE account_id="+getcharid(3), .@gift_id, .@gift_account, .@gift_char, .@gift_item, .@gift_amount, .@gift_duration, .@gift_time, .@gift_bound); //Account gifts. } else if(@menu == 2) { set .@query, query_sql("SELECT * FROM `" + .GiftTableName$ + "` WHERE char_id="+getcharid(0), .@gift_id, .@gift_account, .@gift_char, .@gift_item, .@gift_amount, .@gift_duration, .@gift_time, .@gift_bound); //Char gifts. } else goto OnLeave; //Check if player don't have gifts. if(!.@query) { mes "[Reward Giver]"; mes "Sorry, you don't have any prize"; cutin "v_sprakki04",255; close; } //Build menu from query arrays. mes "[" + strnpcinfo(1) + "]"; mes "^009900You got the prize^000000"; for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { mes "(" + .@gift_amount[.@i] + ") " + getitemname(.@gift_item[.@i]) + "."; set .@menu$, .@menu$ + getitemname(.@gift_item[.@i]) + ":"; } next; set .@mid,select(.@menu$); //Show menu. set .@mid,.@mid-1; if (.@gift_time[.@mid] && .@gift_time[.@mid] < gettimetick(2)) { mes "[Reward Giver]"; mes "Sorry, this prize's claim time is already over."; cutin "v_sprakki04",255; close; } //Item is now selected. Choose what you want to do with it. mes "[" + strnpcinfo(1) + "]"; mes "what you want do with (" + .@gift_amount[.@mid] + ") " + getitemname(.@gift_item[.@mid]) + "?"; next; set .@Select,select("^009900Get it^000000:^ff0000Delete it! ^000000:nothings"); //Receive gift selected. if(.@Select == 1) { //Check weight. if(checkweight( .@gift_item, .@gift_amount ) || .@gift_item[.@mid] == .ZenyID) { mes "[" + strnpcinfo(1) + "]"; mes "^009900Get : (" + .@gift_amount[.@mid] + ") " + getitemname(.@gift_item[.@mid]) + ".^000000"; if (.ip_limit) { // add ip_address to logs .@ipexist = query_sql("SELECT item_id, ip_address, claim_count FROM " + .GiftTableNameIP$ + " WHERE ip_address = '"+getcharip()+"' AND item_id = "+.@gift_item[.@mid]+" LIMIT 1", .@item,.@ip,.@claim_count); if (.@claim_count[0] >= .ip_limit) { next; mes "Sorry you have reached the maximum redeem limit for this IP address"; cutin "v_sprakki04",255; close; } if (!.@claim_count[0]) { query_sql("INSERT INTO " + .GiftTableNameIP$ + " (give_id,item_id,ip_address,claim_count) VALUES("+.@gift_id+","+.@gift_item+",'"+getcharip()+"',1)"); } else { query_sql("UPDATE " + .GiftTableNameIP$ + " SET claim_count = "+(.@claim_count[0]+1)+" WHERE item_id = "+.@gift_item[.@mid]+" AND ip_address = '"+getcharip()+"'"); } } if (.@gift_item[.@mid] == .ZenyID) { // detects zeny ID and give zeny. if (Zeny+.@gift_amount[.@mid] > .MaxZeny) { mes "Please make sure that you have enough space to handle all these zennies and come back later."; cutin "v_sprakki04",255; close; } set Zeny,Zeny+.@gift_amount[.@mid]; } else { if (.@gift_bound[.@mid]) { getitembound .@gift_item[.@mid], .@gift_amount[.@mid], 1; } else if (!.@gift_duration) { getitem .@gift_item[.@mid], .@gift_amount[.@mid]; //Give item to player. } else { rentitem .@gift_item[.@mid], .@gift_duration * 60; } } query_sql( "DELETE FROM `" + .GiftTableName$ + "` WHERE id = " + .@gift_id[.@mid] ); //Remove item from table. cutin "v_sprakki04",255; close; } else { //Overweight mes "^ff0000Sorry ^000000 You can't take it " + getitemname(.@gift_item[.@mid]); mes "Could lose some wight?"; cutin "v_sprakki04",255; close; } } //Remove gift selected. else if(.@Select == 2) { mes "[" + strnpcinfo(1) + "]"; mes "Are you sure you want dellet it?"; mes "Gift: ("+.@gift_amount[.@mid]+") "+getitemname(.@gift_item[.@mid])+"."; next; if(select("Yes:No") == 1) { mes "[" + strnpcinfo(1) + "]"; mes "^ff0000Dellet: ("+.@gift_amount[.@mid]+") "+getitemname(.@gift_item[.@mid])+".^000000"; query_sql("DELETE FROM `" + .GiftTableName$ + "` WHERE id = " + .@gift_id[.@mid]); //Remove item from table. cutin "v_sprakki04",255; close; } else { mes "[" + strnpcinfo(1) + "]"; mes "we will save it"; cutin "v_sprakki04",255; close; } } //Nothing selected. else { goto OnLeave; } //GM Panel below: OnManagement: if(getgmlevel() < .GMin) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Welvome " + strcharinfo(0) + "!"; mes "How I can help you?"; next; if(select("Make Gift:Nothing") != 1) goto OnLeave; //Make new gift. mes "[" + strnpcinfo(1) + "]"; mes "Please input the item id."; mes "Default: 501"; next; mes "What do you want to give?"; set .@zenygive,0; if(select("Item:Zeny") == 1){ //item_id range of 501 to 30,000. input .@new_item, 501, 30000; next; mes "Do you want to make this a bound item?"; .@boption = select("No:Expire Bound:Normal Bound"); if(.@boption == 2) { next; mes "Please tell me the duration in minutes"; input(.@duration); } else if (.@boption == 3) { next; mes "Normal bound, selected."; .@nbound = 1; } } else { set .@new_item, .ZenyID; set .@zenygive,1; } next; mes "Do you want to add a claim timer?"; if(select("No:Yes")==2) { next; mes "How many minutes do you want this reward to be claimable?"; input(.@c); .@claimtime = gettimetick(2)+(.@c*60); } if(select("Continue:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "How many items/zeny?"; mes "Default: 1"; next; //item quantity range of 1 to 1,000. if(.@zenygive){ input .@new_value, 1, .MaxZeny; } else { input .@new_value, 1, 1000; } if (.@duration && .@new_value > 1) { mes "You can only give 1 item bound at a time and please make sure that it is an equipment"; close; } if(select("Continue:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Please select input type:"; mes "1. Single Account"; mes "2. Single Character"; mes "3. All ^009900Online^000000 Accounts."; mes "4. All Accounts."; mes "5. All ^009900Online^000000 Players/Characters."; mes "6. All Players/Characters."; mes "7. ^ff0000Cancel.^000000"; next; switch(select("Single Account:Single Character:^009900Online^000000 Accounts:All Accounts:^009900Online^000000 Characters:All Characters:Cancel")) { //Account gift case 1: mes "[" + strnpcinfo(1) + "]"; mes "Please select input type:"; mes "By AID or Name?"; next; if(select("Account ID:Character Name") == 1) { mes "[" + strnpcinfo(1) + "]"; mes "Write account id:"; next; input .@new_account, 2000000, 10000000; //Account id range from 2m to 10m. set .@query, query_sql("SELECT account_id FROM `" + .CharTableName$ + "` WHERE account_id = " + .@new_account, .@new_account); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "AID: ^ff0000" + .@new_account + "^000000"; mes "------------------"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Duration: " + .@duration + " Minutes"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; //Create gift. <auto_id>, <account_id> <char_id> <item> <value> query_sql("INSERT INTO `" + .GiftTableName$ + "` (account_id, item, value, duration, timestamp, bound) VALUES(" + .@new_account + ", " + .@new_item + ", " + .@new_value + ", " + .@duration + ", " + .@claimtime + ", " + .@nbound + ")"); } else { mes "[" + strnpcinfo(1) + "]"; mes "Write player name:"; next; input .@new_name$; set .@query, query_sql("SELECT account_id FROM `" + .CharTableName$ + "` WHERE name = '" + .@new_name$ + "'", .@new_account); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "AID: ^ff0000" + .@new_account + "^000000"; mes "Name: ^ff0000"+ .@new_name$ + "^000000"; mes "------------------"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Duration: " + .@duration + " Minutes"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; //Check if player is logged in. if(isloggedin(.@new_account)) { mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; query_sql("INSERT INTO `" + .GiftTableName$ + "` (account_id, item, value, duration, timestamp, bound) VALUES(" + .@new_account + ", " + .@new_item + ", " + .@new_value + ", " + .@duration + ", " + .@claimtime + ", " + .@nbound + ")"); } else { //Account was not online. mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; query_sql("INSERT INTO `" + .GiftTableName$ + "` (account_id, item, value, duration, timestamp, bound) VALUES(" + .@new_account + ", " + .@new_item + ", " + .@new_value + ", " + .@duration + ", " + .@claimtime + ", " + .@nbound + ")"); // duplicate to other menus - continue here on giver side } } break; //Character gift. case 2: mes "[" + strnpcinfo(1) + "]"; mes "Please select input type:"; mes "By CID or Name?"; next; if(select("Character ID:Character Name") == 1) { mes "[" + strnpcinfo(1) + "]"; mes "Write character id:"; next; input .@new_char,150000, 10000000; //Char id range from 150k to 10m. set .@query, query_sql("SELECT account_id, name FROM `" + .CharTableName$ + "` WHERE char_id = " + .@new_char, .@new_accountid, .@new_name$); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "CID: ^ff0000" + .@new_char + "^000000"; mes "Name: ^ff0000" + .@new_name$ + "^000000"; mes "------------------"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Duration: " + .@duration + " Minutes"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; //Check if player is logged in. if(isloggedin(.@new_accountid)) { mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; //Create gift. <auto_id>, <account_id> <char_id> <item> <value> query_sql("INSERT INTO `" + .GiftTableName$ + "` (char_id, item, value, duration, timestamp, bound) VALUES (" + .@new_char + ", " + .@new_item + ", " + .@new_value + "," + .@duration + "," + .@claimtime + ", " + .@nbound + ")"); } else { //not online ask if we still give the gift. mes "[" + strnpcinfo(1) + "]"; mes "The character is not online!"; mes "Would you still like to send the gift?"; next; if(select("Yes:No") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; //Create gift. <auto_id>, <account_id> <char_id> <item> <value> query_sql("INSERT INTO `" + .GiftTableName$ + "` (char_id, item, value, duration, timestamp, bound) VALUES (" + .@new_char + ", " + .@new_item + ", " + .@new_value + "," + .@duration + "," + .@claimtime + ", " + .@nbound + ")"); } } else { mes "[" + strnpcinfo(1) + "]"; mes "Write player name:"; next; input .@new_name$; set .@query, query_sql("SELECT char_id, account_id FROM `" + .CharTableName$ + "` WHERE name = '" + .@new_name$ + "'", .@new_char, .@new_accountid); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "CID: ^ff0000" + .@new_char + "^000000"; mes "Name: ^ff0000"+ .@new_name$ + "^000000"; mes "------------------"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Duration: " + .@duration + " Minutes"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; //Check if player is logged in. if(isloggedin(.@new_accountid)) { mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; query_sql("INSERT INTO `" + .GiftTableName$ + "` (char_id, item, value, duration, timestamp, bound) VALUES (" + .@new_char + ", " + .@new_item + ", " + .@new_value + "," + .@duration + "," + .@claimtime + ", " + .@nbound + ")"); } else { //not online ask if we still give the gift. mes "[" + strnpcinfo(1) + "]"; mes "The character is not online!"; mes "Would you still like to give the gift?"; next; if(select("Yes:No") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; //Create gift. <auto_id>, <account_id> <char_id> <item> <value> query_sql("INSERT INTO `" + .GiftTableName$ + "` (char_id, item, value, duration, timestamp, bound) VALUES (" + .@new_char + ", " + .@new_item + ", " + .@new_value + "," + .@duration + "," + .@claimtime + ", " + .@nbound + ")"); } } announce strcharinfo(0)+" successfully sent " + .@new_value + "x " + getitemname(.@new_item) + " to " + .@new_name$,bc_all; break; //Register gift to all online accounts! case 3: mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Duration: " + .@duration + " Minutes"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Please hold..."; set .@c, 0; //Counting success. set .@query, query_sql("SELECT account_id FROM `"+.CharTableName$+"` WHERE online=1",.@account); for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { sleep2 25; //Slowdown the loop abit. .@at = query_sql("SELECT account_id, char_id FROM "+$GiftTableNameAT$+" WHERE account_id = "+.@account[.@i]+"", .@account_id, .@char_id); // check if in the table if (!.@at) { query_sql("INSERT INTO `" + .GiftTableName$ + "` (account_id, item, value, duration, timestamp, bound) VALUES(" + .@account[.@i] + ", " + .@new_item + ", " + .@new_value + ", " + .@duration + ", " + .@claimtime + ", " + .@nbound + ")"); } } mes "Gift registered to (" + .@i + ") accounts!"; break; //Register gift to all accounts! case 4: mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Please hold..."; set .@query, query_sql("SELECT account_id FROM `"+.LoginTableName$+"`",.@account); for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { sleep2 25; //Slowdown the loop abit. query_sql("INSERT INTO `" + .GiftTableName$ + "` (account_id, item, value, duration, timestamp, bound) VALUES(" + .@account[.@i] + ", " + .@new_item + ", " + .@new_value + ", " + .@duration + ", " + .@claimtime + ", " + .@nbound + ")"); } mes "Gift registered to (" + .@i + ") accounts!"; break; //Register gift to all online characters! case 5: mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Please hold..."; set .@c, 0; //Counting success. set .@query, query_sql("SELECT char_id FROM `"+.CharTableName$+"` WHERE online=1",.@char); for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { sleep2 25; //Slowdown the loop abit. .@at = query_sql("SELECT account_id, char_id FROM "+$GiftTableNameAT$+" WHERE char_id = "+.@char[.@i]+"", .@account_id, .@char_id); // check if in the table if (!.@at) { query_sql("INSERT INTO `" + .GiftTableName$ + "` (char_id, item, value, duration, timestamp, bound) VALUES (" + .@char[.@i] + ", " + .@new_item + ", " + .@new_value + "," + .@duration + "," + .@claimtime + ", " + .@nbound + ")"); } } mes "Gift registered to (" + .@i + ") players!"; break; //Register gift to all characters! case 6: mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Please hold..."; set .@query, query_sql("SELECT char_id FROM `"+.CharTableName$+"`",.@char); for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { sleep2 25; //Slowdown the loop abit. query_sql("INSERT INTO `" + .GiftTableName$ + "` (char_id, item, value, duration, timestamp, bound) VALUES (" + .@char[.@i] + ", " + .@new_item + ", " + .@new_value + "," + .@duration + "," + .@claimtime + ", " + .@nbound + ")"); } mes "Gift registered to (" + .@i + ") players!"; break; //Cancel. Default: mes "[Reward Giver]"; mes "See you later"; break; } close; OnLeave: mes "[Reward Giver]"; mes "See you later"; cutin "v_sprakki04",255; close; OnNotExist: mes "[" + strnpcinfo(1) + "]"; mes "This account does not exist!"; cutin "v_sprakki04",255; close; //============Reset Function========================= OnDelete: mes "Which gifts do you want to reset?"; mes "1. Single Account"; mes "2. Single Character"; mes "3. All ^009900Online^000000 Accounts."; mes "4. All Accounts."; mes "5. All ^009900Online^000000 Players/Characters."; mes "6. All Players/Characters."; mes "7. All cancel"; switch(select("Single Account:Single Character:^009900Online^000000 Accounts:All Accounts:^009900Online^000000 Characters:All Characters:Specific Item:IPLimit Logs:Cancel")) { case 1: //Single Account mes "[" + strnpcinfo(1) + "]"; mes "Please select input type:"; mes "By AID or Name?"; next; if(select("Account ID:Character Name") == 1) { mes "[" + strnpcinfo(1) + "]"; mes "Write account id:"; next; input .@new_account, 2000000, 10000000; //Account id range from 2m to 10m. set .@query, query_sql("SELECT account_id FROM `" + .CharTableName$ + "` WHERE account_id = " + .@new_account, .@new_account); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; query_sql("DELETE FROM " + .GiftTableName$ + " WHERE account_id = " + .@new_account); } else { mes "[" + strnpcinfo(1) + "]"; mes "Write player name:"; next; input .@new_name$; set .@query, query_sql("SELECT account_id FROM `" + .CharTableName$ + "` WHERE name = '" + .@new_name$ + "'", .@new_account); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; query_sql("DELETE FROM " + .GiftTableName$ + " WHERE account_id = " + .@new_account); } break; case 2: //Single Character mes "[" + strnpcinfo(1) + "]"; mes "Please select input type:"; mes "By CID or Name?"; next; if(select("Character ID:Character Name") == 1) { mes "[" + strnpcinfo(1) + "]"; mes "Write character id:"; next; input .@new_char,150000, 10000000; //Char id range from 150k to 10m. set .@query, query_sql("SELECT account_id, name FROM `" + .CharTableName$ + "` WHERE char_id = " + .@new_char, .@new_accountid, .@new_name$); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; query_sql("DELETE FROM " + .GiftTableName$ + " WHERE char_id = " + .@new_char); } else { mes "[" + strnpcinfo(1) + "]"; mes "Write player name:"; next; input .@new_name$; set .@query, query_sql("SELECT char_id, account_id FROM `" + .CharTableName$ + "` WHERE name = '" + .@new_name$ + "'", .@new_char, .@new_accountid); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; query_sql("DELETE FROM " + .GiftTableName$ + " WHERE char_id = " + .@new_char); } break; case 3: //All Online Accounts. mes "[" + strnpcinfo(1) + "]"; mes "Please hold..."; set .@c, 0; //Counting success. set .@query, query_sql("SELECT account_id FROM `"+.CharTableName$+"` WHERE online=1",.@account); for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { sleep2 25; //Slowdown the loop abit. query_sql("DELETE FROM " + .GiftTableName$ + " WHERE account_id = " + .@account[.@i]); } break; case 4: //All Accounts. query_sql("DELETE FROM " + .GiftTableName$ + " WHERE account_id >= 1"); break; case 5: //All Online Players/Characters. mes "[" + strnpcinfo(1) + "]"; mes "Please hold..."; set .@c, 0; //Counting success. set .@query, query_sql("SELECT char_id FROM `"+.CharTableName$+"` WHERE online=1",.@char); for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { sleep2 25; //Slowdown the loop abit. query_sql("DELETE FROM " + .GiftTableName$ + " WHERE char_id = " + .@char[.@i]); } break; case 6: //All Players/Characters. query_sql("TRUNCATE TABLE " + .GiftTableName$); break; case 7: // Delete specific item mes "Please type the id of the item you wish to delete"; mes "This will delete all entries with the item id you typed"; input(.@deletethis); next; mes "Are you sure you want to delete all entries of " + .@deletethis; if (select("Yes:No")==1) { query_sql("DELETE FROM " + .GiftTableName$ + " WHERE item = " + .@deletethis + ""); } else { mes "Deletion cancelled"; close; } case 8: //All ip logs query_sql("TRUNCATE TABLE " + .GiftTableNameIP$); break; default: break; } next; mes "deletion finished"; cutin "v_sprakki04",255; close; OnLimit: mes "Please enter an ip limit, current limit is " + .ip_limit; input(.ip_limit); mes "Done!"; cutin "v_sprakki04",255; close; //============================================================ // Config/Edit: //============================================================ OnLoadSetup: set .Setup, 1; //OnInit is loaded check. set .GMin, 60; //Minimum GM level to use gm panel. set .ZenyID,23500; // put this when asked for which item to give zeny. set .MaxZeny,1000000000; //Your table names: set .CharTableName$, "char"; //Character table name(SQL). set .LoginTableName$, "login"; set .GiftTableName$, "reward"; //Gift table name(SQL). set .GiftTableNameIP$, "reward_ip"; //Gift table name for ip tracker set $GiftTableNameAT$, "reward_at"; //Gift table name for auto trade tracker //Create gift table <auto_id>, <account_id>, <char_id>, <item>, <value> query_sql("CREATE TABLE IF NOT EXISTS `reward` (`id` int(11) NOT NULL AUTO_INCREMENT,`account_id` int(11) unsigned NOT NULL DEFAULT '0',`char_id` int(11) unsigned NOT NULL DEFAULT '0',`item` int(11) NOT NULL DEFAULT '0',`value` int(11) NOT NULL DEFAULT '0',`duration` int(11) NOT NULL DEFAULT '0',`timestamp` int(23) NOT NULL DEFAULT '0',`bound` int(1) NOT NULL DEFAULT '0',PRIMARY KEY (`id`))"); query_sql("CREATE TABLE IF NOT EXISTS `reward_ip` ( `give_id` int(11) NOT NULL, `item_id` int(11) NOT NULL, `ip_address` varchar(23) NOT NULL, `claim_count` int(11) NOT NULL, PRIMARY KEY (`give_id`))"); query_sql("CREATE TABLE IF NOT EXISTS `reward_at` (`account_id` int(11) NOT NULL,`char_id` int(11) NOT NULL)"); return; OnInit: callsub OnLoadSetup; end; } /* Manual table update for at tracker CREATE TABLE IF NOT EXISTS `reward_at` ( `account_id` int(11) NOT NULL, `char_id` int(11) NOT NULL ); */ - script anti_trader -1,{ OnInit: .is_anti_trade = 1; // 0 to disable end; } function script PG_30Seconds { //dispbottom "anti trader 30sec"; //Check if Vending (normal or @at) if(checkvending() >= 1) { // mark as auto trader .@query = query_sql("SELECT account_id, char_id FROM "+$GiftTableNameAT$+" WHERE account_id = "+getcharid(3)+"", .@account_id, .@char_id); // check if in the table if (!.@query) { // add if not there yet query_sql("INSERT INTO "+$GiftTableNameAT$+"(account_id,char_id) VALUES("+getcharid(3)+","+getcharid(0)+")"); //dispbottom "you have been marked as auto trader"; stopnpctimer; detachnpctimer; end; } } return; } function script PG_Login { //dispbottom "at delete"; .@query = query_sql("SELECT account_id, char_id FROM "+$GiftTableNameAT$+" WHERE account_id = "+getcharid(3)+"", .@account_id, .@char_id); // check if in the table if (.@query) { // remove to reverify vending status query_sql("DELETE FROM "+$GiftTableNameAT$+" WHERE account_id = "+getcharid(3)+""); } } geffen,108,54,4 script Item Giver 4_M_KNIGHT_BLACK,{ //cutin "v_sprakki04",2; //Check if setups are loaded. if(!.Setup) { callsub OnLoadSetup; } //Show GM Panel if player is GM. if(getgmlevel() >= .GMin) menu("Take a prize as a player",-,"Give prize",OnManagement,"Reset Item Give",OnDelete,"IP Limit per Item",OnLimit); //Read attached player gifts from SQL table. if(select("Get Account Prize!:Get Character Prize!:Exit") == 1) { set .@query, query_sql("SELECT * FROM `" + .GiftTableName$ + "` WHERE account_id="+getcharid(3), .@gift_id, .@gift_account, .@gift_char, .@gift_item, .@gift_amount, .@gift_duration, .@gift_time, .@gift_bound); //Account gifts. } else if(@menu == 2) { set .@query, query_sql("SELECT * FROM `" + .GiftTableName$ + "` WHERE char_id="+getcharid(0), .@gift_id, .@gift_account, .@gift_char, .@gift_item, .@gift_amount, .@gift_duration, .@gift_time, .@gift_bound); //Char gifts. } else goto OnLeave; //Check if player don't have gifts. if(!.@query) { mes "[Reward Giver]"; mes "Sorry, you don't have any prize"; cutin "v_sprakki04",255; close; } //Build menu from query arrays. mes "[" + strnpcinfo(1) + "]"; mes "^009900You got the prize^000000"; for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { mes "(" + .@gift_amount[.@i] + ") " + getitemname(.@gift_item[.@i]) + "."; set .@menu$, .@menu$ + getitemname(.@gift_item[.@i]) + ":"; } next; set .@mid,select(.@menu$); //Show menu. set .@mid,.@mid-1; if (.@gift_time[.@mid] && .@gift_time[.@mid] < gettimetick(2)) { mes "[Reward Giver]"; mes "Sorry, this prize's claim time is already over."; cutin "v_sprakki04",255; close; } //Item is now selected. Choose what you want to do with it. mes "[" + strnpcinfo(1) + "]"; mes "what you want do with (" + .@gift_amount[.@mid] + ") " + getitemname(.@gift_item[.@mid]) + "?"; next; set .@Select,select("^009900Get it^000000:^ff0000Delete it! ^000000:nothings"); //Receive gift selected. if(.@Select == 1) { //Check weight. if(checkweight( .@gift_item, .@gift_amount ) || .@gift_item[.@mid] == .ZenyID) { mes "[" + strnpcinfo(1) + "]"; mes "^009900Get : (" + .@gift_amount[.@mid] + ") " + getitemname(.@gift_item[.@mid]) + ".^000000"; if (.ip_limit) { // add ip_address to logs .@ipexist = query_sql("SELECT item_id, ip_address, claim_count FROM " + .GiftTableNameIP$ + " WHERE ip_address = '"+getcharip()+"' AND item_id = "+.@gift_item[.@mid]+" LIMIT 1", .@item,.@ip,.@claim_count); if (.@claim_count[0] >= .ip_limit) { next; mes "Sorry you have reached the maximum redeem limit for this IP address"; cutin "v_sprakki04",255; close; } if (!.@claim_count[0]) { query_sql("INSERT INTO " + .GiftTableNameIP$ + " (give_id,item_id,ip_address,claim_count) VALUES("+.@gift_id+","+.@gift_item+",'"+getcharip()+"',1)"); } else { query_sql("UPDATE " + .GiftTableNameIP$ + " SET claim_count = "+(.@claim_count[0]+1)+" WHERE item_id = "+.@gift_item[.@mid]+" AND ip_address = '"+getcharip()+"'"); } } if (.@gift_item[.@mid] == .ZenyID) { // detects zeny ID and give zeny. if (Zeny+.@gift_amount[.@mid] > .MaxZeny) { mes "Please make sure that you have enough space to handle all these zennies and come back later."; cutin "v_sprakki04",255; close; } set Zeny,Zeny+.@gift_amount[.@mid]; } else { if (.@gift_bound[.@mid]) { getitembound .@gift_item[.@mid], .@gift_amount[.@mid], 1; } else if (!.@gift_duration) { getitem .@gift_item[.@mid], .@gift_amount[.@mid]; //Give item to player. } else { rentitem .@gift_item[.@mid], .@gift_duration * 60; } } query_sql( "DELETE FROM `" + .GiftTableName$ + "` WHERE id = " + .@gift_id[.@mid] ); //Remove item from table. cutin "v_sprakki04",255; close; } else { //Overweight mes "^ff0000Sorry ^000000 You can't take it " + getitemname(.@gift_item[.@mid]); mes "Could lose some wight?"; cutin "v_sprakki04",255; close; } } //Remove gift selected. else if(.@Select == 2) { mes "[" + strnpcinfo(1) + "]"; mes "Are you sure you want dellet it?"; mes "Gift: ("+.@gift_amount[.@mid]+") "+getitemname(.@gift_item[.@mid])+"."; next; if(select("Yes:No") == 1) { mes "[" + strnpcinfo(1) + "]"; mes "^ff0000Dellet: ("+.@gift_amount[.@mid]+") "+getitemname(.@gift_item[.@mid])+".^000000"; query_sql("DELETE FROM `" + .GiftTableName$ + "` WHERE id = " + .@gift_id[.@mid]); //Remove item from table. cutin "v_sprakki04",255; close; } else { mes "[" + strnpcinfo(1) + "]"; mes "we will save it"; cutin "v_sprakki04",255; close; } } //Nothing selected. else { goto OnLeave; } //GM Panel below: OnManagement: if(getgmlevel() < .GMin) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Welvome " + strcharinfo(0) + "!"; mes "How I can help you?"; next; if(select("Make Gift:Nothing") != 1) goto OnLeave; //Make new gift. mes "[" + strnpcinfo(1) + "]"; mes "Please input the item id."; mes "Default: 501"; next; mes "What do you want to give?"; set .@zenygive,0; if(select("Item:Zeny") == 1){ //item_id range of 501 to 30,000. input .@new_item, 501, 30000; next; mes "Do you want to make this a bound item?"; .@boption = select("No:Expire Bound:Normal Bound"); if(.@boption == 2) { next; mes "Please tell me the duration in minutes"; input(.@duration); } else if (.@boption == 3) { next; mes "Normal bound, selected."; .@nbound = 1; } } else { set .@new_item, .ZenyID; set .@zenygive,1; } next; mes "Do you want to add a claim timer?"; if(select("No:Yes")==2) { next; mes "How many minutes do you want this reward to be claimable?"; input(.@c); .@claimtime = gettimetick(2)+(.@c*60); } if(select("Continue:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "How many items/zeny?"; mes "Default: 1"; next; //item quantity range of 1 to 1,000. if(.@zenygive){ input .@new_value, 1, .MaxZeny; } else { input .@new_value, 1, 1000; } if (.@duration && .@new_value > 1) { mes "You can only give 1 item bound at a time and please make sure that it is an equipment"; close; } if(select("Continue:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Please select input type:"; mes "1. Single Account"; mes "2. Single Character"; mes "3. All ^009900Online^000000 Accounts."; mes "4. All Accounts."; mes "5. All ^009900Online^000000 Players/Characters."; mes "6. All Players/Characters."; mes "7. ^ff0000Cancel.^000000"; next; switch(select("Single Account:Single Character:^009900Online^000000 Accounts:All Accounts:^009900Online^000000 Characters:All Characters:Cancel")) { //Account gift case 1: mes "[" + strnpcinfo(1) + "]"; mes "Please select input type:"; mes "By AID or Name?"; next; if(select("Account ID:Character Name") == 1) { mes "[" + strnpcinfo(1) + "]"; mes "Write account id:"; next; input .@new_account, 2000000, 10000000; //Account id range from 2m to 10m. set .@query, query_sql("SELECT account_id FROM `" + .CharTableName$ + "` WHERE account_id = " + .@new_account, .@new_account); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "AID: ^ff0000" + .@new_account + "^000000"; mes "------------------"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Duration: " + .@duration + " Minutes"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; //Create gift. <auto_id>, <account_id> <char_id> <item> <value> query_sql("INSERT INTO `" + .GiftTableName$ + "` (account_id, item, value, duration, timestamp, bound) VALUES(" + .@new_account + ", " + .@new_item + ", " + .@new_value + ", " + .@duration + ", " + .@claimtime + ", " + .@nbound + ")"); } else { mes "[" + strnpcinfo(1) + "]"; mes "Write player name:"; next; input .@new_name$; set .@query, query_sql("SELECT account_id FROM `" + .CharTableName$ + "` WHERE name = '" + .@new_name$ + "'", .@new_account); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "AID: ^ff0000" + .@new_account + "^000000"; mes "Name: ^ff0000"+ .@new_name$ + "^000000"; mes "------------------"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Duration: " + .@duration + " Minutes"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; //Check if player is logged in. if(isloggedin(.@new_account)) { mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; query_sql("INSERT INTO `" + .GiftTableName$ + "` (account_id, item, value, duration, timestamp, bound) VALUES(" + .@new_account + ", " + .@new_item + ", " + .@new_value + ", " + .@duration + ", " + .@claimtime + ", " + .@nbound + ")"); } else { //Account was not online. mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; query_sql("INSERT INTO `" + .GiftTableName$ + "` (account_id, item, value, duration, timestamp, bound) VALUES(" + .@new_account + ", " + .@new_item + ", " + .@new_value + ", " + .@duration + ", " + .@claimtime + ", " + .@nbound + ")"); // duplicate to other menus - continue here on giver side } } break; //Character gift. case 2: mes "[" + strnpcinfo(1) + "]"; mes "Please select input type:"; mes "By CID or Name?"; next; if(select("Character ID:Character Name") == 1) { mes "[" + strnpcinfo(1) + "]"; mes "Write character id:"; next; input .@new_char,150000, 10000000; //Char id range from 150k to 10m. set .@query, query_sql("SELECT account_id, name FROM `" + .CharTableName$ + "` WHERE char_id = " + .@new_char, .@new_accountid, .@new_name$); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "CID: ^ff0000" + .@new_char + "^000000"; mes "Name: ^ff0000" + .@new_name$ + "^000000"; mes "------------------"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Duration: " + .@duration + " Minutes"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; //Check if player is logged in. if(isloggedin(.@new_accountid)) { mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; //Create gift. <auto_id>, <account_id> <char_id> <item> <value> query_sql("INSERT INTO `" + .GiftTableName$ + "` (char_id, item, value, duration, timestamp, bound) VALUES (" + .@new_char + ", " + .@new_item + ", " + .@new_value + "," + .@duration + "," + .@claimtime + ", " + .@nbound + ")"); } else { //not online ask if we still give the gift. mes "[" + strnpcinfo(1) + "]"; mes "The character is not online!"; mes "Would you still like to send the gift?"; next; if(select("Yes:No") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; //Create gift. <auto_id>, <account_id> <char_id> <item> <value> query_sql("INSERT INTO `" + .GiftTableName$ + "` (char_id, item, value, duration, timestamp, bound) VALUES (" + .@new_char + ", " + .@new_item + ", " + .@new_value + "," + .@duration + "," + .@claimtime + ", " + .@nbound + ")"); } } else { mes "[" + strnpcinfo(1) + "]"; mes "Write player name:"; next; input .@new_name$; set .@query, query_sql("SELECT char_id, account_id FROM `" + .CharTableName$ + "` WHERE name = '" + .@new_name$ + "'", .@new_char, .@new_accountid); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "CID: ^ff0000" + .@new_char + "^000000"; mes "Name: ^ff0000"+ .@new_name$ + "^000000"; mes "------------------"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Duration: " + .@duration + " Minutes"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; //Check if player is logged in. if(isloggedin(.@new_accountid)) { mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; query_sql("INSERT INTO `" + .GiftTableName$ + "` (char_id, item, value, duration, timestamp, bound) VALUES (" + .@new_char + ", " + .@new_item + ", " + .@new_value + "," + .@duration + "," + .@claimtime + ", " + .@nbound + ")"); } else { //not online ask if we still give the gift. mes "[" + strnpcinfo(1) + "]"; mes "The character is not online!"; mes "Would you still like to give the gift?"; next; if(select("Yes:No") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Gift sending success!"; //Create gift. <auto_id>, <account_id> <char_id> <item> <value> query_sql("INSERT INTO `" + .GiftTableName$ + "` (char_id, item, value, duration, timestamp, bound) VALUES (" + .@new_char + ", " + .@new_item + ", " + .@new_value + "," + .@duration + "," + .@claimtime + ", " + .@nbound + ")"); } } announce strcharinfo(0)+" successfully sent " + .@new_value + "x " + getitemname(.@new_item) + " to " + .@new_name$,bc_all; break; //Register gift to all online accounts! case 3: mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Duration: " + .@duration + " Minutes"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Please hold..."; set .@c, 0; //Counting success. set .@query, query_sql("SELECT account_id FROM `"+.CharTableName$+"` WHERE online=1",.@account); for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { sleep2 25; //Slowdown the loop abit. .@at = query_sql("SELECT account_id, char_id FROM "+$GiftTableNameAT$+" WHERE account_id = "+.@account[.@i]+"", .@account_id, .@char_id); // check if in the table if (!.@at) { query_sql("INSERT INTO `" + .GiftTableName$ + "` (account_id, item, value, duration, timestamp, bound) VALUES(" + .@account[.@i] + ", " + .@new_item + ", " + .@new_value + ", " + .@duration + ", " + .@claimtime + ", " + .@nbound + ")"); } } mes "Gift registered to (" + .@i + ") accounts!"; break; //Register gift to all accounts! case 4: mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Please hold..."; set .@query, query_sql("SELECT account_id FROM `"+.LoginTableName$+"`",.@account); for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { sleep2 25; //Slowdown the loop abit. query_sql("INSERT INTO `" + .GiftTableName$ + "` (account_id, item, value, duration, timestamp, bound) VALUES(" + .@account[.@i] + ", " + .@new_item + ", " + .@new_value + ", " + .@duration + ", " + .@claimtime + ", " + .@nbound + ")"); } mes "Gift registered to (" + .@i + ") accounts!"; break; //Register gift to all online characters! case 5: mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Please hold..."; set .@c, 0; //Counting success. set .@query, query_sql("SELECT char_id FROM `"+.CharTableName$+"` WHERE online=1",.@char); for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { sleep2 25; //Slowdown the loop abit. .@at = query_sql("SELECT account_id, char_id FROM "+$GiftTableNameAT$+" WHERE char_id = "+.@char[.@i]+"", .@account_id, .@char_id); // check if in the table if (!.@at) { query_sql("INSERT INTO `" + .GiftTableName$ + "` (char_id, item, value, duration, timestamp, bound) VALUES (" + .@char[.@i] + ", " + .@new_item + ", " + .@new_value + "," + .@duration + "," + .@claimtime + ", " + .@nbound + ")"); } } mes "Gift registered to (" + .@i + ") players!"; break; //Register gift to all characters! case 6: mes "[" + strnpcinfo(1) + "]"; mes "^009900Gift is ready to go!^000000"; mes "Item: ^ff0000" + getitemname(.@new_item) + "^000000"; mes "Quantity: ^ff0000" + .@new_value + "^000000"; mes "Claim Time: " + .@c + " Minutes"; mes "Normal Bound: " + .@nbound; next; if(select("Send Gift:Cancel") != 1) goto OnLeave; mes "[" + strnpcinfo(1) + "]"; mes "Please hold..."; set .@query, query_sql("SELECT char_id FROM `"+.CharTableName$+"`",.@char); for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { sleep2 25; //Slowdown the loop abit. query_sql("INSERT INTO `" + .GiftTableName$ + "` (char_id, item, value, duration, timestamp, bound) VALUES (" + .@char[.@i] + ", " + .@new_item + ", " + .@new_value + "," + .@duration + "," + .@claimtime + ", " + .@nbound + ")"); } mes "Gift registered to (" + .@i + ") players!"; break; //Cancel. Default: mes "[Reward Giver]"; mes "See you later"; break; } close; OnLeave: mes "[Reward Giver]"; mes "See you later"; cutin "v_sprakki04",255; close; OnNotExist: mes "[" + strnpcinfo(1) + "]"; mes "This account does not exist!"; cutin "v_sprakki04",255; close; //============Reset Function========================= OnDelete: mes "Which gifts do you want to reset?"; mes "1. Single Account"; mes "2. Single Character"; mes "3. All ^009900Online^000000 Accounts."; mes "4. All Accounts."; mes "5. All ^009900Online^000000 Players/Characters."; mes "6. All Players/Characters."; mes "7. All cancel"; switch(select("Single Account:Single Character:^009900Online^000000 Accounts:All Accounts:^009900Online^000000 Characters:All Characters:Specific Item:IPLimit Logs:Cancel")) { case 1: //Single Account mes "[" + strnpcinfo(1) + "]"; mes "Please select input type:"; mes "By AID or Name?"; next; if(select("Account ID:Character Name") == 1) { mes "[" + strnpcinfo(1) + "]"; mes "Write account id:"; next; input .@new_account, 2000000, 10000000; //Account id range from 2m to 10m. set .@query, query_sql("SELECT account_id FROM `" + .CharTableName$ + "` WHERE account_id = " + .@new_account, .@new_account); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; query_sql("DELETE FROM " + .GiftTableName$ + " WHERE account_id = " + .@new_account); } else { mes "[" + strnpcinfo(1) + "]"; mes "Write player name:"; next; input .@new_name$; set .@query, query_sql("SELECT account_id FROM `" + .CharTableName$ + "` WHERE name = '" + .@new_name$ + "'", .@new_account); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; query_sql("DELETE FROM " + .GiftTableName$ + " WHERE account_id = " + .@new_account); } break; case 2: //Single Character mes "[" + strnpcinfo(1) + "]"; mes "Please select input type:"; mes "By CID or Name?"; next; if(select("Character ID:Character Name") == 1) { mes "[" + strnpcinfo(1) + "]"; mes "Write character id:"; next; input .@new_char,150000, 10000000; //Char id range from 150k to 10m. set .@query, query_sql("SELECT account_id, name FROM `" + .CharTableName$ + "` WHERE char_id = " + .@new_char, .@new_accountid, .@new_name$); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; query_sql("DELETE FROM " + .GiftTableName$ + " WHERE char_id = " + .@new_char); } else { mes "[" + strnpcinfo(1) + "]"; mes "Write player name:"; next; input .@new_name$; set .@query, query_sql("SELECT char_id, account_id FROM `" + .CharTableName$ + "` WHERE name = '" + .@new_name$ + "'", .@new_char, .@new_accountid); if(!.@query) goto OnNotExist; if(select("Continue:Cancel") != 1) goto OnLeave; query_sql("DELETE FROM " + .GiftTableName$ + " WHERE char_id = " + .@new_char); } break; case 3: //All Online Accounts. mes "[" + strnpcinfo(1) + "]"; mes "Please hold..."; set .@c, 0; //Counting success. set .@query, query_sql("SELECT account_id FROM `"+.CharTableName$+"` WHERE online=1",.@account); for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { sleep2 25; //Slowdown the loop abit. query_sql("DELETE FROM " + .GiftTableName$ + " WHERE account_id = " + .@account[.@i]); } break; case 4: //All Accounts. query_sql("DELETE FROM " + .GiftTableName$ + " WHERE account_id >= 1"); break; case 5: //All Online Players/Characters. mes "[" + strnpcinfo(1) + "]"; mes "Please hold..."; set .@c, 0; //Counting success. set .@query, query_sql("SELECT char_id FROM `"+.CharTableName$+"` WHERE online=1",.@char); for(set .@i, 0; .@i < .@query; set .@i, .@i + 1) { sleep2 25; //Slowdown the loop abit. query_sql("DELETE FROM " + .GiftTableName$ + " WHERE char_id = " + .@char[.@i]); } break; case 6: //All Players/Characters. query_sql("TRUNCATE TABLE " + .GiftTableName$); break; case 7: // Delete specific item mes "Please type the id of the item you wish to delete"; mes "This will delete all entries with the item id you typed"; input(.@deletethis); next; mes "Are you sure you want to delete all entries of " + .@deletethis; if (select("Yes:No")==1) { query_sql("DELETE FROM " + .GiftTableName$ + " WHERE item = " + .@deletethis + ""); } else { mes "Deletion cancelled"; close; } case 8: //All ip logs query_sql("TRUNCATE TABLE " + .GiftTableNameIP$); break; default: break; } next; mes "deletion finished"; cutin "v_sprakki04",255; close; OnLimit: mes "Please enter an ip limit, current limit is " + .ip_limit; input(.ip_limit); mes "Done!"; cutin "v_sprakki04",255; close; //============================================================ // Config/Edit: //============================================================ OnLoadSetup: set .Setup, 1; //OnInit is loaded check. set .GMin, 60; //Minimum GM level to use gm panel. set .ZenyID,23500; // put this when asked for which item to give zeny. set .MaxZeny,1000000000; //Your table names: set .CharTableName$, "char"; //Character table name(SQL). set .LoginTableName$, "login"; set .GiftTableName$, "reward"; //Gift table name(SQL). set .GiftTableNameIP$, "reward_ip"; //Gift table name for ip tracker set $GiftTableNameAT$, "reward_at"; //Gift table name for auto trade tracker //Create gift table <auto_id>, <account_id>, <char_id>, <item>, <value> query_sql("CREATE TABLE IF NOT EXISTS `reward` (`id` int(11) NOT NULL AUTO_INCREMENT,`account_id` int(11) unsigned NOT NULL DEFAULT '0',`char_id` int(11) unsigned NOT NULL DEFAULT '0',`item` int(11) NOT NULL DEFAULT '0',`value` int(11) NOT NULL DEFAULT '0',`duration` int(11) NOT NULL DEFAULT '0',`timestamp` int(23) NOT NULL DEFAULT '0',`bound` int(1) NOT NULL DEFAULT '0',PRIMARY KEY (`id`))"); query_sql("CREATE TABLE IF NOT EXISTS `reward_ip` ( `give_id` int(11) NOT NULL, `item_id` int(11) NOT NULL, `ip_address` varchar(23) NOT NULL, `claim_count` int(11) NOT NULL, PRIMARY KEY (`give_id`))"); query_sql("CREATE TABLE IF NOT EXISTS `reward_at` (`account_id` int(11) NOT NULL,`char_id` int(11) NOT NULL)"); return; OnInit: callsub OnLoadSetup; end; } /* Manual table update for at tracker CREATE TABLE IF NOT EXISTS `reward_at` ( `account_id` int(11) NOT NULL, `char_id` int(11) NOT NULL ); */ - script anti_trader -1,{ OnInit: .is_anti_trade = 1; // 0 to disable end; } function script PG_30Seconds { //dispbottom "anti trader 30sec"; //Check if Vending (normal or @at) if(checkvending() >= 1) { // mark as auto trader .@query = query_sql("SELECT account_id, char_id FROM "+$GiftTableNameAT$+" WHERE account_id = "+getcharid(3)+"", .@account_id, .@char_id); // check if in the table if (!.@query) { // add if not there yet query_sql("INSERT INTO "+$GiftTableNameAT$+"(account_id,char_id) VALUES("+getcharid(3)+","+getcharid(0)+")"); //dispbottom "you have been marked as auto trader"; stopnpctimer; detachnpctimer; end; } } return; } function script PG_Login { //dispbottom "at delete"; .@query = query_sql("SELECT account_id, char_id FROM "+$GiftTableNameAT$+" WHERE account_id = "+getcharid(3)+"", .@account_id, .@char_id); // check if in the table if (.@query) { // remove to reverify vending status query_sql("DELETE FROM "+$GiftTableNameAT$+" WHERE account_id = "+getcharid(3)+""); } } ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Thankyou price-giver-sql.txt
  7. Sir brynner or kung sino man po ung nakagamit ng Client ni sir patulong po sana ako kung anu po gagawin naka eAmod po kasi ako gusto ko po sana patulong gusto ko po gamitin ung client nya kaso ndi po nagana sa eAmod Sir brynner kung mababasa mo po to pede naten test ung SVN ko eAmod po ... Salamat po sana mapansin nio po tong post ko salamat po
  8. check mo ung data.ini baka ndi naka call ung data.grf and rdata.grf
  9. Guys bat unknown packet ako sa client 2012 ? kase eAmod gamit ko pede nio ba ako tulungan ?? salamat sa makakatulong saken +1 respect
  10. ahh ndi ko po kasi maintindihan e kaya po sana gusto ko panuorin pano gawin
  11. centos po os ng hosting ko ro-vps gusto ko install sarili ko server files
  12. can you help me install my ragnarok files in vps please?? via team viewer?
  13. sino po pro mag install ng ro sa vps patulong naman team viewer po tayo please?? salamt po
  14. im having problem on my eamod why i cant @reloadscript or i mean cant reload npc.. is it true that i need to do it one buy one ??
  15. gamit ko kasi ung client mo e ... ung walang cash shop https://rathena.org/board/topic/70962-recommended-client-setup/ eto pa tinry ko
  16. eto sabi parse_char: receive unknown packet 0x970 from ip 127.0.0.1 ! disconnecting ndi ba sa client info lang yan ??
  17. cge wait lang update kita pag nagawa ko brynner pa check nalang to ndi ko kasi magawa e penge na dn ng client mo wag na ung may cash shop na 2012 tapos anu lalagay sa client info ty kase nangyare brynner ung gm account nakakapasok and ung normal account ndi ahah error pa help salamat packet_db.txt
  18. sa packets po nag kakatalo sir ndi po gumagana e pati ung sayo sir brynner nag error penge naman po ako dl link para sa compatible client neto please eto error bossing oh panu fix to ??
  19. R>Client Side for eAmod Rev 233 if you have can you give it to me please thanks
  20. Tulong para sa eamod rev 233 Licensed sino po may client side jan na pang eamod complete packets .. help naman po salamat PM lang po or comment dito please salamat po
  21. Hi rathena Community i'am looking for 20110223 client anyone have it ?
  22. i need help please. how can i re script this job changer .. i want using instant job changer once per account. please help me.. Here's my Code prontera,156,184,5 script Free for All#jobchanger 757,{ if( Class ){ mes "Only Novice can use this..."; }else{ .@i = select( .Menu$ ) - 1; if( select( "Change to "+jobname( .JobList[.@i] )+"?:Cancel" ) == 1 ){ jobchange .JobList[.@i]; BaseLevel = .BaseLevel; JobLevel = .JobLevel; resetskill; resetstatus; SkillPoint = .SkillPoints; mes "DONE"; for( .@i = 0; .@i < .size; .@i++ ) getitem .ItemList[.@i],.Amount[.@i]; } } close; OnInit: setarray .JobList[0],4008,4009,4010,4011,4012,4013,4015,4016,4017,4018,4019,4020,4021,4047,4049,25,24,4045; setarray .ItemList[0],607,0; setarray .Amount[0],1,2,3; .BaseLevel = 255; .JobLevel = 100; .SkillPoints = 128; .@size = getarraysize( .JobList ); .size = getarraysize( .ItemList ); for( .@i = 0; .@i < .@size; .@i++ ) .Menu$ = .Menu$ + jobname( .JobList[.@i] )+":"; waitingroom "Instant Job Changer Feel Free to use",0; end; if(#freebie_quest == 1) { mes "[Zratinel]"; mes "Have fun in ^E066FFEsoteric RO!^000000"; close; } Thankyou for helping me
×
×
  • Create New...