Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Buy admin mod. */
- ///////// AMXX Mod X
- #include <amxmodx>
- #include <amxmisc>
- #define PLUGIN "Buy Admin"
- #define VERSION "1.0"
- #define AUTHOR "Hirsw0w"
- //////// Buy Admin
- #define PREFIX "[Buy Admin]"
- new Array:AccessN;
- new Array:Paypal;
- new Array:Paycall;
- new AccessAmount
- new acnum[33],month[33],bool:ispaypal[33] // Menu things.
- new skypeuser[33][33]
- new comment[33][100]
- new newaccess[33][20]
- new newpp[33]
- new newpc[33]
- new taskcvar
- new taskcvartime
- new BuyAdminFile[100] = "addons/amxmodx/BuyAdmin.ini" // Buy Admin File.
- new OrderFile[100] = "addons/amxmodx/AdminOrders.ini" // Order File
- public plugin_init() {
- register_plugin(PLUGIN, VERSION, AUTHOR)
- taskcvar = register_cvar("buyadmin_task_enabled","1")
- taskcvartime = register_cvar("buyadmin_task_time","60.0")
- AccessN = ArrayCreate(20)
- Paypal = ArrayCreate()
- Paycall = ArrayCreate()
- register_clcmd("say /buyadmin","BuyAdmin")
- register_clcmd("skype_user","SkypeUser")
- register_clcmd("buy_comment","BuyComment")
- register_clcmd("new_access","NewAcc")
- register_clcmd("new_paypal","NewPaypal")
- register_clcmd("new_paycall","NewPaycall")
- set_task(get_pcvar_float(taskcvartime),"buyadmin_task")
- }
- public buyadmin_task() {
- if(get_pcvar_num(taskcvar) == 0) {
- set_task(get_pcvar_float(taskcvartime),"buyadmin_task")
- return 1;
- }
- client_print(0,print_chat,"%sWant to buy a admin in this server? order now: /buyadmin",PREFIX)
- return 1;
- }
- public plugin_cfg() {
- if(!file_exists(BuyAdminFile)) {
- write_file(BuyAdminFile,"// Buy Admin Settings File.");
- write_file(BuyAdminFile,"// ")
- write_file(BuyAdminFile,"// how to add new access:")
- write_file(BuyAdminFile,"// [Access Name] [Paypal Price] [Paycall Price]")
- write_file(BuyAdminFile,"// ")
- write_file(BuyAdminFile,"// example:")
- write_file(BuyAdminFile,"// Super-Admin 30 60")
- write_file(BuyAdminFile,"// ")
- write_file(BuyAdminFile,"// Comment: ")
- write_file(BuyAdminFile,"// ")
- write_file(BuyAdminFile,"// * if the paypal price or the paycall price is 0 the payment method is disable.")
- }
- if(!file_exists(OrderFile))
- write_file(OrderFile,"// Admin Orders File.")
- LoadAccess();
- }
- public LoadAccess() {
- new File = fopen(BuyAdminFile,"rt")
- new sBuffer[128],Acces[20],PP[4],PC[4];
- while(!feof(File))
- {
- fgets(File, sBuffer, charsmax(sBuffer));
- if(!strlen(sBuffer) || sBuffer[0] == '/' && sBuffer[1] == '/')
- continue;
- parse(sBuffer,Acces,charsmax(Acces),PP,charsmax(PP),PC,charsmax(PC));
- AccessAmount++
- ArrayPushString(AccessN,Acces)
- ArrayPushCell(Paypal,str_to_num(PP))
- ArrayPushCell(Paycall,str_to_num(PC))
- }
- fclose(File)
- }
- public SkypeUser(id) {
- new message[192];
- read_argv(1, message, sizeof(message));
- formatex(skypeuser[id],32,"%s",message)
- OrderMenu(id)
- return 1;
- }
- public BuyComment(id) {
- new message[192];
- read_argv(1, message, sizeof(message));
- formatex(comment[id],99,"%s",message)
- OrderMenu(id)
- return 1;
- }
- public NewAcc(id) {
- new message[192];
- read_argv(1, message, sizeof(message));
- formatex(newaccess[id],19,"%s",message)
- AddAccess(id)
- return 1;
- }
- public NewPaypal(id) {
- new message[192];
- read_argv(1, message, sizeof(message));
- newpp[id] = str_to_num(message)
- AddAccess(id)
- return 1;
- }
- public NewPaycall(id) {
- new message[192];
- read_argv(1, message, sizeof(message));
- newpc[id] = str_to_num(message)
- AddAccess(id)
- return 1;
- }
- public BuyAdmin(id) {
- new Item[80],Title[80],Name[20];
- new paypalprice = ArrayGetCell(Paypal,acnum[id])
- new paycallprice = ArrayGetCell(Paycall,acnum[id])
- ArrayGetString(AccessN,acnum[id],Name,19)
- if(paypalprice == 0)
- ispaypal[id] = false
- else if(paycallprice == 0)
- ispaypal[id] = true
- formatex(Title,79,"%s Buy Admin Menu: ",PREFIX)
- new menu = menu_create(Title,"sub_menu");
- formatex(Item,79,"Access - [ \r%s\w ]",Name)
- menu_additem(menu,Item, "0")
- formatex(Item,79,"Payment Method - [ \r%s\w ]",ispaypal[id] ? "Paypal":"Paycall")
- menu_additem(menu,Item,"1")
- formatex(Item,79,"Month - [ \r%d\w ]",month[id])
- menu_additem(menu,Item,"2")
- formatex(Item,79,"\dPrice - [ \r%d\d ]", month[id] * (ispaypal[id] ? paypalprice:paycallprice))
- menu_additem(menu,Item,"",_,menu_makecallback("BlockItem"))
- menu_additem(menu,"Order this access.","3")
- if(get_user_flags(id) & ADMIN_IMMUNITY)
- menu_additem(menu,"\yOwner Option: \wAdd Access","4")
- menu_display(id,menu)
- }
- public BlockItem(id,menu,item)
- return ITEM_DISABLED;
- public sub_menu(id,menu,item) {
- if(item == MENU_EXIT) {
- menu_destroy(menu);
- return 1;
- }
- new Data[7], Name[64];
- new access, callback;
- menu_item_getinfo(menu, item, access, Data,5, Name, 63, callback);
- new key = str_to_num(Data);
- switch(key) {
- case 0: {
- if(acnum[id] >= AccessAmount - 1)
- acnum[id] = 0
- else
- acnum[id]++
- }
- case 1: ispaypal[id] = ispaypal[id] ? false:true;
- case 2: {
- if(month[id] == 12)
- month[id] = 1
- else
- month[id]++
- }
- case 3: {
- OrderMenu(id)
- return 1;
- }
- case 4: {
- AddAccess(id)
- return 1;
- }
- }
- BuyAdmin(id)
- return 1;
- }
- public AddAccess(id) {
- if(!get_user_flags(id) & ADMIN_IMMUNITY) {
- client_print(id,print_chat,"%s you dont have access to this menu.",PREFIX)
- return 1;
- }
- new Item[100]
- new menu = menu_create("Add new buy admin access","sub_addaccessmenu");
- formatex(Item,99,"Access Name: \y%s",newaccess[id])
- menu_additem(menu,Item,"1")
- formatex(Item,99,"Paypal Price: \y%d",newpp[id])
- menu_additem(menu,Item,"2")
- formatex(Item,99,"Paycall Price: \y%d",newpc[id])
- menu_additem(menu,Item,"3")
- menu_additem(menu,"\rAdd Access Now!!!","4")
- menu_display(id,menu)
- return 1;
- }
- public sub_addaccessmenu(id,menu,item) {
- if(item == MENU_EXIT) {
- BuyAdmin(id)
- return 1;
- }
- new Data[7], Name[64];
- new access, callback;
- menu_item_getinfo(menu, item, access, Data,5, Name, 63, callback);
- new key = str_to_num(Data);
- switch(key) {
- case 1: client_cmd(id,"messagemode new_access")
- case 2: client_cmd(id,"messagemode new_paypal")
- case 3: client_cmd(id,"messagemode new_paycall")
- case 4: {
- new Item[60]
- formatex(Item,59,"^n%s %d %d",newaccess[id],newpp[id],newpc[id])
- write_file(BuyAdminFile,Item)
- client_print(id,print_chat,"%s The new access has been added!",PREFIX)
- ArrayClear(AccessN)
- ArrayClear(Paypal)
- ArrayClear(Paycall)
- AccessAmount = 0
- LoadAccess();
- }
- }
- }
- public OrderMenu(id) {
- new Item[80],Title[150],Name[20];
- ArrayGetString(AccessN,acnum[id],Name,19);
- formatex(Title,149,"%s Order Admin Menu^nThe Order:^nAccess:%s^nMonth:%d^nPayment Method:%s^nPrice:%d^n",PREFIX,Name,month[id],ispaypal[id] ? "Paypall":"Paycall",month[id] * (ispaypal[id] ? ArrayGetCell(Paypal,acnum[id]):ArrayGetCell(Paycall,acnum[id])))
- new menu = menu_create(Title,"sub_ordermenu");
- formatex(Item,79,"Skype user: \y%s",skypeuser[id])
- menu_additem(menu,Item,"1")
- formatex(Item,79,"Comment: \y%s", comment[id])
- menu_additem(menu,Item,"2")
- menu_additem(menu,"\rSend Order.","3")
- menu_setprop(menu,MPROP_EXITNAME,"Back Change Order")
- menu_display(id,menu)
- }
- public sub_ordermenu(id,menu,item) {
- if(item == MENU_EXIT) {
- BuyAdmin(id)
- return 1;
- }
- new Data[7], Name[64];
- new access, callback;
- menu_item_getinfo(menu, item, access, Data,5, Name, 63, callback);
- new key = str_to_num(Data);
- switch(key) {
- case 1: client_cmd(id,"messagemode skype_user")
- case 2: client_cmd(id,"messagemode buy_comment")
- case 3: {
- new Item[ 100 ],acname[20];
- ArrayGetString(AccessN,acnum[id],acname,19);
- write_file(OrderFile,"New Order: ");
- formatex(Item,99,"Name: %s",get_name(id))
- write_file(OrderFile,Item);
- formatex(Item,99,"Skype User: %s",skypeuser[id])
- write_file(OrderFile,Item)
- formatex(Item,99,"Comment: %s",comment[id])
- write_file(OrderFile,Item)
- formatex(Item,99,"The Order: Accsess: %s, Month: %d, Payment Method: %s, Price: %d",acname,month[id],ispaypal[id] ? "Paypall":"Paycall",month[id] * (ispaypal[id] ? ArrayGetCell(Paypal,acnum[id]):ArrayGetCell(Paycall,acnum[id])))
- write_file(OrderFile,Item)
- write_file(OrderFile," ")
- client_print(id,print_chat,"%sYou order now a %s for %d months!",PREFIX,acname,month[id])
- return 1;
- }
- }
- return 1;
- }
- stock get_name(const index) {
- new szName[32]
- get_user_name(index,szName,31)
- return szName
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement