// .----------------------------------------------------------. // . SoulBlaker Scripts Apresenta: . // . ___________________ . // . / _____/\______ \ . // . \_____ \ | | _/ . // . / \ | | \ . // . /_______ / |______ / . // . \/ \/ . // . [ Cronus Advanced Scripts ] . // . v1.0 . // .----------------------------------------------------------. // ; http://cronus-emulator.com/forum/index.php?showuser=3261 ; // .----------------------------------------------------------. // . Script: . // . Kafra Staff de CashAdmin . // .----------------------------------------------------------. // . Por: SoulBlaker Compátivel: Cronus SQL versão: 1.0 . // .----------------------------------------------------------. // . Descrição: . // . Adiciona/Remove Pontos dos Jogadores InGame, sem preci- . // . do Jogador estiver Online. . // . . // . Se o Registro de váriavel não existir, o npc mesmo cria,. // . OBS: Recomendável utilizar sempre primeiramente o . // . Comando de Cash no Jogador antes de manusear no . // . NPC. . // . . // . Adiciona/Remove ou Muda Preços dos Itens do CashShop. . // .----------------------------------------------------------. // . Changelog da Versão: . // . - 1.0 Iniciado o NPC. [SoulBlaker] . // *----------------------------------------------------------* /* # # Table structure for table `kafra_cashadmin` # Version: 1.0 by SoulBlaker # DROP TABLE IF EXISTS `kafra_cashadmin`; CREATE TABLE `kafra_cashadmin` ( `id` smallint(5) unsigned NOT NULL default '0', `name` varchar(50) NOT NULL default '', `price` mediumint(10) unsigned default NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM; */ prontera,168,187,4 script Kafra Staff#cashs1 117,{ function Query; function RelodDataBase; cutin "kafra_01",2; if( GetGmLevel() < 99 ) { mes "^0000CD[ Kafra Staff ]^000000"; mes "Hello ^FF0000" + StrCharInfo(0) + "^000000,"; mes "What do you want?"; next; Switch( Select("- Check points","- Open CashShop","- Cancel" ) ) { case 1: set .@Result, Query("Select",GetCharId(3)); mes "^0000CD[ Kafra Staff ]^000000"; mes "You got a total amount of: ^FF0000" + .@Result + " points^000000."; break; case 2: mes "^0000CD[ Kafra Staff ]^000000"; mes "Good shopping!"; close2; callcashshop "Kafra Staff#cashs2"; cutin "",255; end; case 3: mes "^0000CD[ Kafra Staff ]^000000"; mes "Very well then."; break; } } else { mes "^0000CD[ Kafra Staff ]^000000"; mes "Welcome admin,"; mes "what do you want?"; next; Switch( Select("- Check points","- Add or Remove points","- Add or Remove Items from shop","- Open CashShop","- Cancel") ) { case 1: mes "^0000CD[ Kafra Staff ]^000000"; mes "Please, insert the Account ID that you want to check."; next; input .@AccountID; set .@Consult$, Query("Check",.@AccountID); if( .@Consult$ == "" ) { mes "^0000CD[ Kafra Staff ]^000000"; mes "It doesn't exists!"; } else { set .@Result,Query("Select",.@AccountID); mes "^0000CD[ Kafra Staff ]^000000"; mes "^FF0000Account:^000000 "+.@AccountID; mes " "; mes "^FF0000Total amount:^000000 "+.@Result; } break; case 2: mes "^0000CD[ Kafra Staff ]^000000"; mes "Please, insert the Account ID"; next; input .@AccountID; set .@Consult$, Query("Check",.@AccountID); if( .@Consult$ == "" ) { mes "^0000CD[ Kafra Staff ]^000000"; mes "It doesn't exists!"; mes " "; mes "^FF0000Make sure that you have added some cash manually to it first!"; mes "Or you can add a register right now^000000"; mes " "; mes "Do you want to proceed?"; next; if( Select("- Yes","- Cancel") == 1 ) { Query("Create",.@AccountID); set .@Again,Query("Select",.@AccountID); if( .@Again ) { // it is not going to happen, so I'm not going to translate xD mes "^0000CD[ Kafra Staff ]^000000"; mes "Houve algum erro ao Registrar a Conta " + .@AccountID + "."; mes " "; mes "Por favor, reporte ao criador do Script 'SoulBlaker'."; debugmes "Erro ao Registrar a Conta " + .@AccountID + " na tabela de registro de váriaveis global, reporte ao membro '[SoulBlaker]' do fórum eAthena."; } else { mes "^0000CD[ Kafra Staff ]^000000"; mes "Very well, Account ^FF0000" + .@AccountID + "^000000 registered with success."; } } else { mes "^0000CD[ Kafra Staff ]^000000"; mes "blablabla not needed xD"; } } else { set .@Result, Query("Select",.@AccountID); mes "^0000CD[ Kafra Staff ]^000000"; mes "Insert the amount of points that you want to Add or Remove"; mes " "; mes "^FF0000Current amount: " + .@Result + "^000000."; mes " "; next; input .@Amount; if( .@Amount == 0 ) { mes "^0000CD[ Kafra Staff ]^000000"; mes "You need to insert a value higher than zero."; } else { mes "^0000CD[ Kafra Staff ]^000000"; mes "Do you want to remove or add those points?"; next; set .@Type,Select("- Add.","- Remove."); mes "^0000CD[ Kafra Staff ]^000000"; if( .@Type == 1 ) mes "Would you like to add ^FF0000" + .@Amount + "^000000 points?"; else mes "Would you like to remove ^FF0000" + .@Amount + "^000000 points?"; mes " "; mes "^FF0000Current amount:^000000 " + .@Result + "."; mes " "; if( .@Type == 1 ) { set .@Amount, .@Result + .@Amount; mes "^FF0000Amount after:^000000 " + .@Amount + "."; } else { set .@Amount, .@Result - .@Amount; mes "^FF0000Amount after:^000000 " + .@Amount + "."; } next; if( Select("- Confirm.","- Cancel") == 1 ) { Query("Update",.@AccountID,.@Amount); set .@Status,Query("Select",.@AccountID); if( .@Type == 1 && .@Status != .@Amount ) { mes "^0000CD[ Kafra Staff ]^000000"; mes "Me desculpe, mais não foi possível creditar desta conta."; } else if( .@Type == 2 && .@Status != .@Amount ) { mes "^0000CD[ Kafra Staff ]^000000"; mes "Me desculpe, mais não foi possível remover créditos desta conta."; } else { mes "^0000CD[ Kafra Staff ]^000000"; if( .@Type == 1 ) mes "Success!"; else mes "Success!"; } } else { mes "^0000CD[ Kafra Staff ]^000000"; mes "Very well then."; } } } break; case 3: mes "^0000CD[ Kafra Staff ]^000000"; mes "Muito bem, o que deseja fazer?"; next; set .@Choose, Select("- Adicionar Itens no CashShop.","- Remover Itens no CashShop.","- Mudar Preço de um Item.","- Ver Informações de Itens no CashShop."); if( .@Choose == 4 ) { Query_SQL("SELECT `id`, `name`, `price` FROM `kafra_cashadmin`", .@Consult, .@Name$, .@Price); for( set .@i,0; .@i < GetArraySize(.@Consult); set .@i, .@i + 1 ) { mes "^0000FFID:^000000 " + .@Consult[.@i]; mes "^0000FFNome:^000000 " + .@Name$[.@i]; mes "^0000FFPreço:^000000 " + .@Price[.@i]; mes "------------------"; mes " "; } } else { mes "^0000CD[ Kafra Staff ]^000000"; mes "Muito bem, digite o id do item"; if( .@Choose == 1 ) mes "Que deseja Adicionar."; else if( .@Choose == 2 ) mes "Que deseja Remover."; else if( .@Choose == 3 ) mes "Que deseja Mudar o Preço."; next; input .@ID; if( .@Choose == 1 || .@Choose == 3 ) { mes "^0000CD[ Kafra Staff ]^000000"; mes "Muito bem, digite o preço do Item."; next; input .@Price; } if( .@Choose == 1 && Query("GetItem",.@ID) ) { mes "^0000CD[ Kafra Staff ]^000000"; mes "Me desculpe, mais existe um item com"; mes "esta ID no CashShop, você deve remover"; mes "ou editar seus preços para continuar."; } else if( ( .@Choose == 2 || .@Choose == 3 ) && !Query("GetItem",.@ID) ) { mes "^0000CD[ Kafra Staff ]^000000"; mes "Me desculpe, mais não existe um item"; mes "com esta ID no CashShop."; } else { mes "^0000CD[ Kafra Staff ]^000000"; if( .@Choose == 1 ) mes "Tem certeza que Deseja Adicionar este item do CashShop?"; else if( .@Choose == 2 ) mes "Tem certeza que Deseja Remover este item do CashShop?"; else if( .@Choose == 3 ) mes "Tem certeza que Deseja Mudaro Preço deste item do CashShop?"; next; if( Select("- Yes.","- No") == 1 ) RelodDataBase(.@Choose,.@ID,.@Price); } } break; case 4: mes "^0000CD[ Kafra Staff ]^000000"; mes "Good shopping!"; close2; callcashshop "Kafra Staff#cashs2"; cutin "",255; end; case 5: mes "^0000CD[ Kafra Staff ]^000000"; mes "I'll be there."; break; } } close2; cutin "",255; end; OnInit: // InitWaitingRoom Event waitingroom "Assistente do CashShop",0; // InitDB Merchant npccashshopdelitem "Kafra Staff#cashs2",501; Query_SQL("SELECT `id`, `price` FROM `kafra_cashadmin`",.@ID,.@Price); for( set .@i,0; .@i < GetArraySize(.@ID); set .@i, .@i + 1 ) npccashshopadditem "Kafra Staff#cashs2",.@ID[.@i],.@Price[.@i]; end; // ReloadDB Merchant function RelodDataBase { if( GetArg(0) == 1 ) { Query("SetItem",GetArg(1),GetArg(2)); if( Query("GetItem",GetArg(1)) ) { debugmes "AID: " + GetCharID(3) + ", CID: " + GetCharID(0) + ", adicionou o item ID " + GetArg(1) + " pelo preço " + GetArg(2) + " no Kafra CashShop Admin."; npccashshopadditem "Kafra Staff#cashs2",GetArg(1),GetArg(2); dispbottom "Added!"; } else { debugmes "AID: " + GetCharID(3) + ", CID: " + GetCharID(0) + ", tentou adicionar o item ID " + GetArg(1) + " pelo preço " + GetArg(2) + " no Kafra CashShop Admin, mais sua tentativa falhou."; dispbottom "Error while adding!"; } } else if( GetArg(0) == 2 ) { Query("DelItem",GetArg(1)); if( !Query("GetItem",GetArg(1)) ) { debugmes "AID: " + GetCharID(3) + ", CID: " + GetCharID(0) + ", removeu o item ID " + GetArg(1) + " do Kafra CashShop Admin."; npccashshopdelitem "Kafra Staff#cashs2",GetArg(1); dispbottom "Removed!"; } else { debugmes "AID: " + GetCharID(3) + ", CID: " + GetCharID(0) + ", removeu o item ID " + GetArg(1) + " do Kafra CashShop Admin, mais sua tentativa falhou."; dispbottom "Error while removing!"; } } else if( GetArg(0) == 3 ) { Query("ReplacePrice",GetArg(1),GetArg(2)); if( Query("GetPriceInfo",GetArg(1)) == GetArg(2) ) { debugmes "AID: " + GetCharID(3) + ", CID: " + GetCharID(0) + ", mudou o preço do Item ID " + GetArg(1) + " para " + GetArg(2) + " no Kafra CashShop Admin."; npccashshopdelitem "Kafra Staff#cashs2",GetArg(1); npccashshopadditem "Kafra Staff#cashs2",GetArg(1),GetArg(2); dispbottom "Editado com sucesso, reiniciando item... posto no final da lista de compras."; } else { debugmes "AID: " + GetCharID(3) + ", CID: " + GetCharID(0) + ", tried to change the price of Item ID " + GetArg(1) + " to " + GetArg(2) + " in the Kafra CashShop Admin, but failed."; dispbottom "Error while editing item."; } } return; } // Query Result function Query { if( GetArg(0) == "Select" ) { Query_SQL "SELECT `value` FROM `global_reg_value` WHERE `str`='#CASHPOINTS' AND `account_id`='"+ GetArg(1) +"'", .@Consult; return (.@Consult); } else if( GetArg(0) == "Update" ) { Query_SQL "UPDATE `global_reg_value` SET `value`="+ GetArg(2) +" WHERE `str`='#CASHPOINTS' AND `account_id`='"+ GetArg(1) +"'"; return; } else if( GetArg(0) == "Create" ) { Query_Sql "INSERT INTO `global_reg_value` VALUES (0, '#CASHPOINTS', 0, 2, " + GetArg(1) + ")"; return; } else if( GetArg(0) == "Check" ) { Query_SQL "SELECT `str` FROM `global_reg_value` WHERE `account_id`='" + GetArg(1) + "'", .@Return$; return .@Return$; } else if( GetArg(0) == "SetItem" ) { Query_SQL "INSERT INTO `kafra_cashadmin` VALUES (" + GetArg(1) + ", '" + GetItemName(GetArg(1)) + "', " + GetArg(2) + ")"; return; } else if( GetArg(0) == "ReplacePrice" ) { Query_SQL "UPDATE `kafra_cashadmin` SET `price`="+ GetArg(2) +" WHERE `id`='"+ GetArg(1) +"'"; return; } else if( GetArg(0) == "DelItem" ) { Query_SQL "DELETE FROM `kafra_cashadmin` WHERE `id`='"+ GetArg(1) +"'"; return; } else if( GetArg(0) == "GetItem" ) { Query_SQL "SELECT `id` FROM `kafra_cashadmin` WHERE `id`='"+ GetArg(1) +"'",.@Consult; return (.@Consult); } else if( GetArg(0) == "GetPriceInfo" ) { Query_SQL("SELECT `price` FROM `kafra_cashadmin` WHERE `id`='" + GetArg(1) +"'",.@Consult); return (.@Consult); } else return 0; } } // Floating CashShop - cashshop Kafra Staff#cashs2 -1,501:10