#include #include #include #include #include new const Plugin[] = "HotelMod" new const Version[] = "1.0" new const Author[] = "Harbu" new g_hotel[33] new hotelorigin[3] = {-1565, -1855, 356} //dbi new Sql:dbc new Result:result new query[256] public plugin_init() { register_plugin(Plugin,Version,Author) register_cvar("rp_hotelmod_1day","86400") register_cvar("rp_hotelmod_2day","172800") register_cvar("rp_hotelmod_3day","259200") register_cvar("rp_hotelmod_price_1day","60") register_cvar("rp_hotelmod_price_2day","720") register_cvar("rp_hotelmod_price_3day","1440") register_menucmd(register_menuid("Welcome to the Hotel"),1023,"action_hotel") register_menucmd(register_menuid("Pick your choice of room"),1023,"action_room_menu") register_menucmd(register_menuid("Room availability:"),1023,"action_roomstatus") register_menucmd(register_menuid("Hotel A: How long will you be staying?"),1023,"action_hotel_a") register_menucmd(register_menuid("Hotel B: How long will you be staying?"),1023,"action_hotel_b") register_menucmd(register_menuid("Hotel C: How long will you be staying?"),1023,"action_hotel_c") register_menucmd(register_menuid("Hotel D: How long will you be staying?"),1023,"action_hotel_d") set_task(60.0,"remove_access_a",0,"",0,"b") set_task(60.0,"remove_access_b",0,"",0,"b") set_task(60.0,"remove_access_c",0,"",0,"b") set_task(60.0,"remove_access_d",0,"",0,"b") set_task(1.0,"sql_init") } // Connecting to SQL public sql_init() { new host[64], username[33], password[33], dbname[33], error[256] get_cvar_string("economy_mysql_host",host,63); get_cvar_string("economy_mysql_user",username,32); get_cvar_string("economy_mysql_pass",password,32); get_cvar_string("economy_mysql_db",dbname,32); dbc = dbi_connect(host,username,password,dbname,error,255); if (dbc == SQL_FAILED) { set_fail_state("[HotelMod] Couldn't connect to SQL Database.^n"); server_print("[HotelMod] Couldn't connect to SQL Database.^n"); } else { server_print("[HotelMod] Connected to SQL, have a nice day!^n"); CheckTables() } } // Checking if tables exist or not. CheckTables(){ if(dbc == SQL_FAILED) { return PLUGIN_HANDLED; } format(query,255,"CREATE TABLE IF NOT EXISTS hotelmod (steamid varchar(64), room varchar(64), mins int(32), type varchar(64), name varchar(64))"); dbi_query(dbc,"%s",query); return PLUGIN_CONTINUE; } public client_PreThink(id) { new origin[3] get_user_origin(id,origin) if(entity_get_int(id,EV_INT_button) & IN_USE && !(entity_get_int(id,EV_INT_oldbuttons) & IN_USE)) { if(get_distance(origin,hotelorigin) <= 150.0) { hotel(id) } } return PLUGIN_CONTINUE } public edit_value(id,table[],index[],func[],amount) { if(dbc < SQL_OK) return PLUGIN_HANDLED new authid[32], query[256] get_user_authid(id,authid,31) if(equali(func,"=")) { format(query,255,"UPDATE %s SET %s=%i WHERE steamid='%s'",table,index,amount,authid) } else { format(query,255,"UPDATE %s SET %s=%s%s%i WHERE steamid='%s'",table,index,index,func,amount,authid) } dbi_query(dbc,"%s",query) return PLUGIN_HANDLED } stock get_user_money(id) { new authid[32], balance get_user_authid(id,authid,31) format( query, 255, "SELECT balance FROM money WHERE steamid='%s'", authid) result = dbi_query(dbc,"%s",query) if(result >= RESULT_OK) { dbi_nextrow(result) new buffer[32] dbi_field(result,1,buffer,31) balance = str_to_num(buffer) dbi_free_result(result) } return balance } public hotel(id) { if(!is_user_alive(id)) return PLUGIN_HANDLED new menu[256] new key = (1<<0|1<<1|1<<9) new len = format(menu, sizeof(menu), "Welcome to the Hotel^n^n") len += format(menu[len],sizeof(menu)-len,"1. Rent a room^n") len += format(menu[len],sizeof(menu)-len,"2. Room availability^n^n") len += format(menu[len],sizeof(menu)-len,"0. Close Menu") show_menu(id,key,menu) return PLUGIN_HANDLED } public action_hotel(id,key) { switch(key){ case 0:{ room_menu(id) } case 1:{ roomstatus(id) } case 9:{ return PLUGIN_HANDLED } } return PLUGIN_HANDLED } public room_menu(id) { new menu[256] new key = (1<<0|1<<1|1<<2|1<<3|1<<8|1<<9) new len = format(menu, sizeof(menu), "Rent your room.^n^n") len += format(menu[len],sizeof(menu)-len,"1. Hotel A^n") len += format(menu[len],sizeof(menu)-len,"2. Hotel B^n") len += format(menu[len],sizeof(menu)-len,"3. Hotel C^n") len += format(menu[len],sizeof(menu)-len,"4. Hotel D^n^n") len += format(menu[len],sizeof(menu)-len,"9. Go Back^n^n") len += format(menu[len],sizeof(menu)-len,"0. Close Menu") show_menu(id,key,menu) return PLUGIN_HANDLED } public action_room_menu(id,key) { switch(key){ case 0:{ hotel_a(id) } case 1:{ hotel_b(id) } case 2:{ hotel_c(id) } case 3:{ hotel_d(id) } case 8:{ hotel(id) } case 9:{ return PLUGIN_HANDLED } } return PLUGIN_HANDLED } public hotel_a(id) { new menu[256] new key = (1<<0|1<<1|1<<2|1<<8|1<<9) new len = format(menu, sizeof(menu), "Hotel A: How long will you be staying?^n^n") len += format(menu[len],sizeof(menu)-len,"1. One Day ($%i)^n",get_cvar_num("rp_hotelmod_price_1day")) len += format(menu[len],sizeof(menu)-len,"2. Two Days ($%i)^n",get_cvar_num("rp_hotelmod_price_2day")) len += format(menu[len],sizeof(menu)-len,"3. Three Days ($%i)^n^n",get_cvar_num("rp_hotelmod_price_3day")) len += format(menu[len],sizeof(menu)-len,"9. Go Back^n^n") len += format(menu[len],sizeof(menu)-len,"0. Close Menu") show_menu(id,key,menu) return PLUGIN_HANDLED } public action_hotel_a(id,key) { new authid[32], name[33], cost, time, minutes get_user_authid(id,authid,31) get_user_name(id,name,32) switch(key){ case 0: { format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel A'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { client_print(id,print_chat,"[HotelMod] This room is already rented, come back later^n") return PLUGIN_HANDLED } dbi_free_result(result) } check_room(id,1) check_room(id,2) check_room(id,3) if(g_hotel[id] != 0) { client_print(id,print_chat,"[HotelMod] You can only have one room at a time sir.") g_hotel[id] = 0 //RESET, because the checks are executed. return PLUGIN_HANDLED } cost = get_cvar_num("rp_hotelmod_price_1day") time = get_cvar_num("rp_hotelmod_1day") format( query, 255, "UPDATE property SET ownername='%s' WHERE doorname='336'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE property SET ownersteamid='%s' WHERE doorname='336",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET name='%s' WHERE room='Hotel A'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET steamid='%s' WHERE room='Hotel A'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET minutes='%i' WHERE room='Hotel A'",time) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET type='1 Day' WHERE room='Hotel A'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET profit=profit+'%i' WHERE doorname='281'",cost) dbi_query(dbc,"%s",query) if(get_user_money(id) < cost) { client_print(id,print_chat,"[Bank] Not enough money in bank to rent this room^n") return PLUGIN_HANDLED } edit_value(id,"money","balance","-",cost) client_print(id,print_chat,"[HotelMod] Room A rented for 1 day. Enjoy your stay, sir") g_hotel[id] = 0 } case 1: { format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel A'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { client_print(id,print_chat,"[HotelMod] This room is already rented, come back later^n") return PLUGIN_HANDLED } dbi_free_result(result) } check_room(id,1) check_room(id,2) check_room(id,3) if(g_hotel[id] != 0) { client_print(id,print_chat,"[HotelMod] You can only have one room at a time sir.") g_hotel[id] = 0 //RESET, because the checks are executed. return PLUGIN_HANDLED } cost = get_cvar_num("rp_hotelmod_price_2day") time = get_cvar_num("rp_hotelmod_2day") format( query, 255, "UPDATE property SET ownername='%s' WHERE doorname='336'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE property SET ownersteamid='%s' WHERE doorname='336'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET name='%s' WHERE room='Hotel A'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET steamid='%s' WHERE room='Hotel A'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET minutes='%i' WHERE room='Hotel A'",time) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET type='2 Days' WHERE room='Hotel A'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET profit=profit+'%i' WHERE doorname='281'",cost) dbi_query(dbc,"%s",query) if(get_user_money(id) < cost) { client_print(id,print_chat,"[Bank] Not enough money in bank to rent this room^n") return PLUGIN_HANDLED } edit_value(id,"money","balance","-",cost) client_print(id,print_chat,"[HotelMod] Room A rented for 2 days. Enjoy your stay, sir") g_hotel[id] = 0 } case 2: { format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel A'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { client_print(id,print_chat,"[HotelMod] This room is already rented, come back later^n") return PLUGIN_HANDLED } dbi_free_result(result) } check_room(id,1) check_room(id,2) check_room(id,3) if(g_hotel[id] != 0) { client_print(id,print_chat,"[HotelMod] You can only have one room at a time sir.") g_hotel[id] = 0 //RESET, because the checks are executed. return PLUGIN_HANDLED } cost = get_cvar_num("rp_hotelmod_price_3day") time = get_cvar_num("rp_hotelmod_3day") format( query, 255, "UPDATE property SET ownername='%s' WHERE doorname='336'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE property SET ownersteamid='%s' WHERE doorname='336'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET name='%s' WHERE room='Hotel A'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET steamid='%s' WHERE room='Hotel A'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET minutes='%i' WHERE room='Hotel A'",time) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET type='3 Days' WHERE room='Hotel A'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET profit=profit+'%i' WHERE doorname='281'",cost) dbi_query(dbc,"%s",query) if(get_user_money(id) < cost) { client_print(id,print_chat,"[Bank] Not enough money in bank to rent this room^n") return PLUGIN_HANDLED } edit_value(id,"money","balance","-",cost) client_print(id,print_chat,"[HotelMod] Room A rented for 3 days. Enjoy your stay, sir") g_hotel[id] = 0 } case 8: { room_menu(id) } case 9: { return PLUGIN_HANDLED } } return PLUGIN_HANDLED } public hotel_b(id) { new menu[256] new key = (1<<0|1<<1|1<<2|1<<8|1<<9) new len = format(menu, sizeof(menu), "Hotel B: How long will you be staying?^n^n") len += format(menu[len],sizeof(menu)-len,"1. One Day ($%i)^n",get_cvar_num("rp_hotelmod_price_1day")) len += format(menu[len],sizeof(menu)-len,"2. Two Days ($%i)^n",get_cvar_num("rp_hotelmod_price_2day")) len += format(menu[len],sizeof(menu)-len,"3. Three Days ($%i)^n^n",get_cvar_num("rp_hotelmod_price_3day")) len += format(menu[len],sizeof(menu)-len,"9. Go Back^n^n") len += format(menu[len],sizeof(menu)-len,"0. Close Menu") show_menu(id,key,menu) return PLUGIN_HANDLED } public action_hotel_b(id,key) { new authid[32], name[33], cost, time, minutes get_user_authid(id,authid,31) get_user_name(id,name,32) switch(key){ case 0: { format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel B'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { client_print(id,print_chat,"[HotelMod] This room is already rented, come back later^n") return PLUGIN_HANDLED } dbi_free_result(result) } check_room(id,0) check_room(id,2) check_room(id,3) if(g_hotel[id] != 0) { client_print(id,print_chat,"[HotelMod] You can only have one room at a time sir.") g_hotel[id] = 0 //RESET, because the checks are executed. return PLUGIN_HANDLED } cost = get_cvar_num("rp_hotelmod_price_1day") time = get_cvar_num("rp_hotelmod_1day") format( query, 255, "UPDATE property SET ownername='%s' WHERE doorname='345'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE property SET ownersteamid='%s' WHERE doorname='345'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET name='%s' WHERE room='Hotel B'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET steamid='%s' WHERE room='Hotel B'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET minutes='%i' WHERE room='Hotel B'",time) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET type='1 Day' WHERE room='Hotel B'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET profit=profit+'%i' WHERE doorname='281'",cost) dbi_query(dbc,"%s",query) if(get_user_money(id) < cost) { client_print(id,print_chat,"[Bank] Not enough money in bank to rent this room^n") return PLUGIN_HANDLED } edit_value(id,"money","balance","-",cost) client_print(id,print_chat,"[HotelMod] Room B rented for 1 day. Enjoy your stay, sir") g_hotel[id] = 0 } case 1: { format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel B'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { client_print(id,print_chat,"[HotelMod] This room is already rented, come back later^n") return PLUGIN_HANDLED } dbi_free_result(result) } check_room(id,0) check_room(id,2) check_room(id,3) if(g_hotel[id] != 0) { client_print(id,print_chat,"[HotelMod] You can only have one room at a time sir.") g_hotel[id] = 0 //RESET, because the checks are executed. return PLUGIN_HANDLED } cost = get_cvar_num("rp_hotelmod_price_2day") time = get_cvar_num("rp_hotelmod_2day") format( query, 255, "UPDATE property SET ownername='%s' WHERE doorname='345'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE property SET ownersteamid='%s' WHERE doorname='345'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET name='%s' WHERE room='Hotel B'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET steamid='%s' WHERE room='Hotel B'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET minutes='%i' WHERE room='Hotel B'",time) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET type='2 Days' WHERE room='Hotel B'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET profit=profit+'%i' WHERE doorname='281'",cost) dbi_query(dbc,"%s",query) if(get_user_money(id) < cost) { client_print(id,print_chat,"[Bank] Not enough money in bank to rent this room^n") return PLUGIN_HANDLED } edit_value(id,"money","balance","-",cost) client_print(id,print_chat,"[HotelMod] Room B rented for 2 days. Enjoy your stay, sir") g_hotel[id] = 0 } case 2: { format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel B'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { client_print(id,print_chat,"[HotelMod] This room is already rented, come back later^n") return PLUGIN_HANDLED } dbi_free_result(result) } check_room(id,0) check_room(id,2) check_room(id,3) if(g_hotel[id] != 0) { client_print(id,print_chat,"[HotelMod] You can only have one room at a time sir.") g_hotel[id] = 0 //RESET, because the checks are executed. return PLUGIN_HANDLED } cost = get_cvar_num("rp_hotelmod_price_3day") time = get_cvar_num("rp_hotelmod_3day") format( query, 255, "UPDATE property SET ownername='%s' WHERE doorname='345'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE property SET ownersteamid='%s' WHERE doorname='345'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET name='%s' WHERE room='Hotel B'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET steamid='%s' WHERE room='Hotel B'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET minutes='%i' WHERE room='Hotel B'",time) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET type='3 Days' WHERE room='Hotel B'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET profit=profit+'%i' WHERE doorname='281'",cost) dbi_query(dbc,"%s",query) if(get_user_money(id) < cost) { client_print(id,print_chat,"[Bank] Not enough money in bank to rent this room^n") return PLUGIN_HANDLED } edit_value(id,"money","balance","-",cost) client_print(id,print_chat,"[HotelMod] Room B rented for 3 days. Enjoy your stay, sir") g_hotel[id] = 0 } case 8: { room_menu(id) } case 9: { return PLUGIN_HANDLED } } return PLUGIN_HANDLED } public hotel_c(id) { new menu[256] new key = (1<<0|1<<1|1<<2|1<<8|1<<9) new len = format(menu, sizeof(menu), "Hotel C: How long will you be staying?^n^n") len += format(menu[len],sizeof(menu)-len,"1. One Day ($%i)^n",get_cvar_num("rp_hotelmod_price_1day")) len += format(menu[len],sizeof(menu)-len,"2. Two Days ($%i)^n",get_cvar_num("rp_hotelmod_price_2day")) len += format(menu[len],sizeof(menu)-len,"3. Three Days ($%i)^n^n",get_cvar_num("rp_hotelmod_price_3day")) len += format(menu[len],sizeof(menu)-len,"9. Go Back^n^n") len += format(menu[len],sizeof(menu)-len,"0. Close Menu") show_menu(id,key,menu) return PLUGIN_HANDLED } public action_hotel_c(id,key) { new authid[32], name[33], cost, time, minutes get_user_authid(id,authid,31) get_user_name(id,name,32) switch(key){ case 0: { format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel C'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { client_print(id,print_chat,"[HotelMod] This room is already rented, come back later^n") return PLUGIN_HANDLED } dbi_free_result(result) } check_room(id,0) check_room(id,1) check_room(id,3) if(g_hotel[id] != 0) { client_print(id,print_chat,"[HotelMod] You can only have one room at a time sir.") g_hotel[id] = 0 //RESET, because the checks are executed. return PLUGIN_HANDLED } cost = get_cvar_num("rp_hotelmod_price_1day") time = get_cvar_num("rp_hotelmod_1day") format( query, 255, "UPDATE property SET ownername='%s' WHERE doorname='302'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE property SET ownersteamid='%s' WHERE doorname='302'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET name='%s' WHERE room='Hotel C'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET steamid='%s' WHERE room='Hotel C'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET minutes='%i' WHERE room='Hotel C'",time) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET type='1 Day' WHERE room='Hotel C'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET profit=profit+'%i' WHERE doorname='281'",cost) dbi_query(dbc,"%s",query) if(get_user_money(id) < cost) { client_print(id,print_chat,"[Bank] Not enough money in bank to rent this room^n") return PLUGIN_HANDLED } edit_value(id,"money","balance","-",cost) client_print(id,print_chat,"[HotelMod] Room C rented for 1 day. Enjoy your stay, sir") g_hotel[id] = 0 } case 1: { format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel C'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { client_print(id,print_chat,"[HotelMod] This room is already rented, come back later^n") return PLUGIN_HANDLED } dbi_free_result(result) } check_room(id,0) check_room(id,1) check_room(id,3) if(g_hotel[id] != 0) { client_print(id,print_chat,"[HotelMod] You can only have one room at a time sir.") g_hotel[id] = 0 //RESET, because the checks are executed. return PLUGIN_HANDLED } cost = get_cvar_num("rp_hotelmod_price_2day") time = get_cvar_num("rp_hotelmod_2day") format( query, 255, "UPDATE property SET ownername='%s' WHERE doorname='302'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE property SET ownersteamid='%s' WHERE doorname='302'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET name='%s' WHERE room='Hotel C'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET steamid='%s' WHERE room='Hotel C'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET minutes='%i' WHERE room='Hotel C'",time) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET type='2 Days' WHERE room='Hotel C'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET profit=profit+'%i' WHERE doorname='281'",cost) dbi_query(dbc,"%s",query) if(get_user_money(id) < cost) { client_print(id,print_chat,"[Bank] Not enough money in bank to rent this room^n") return PLUGIN_HANDLED } edit_value(id,"money","balance","-",cost) client_print(id,print_chat,"[HotelMod] Room C rented for 2 days. Enjoy your stay, sir") g_hotel[id] = 0 } case 2: { format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel C'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { client_print(id,print_chat,"[HotelMod] This room is already rented, come back later^n") return PLUGIN_HANDLED } dbi_free_result(result) } check_room(id,0) check_room(id,1) check_room(id,3) if(g_hotel[id] != 0) { client_print(id,print_chat,"[HotelMod] You can only have one room at a time sir.") g_hotel[id] = 0 //RESET, because the checks are executed. return PLUGIN_HANDLED } cost = get_cvar_num("rp_hotelmod_price_3day") time = get_cvar_num("rp_hotelmod_3day") format( query, 255, "UPDATE property SET ownername='%s' WHERE doorname='302'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE property SET ownersteamid='%s' WHERE doorname='302'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET name='%s' WHERE room='Hotel C'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET steamid='%s' WHERE room='Hotel C'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET minutes='%i' WHERE room='Hotel C'",time) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET type='3 Days' WHERE room='Hotel C'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET profit=profit+'%i' WHERE doorname='281'",cost) dbi_query(dbc,"%s",query) if(get_user_money(id) < cost) { client_print(id,print_chat,"[Bank] Not enough money in bank to rent this room^n") return PLUGIN_HANDLED } edit_value(id,"money","balance","-",cost) client_print(id,print_chat,"[HotelMod] Room C rented for 3 days. Enjoy your stay, sir") g_hotel[id] = 0 } case 8: { room_menu(id) } case 9: { return PLUGIN_HANDLED } } return PLUGIN_HANDLED } public hotel_d(id) { new menu[256] new key = (1<<0|1<<1|1<<2|1<<8|1<<9) new len = format(menu, sizeof(menu), "Hotel D: How long will you be staying?^n^n") len += format(menu[len],sizeof(menu)-len,"1. One Day ($%i)^n",get_cvar_num("rp_hotelmod_price_1day")) len += format(menu[len],sizeof(menu)-len,"2. Two Days ($%i)^n",get_cvar_num("rp_hotelmod_price_2day")) len += format(menu[len],sizeof(menu)-len,"3. Three Days ($%i)^n^n",get_cvar_num("rp_hotelmod_price_3day")) len += format(menu[len],sizeof(menu)-len,"9. Go Back^n^n") len += format(menu[len],sizeof(menu)-len,"0. Close Menu") show_menu(id,key,menu) return PLUGIN_HANDLED } public action_hotel_d(id,key) { new authid[32], name[33], cost, time, minutes get_user_authid(id,authid,31) get_user_name(id,name,32) switch(key) { case 0: { format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel D'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { client_print(id,print_chat,"[HotelMod] This room is already rented, come back later^n") return PLUGIN_HANDLED } dbi_free_result(result) } check_room(id,0) check_room(id,1) check_room(id,2) if(g_hotel[id] != 0) { client_print(id,print_chat,"[HotelMod] You can only have one room at a time sir.") g_hotel[id] = 0 //RESET, because the checks are executed. return PLUGIN_HANDLED } cost = get_cvar_num("rp_hotelmod_price_1day") time = get_cvar_num("rp_hotelmod_1day") format( query, 255, "UPDATE property SET ownername='%s' WHERE doorname='309'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE property SET ownersteamid='%s' WHERE doorname='309'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET name='%s' WHERE room='Hotel D'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET steamid='%s' WHERE room='Hotel D'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET minutes='%i' WHERE room='Hotel D'",time) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET type='1 Day' WHERE room='Hotel D'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET profit=profit+'%i' WHERE doorname='281'",cost) dbi_query(dbc,"%s",query) if(get_user_money(id) < cost) { client_print(id,print_chat,"[Bank] Not enough money in bank to rent this room^n") return PLUGIN_HANDLED } edit_value(id,"money","balance","-",cost) client_print(id,print_chat,"[HotelMod] Room D rented for 1 day. Enjoy your stay, sir") g_hotel[id] = 0 } case 1: { format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel D'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { client_print(id,print_chat,"[HotelMod] This room is already rented, come back later^n") return PLUGIN_HANDLED } dbi_free_result(result) } check_room(id,0) check_room(id,1) check_room(id,2) if(g_hotel[id] != 0) { client_print(id,print_chat,"[HotelMod] You can only have one room at a time sir.") g_hotel[id] = 0 //RESET, because the checks are executed. return PLUGIN_HANDLED } cost = get_cvar_num("rp_hotelmod_price_2day") time = get_cvar_num("rp_hotelmod_2day") format( query, 255, "UPDATE property SET ownername='%s' WHERE doorname='309'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE property SET ownersteamid='%s' WHERE doorname='309'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET name='%s' WHERE room='Hotel D'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET steamid='%s' WHERE room='Hotel D'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET minutes='%i' WHERE room='Hotel D'",time) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET type='2 Days' WHERE room='Hotel D'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET profit=profit+'%i' WHERE doorname='281'",cost) dbi_query(dbc,"%s",query) if(get_user_money(id) < cost) { client_print(id,print_chat,"[Bank] Not enough money in bank to rent this room^n") return PLUGIN_HANDLED } edit_value(id,"money","balance","-",cost) client_print(id,print_chat,"[HotelMod] Room D rented for 2 days. Enjoy your stay, sir") g_hotel[id] = 0 } case 2: { format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel D'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { client_print(id,print_chat,"[HotelMod] This room is already rented, come back later^n") return PLUGIN_HANDLED } dbi_free_result(result) } check_room(id,0) check_room(id,1) check_room(id,2) if(g_hotel[id] != 0) { client_print(id,print_chat,"[HotelMod] You can only have one room at a time sir.") g_hotel[id] = 0 //RESET, because the checks are executed. return PLUGIN_HANDLED } cost = get_cvar_num("rp_hotelmod_price_3day") time = get_cvar_num("rp_hotelmod_3day") format( query, 255, "UPDATE property SET ownername='%s' WHERE doorname='309'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE property SET ownersteamid='%s' WHERE doorname='309'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET name='%s' WHERE room='Hotel D'",name) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET steamid='%s' WHERE room='Hotel D'",authid) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET minutes='%i' WHERE room='Hotel D'",time) dbi_query(dbc,"%s",query) format( query, 255, "UPDATE hotelmod SET type='3 Days' WHERE room='Hotel D'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET profit=profit+'%i' WHERE doorname='281'",cost) dbi_query(dbc,"%s",query) if(get_user_money(id) < cost) { client_print(id,print_chat,"[Bank] Not enough money in bank to rent this room^n") return PLUGIN_HANDLED } edit_value(id,"money","balance","-",cost) client_print(id,print_chat,"[HotelMod] Room D rented for 3 days. Enjoy your stay, sir") g_hotel[id] = 0 } case 8: { room_menu(id) } case 9: { return PLUGIN_HANDLED } } return PLUGIN_HANDLED } public roomstatus(id) { new menu[256] new key = (1<<0|1<<1|1<<2|1<<3|1<<8|1<<9) new len = format(menu, sizeof(menu), "Room availability:^n^n") len += format(menu[len],sizeof(menu)-len,"1. Hotel A^n") len += format(menu[len],sizeof(menu)-len,"2. Hotel B^n") len += format(menu[len],sizeof(menu)-len,"3. Hotel C^n") len += format(menu[len],sizeof(menu)-len,"4. Hotel D^n^n") len += format(menu[len],sizeof(menu)-len,"9. Go Back^n^n") len += format(menu[len],sizeof(menu)-len,"0. Close Menu") show_menu(id,key,menu) return PLUGIN_HANDLED } public action_roomstatus(id,key) { new steamid[32], renter[33], time, kind[33] switch(key) { case 0: { format(query,255,"SELECT name,steamid,minutes,type FROM hotelmod WHERE room='Hotel A'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { dbi_field(result,1,renter,32) dbi_field(result,2,steamid,31) //like above, but for the steamid time = dbi_field(result,3) //just a normal variable, no need for a max dbi_field(result,4,kind,32) //kind is a string or number ? } new roommotd[2000] new len = format(roommotd,511,"Name: %s^n^n",renter) len += format(roommotd[len],511-len,"SteamID: %s^n^n",steamid) len += format(roommotd[len],511-len,"Minutes Left: %i^n^n",time) len += format(roommotd[len],511-len,"Type of rent: %s^n^n",kind) show_motd(id,roommotd,"Hotel A Status") dbi_free_result(result) } case 1: { format(query,255,"SELECT name,steamid,minutes,type FROM hotelmod WHERE room='Hotel B'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { dbi_field(result,1,renter,32) dbi_field(result,2,steamid,31) //like above, but for the steamid time = dbi_field(result,3) //just a normal variable, no need for a max dbi_field(result,4,kind,32) //kind is a string or number ? } new roommotd[2000] new len = format(roommotd,511,"Name: %s^n^n",renter) len += format(roommotd[len],511-len,"SteamID: %s^n^n",steamid) len += format(roommotd[len],511-len,"Minutes Left: %i^n^n",time) len += format(roommotd[len],511-len,"Type of rent: %s^n^n",kind) show_motd(id,roommotd,"Hotel B Status") dbi_free_result(result) } case 2: { format(query,255,"SELECT name,steamid,minutes,type FROM hotelmod WHERE room='Hotel C'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { dbi_field(result,1,renter,32) dbi_field(result,2,steamid,31) //like above, but for the steamid time = dbi_field(result,3) //just a normal variable, no need for a max dbi_field(result,4,kind,32) //kind is a string or number ? } new roommotd[2000] new len = format(roommotd,511,"Name: %s^n^n",renter) len += format(roommotd[len],511-len,"SteamID: %s^n^n",steamid) len += format(roommotd[len],511-len,"Minutes Left: %i^n^n",time) len += format(roommotd[len],511-len,"Type of rent: %s^n^n",kind) show_motd(id,roommotd,"Hotel C Status") dbi_free_result(result) } case 3: { format(query,255,"SELECT name,steamid,minutes,type FROM hotelmod WHERE room='Hotel D'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { dbi_field(result,1,renter,32) dbi_field(result,2,steamid,31) //like above, but for the steamid time = dbi_field(result,3) //just a normal variable, no need for a max dbi_field(result,4,kind,32) //kind is a string or number ? } new roommotd[2000] new len = format(roommotd,511,"Name: %s^n^n",renter) len += format(roommotd[len],511-len,"SteamID: %s^n^n",steamid) len += format(roommotd[len],511-len,"Minutes Left: %i^n^n",time) len += format(roommotd[len],511-len,"Type of rent: %s^n^n",kind) show_motd(id,roommotd,"Hotel D Status") dbi_free_result(result) } case 8: { hotel(id) } case 9: { return PLUGIN_HANDLED } } return PLUGIN_HANDLED } public remove_access_a(id) { new minutes format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel A'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { format(query,255,"UPDATE hotelmod SET minutes=minutes-1 WHERE room='Hotel A'") dbi_query(dbc,"%s",query) } if(minutes <= 0) { format(query,255,"UPDATE property SET ownername='' WHERE doorname='336'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET ownersteamid='' WHERE doorname='336'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET access='' WHERE doorname='336'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE hotelmod SET name='' WHERE room='Hotel A'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE hotelmod SET steamid='' WHERE room='Hotel A'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE hotelmod SET type='' WHERE room='Hotel A'") dbi_query(dbc,"%s",query) } } dbi_free_result(result) return PLUGIN_HANDLED } public remove_access_b(id) { new minutes format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel B'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { format(query,255,"UPDATE hotelmod SET minutes=minutes-1 WHERE room='Hotel B'") dbi_query(dbc,"%s",query) } if(minutes <= 0) { format(query,255,"UPDATE property SET ownername='' WHERE doorname='345'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET ownersteamid='' WHERE doorname='345'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET access='' WHERE doorname='345'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE hotelmod SET name='' WHERE room='Hotel B'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE hotelmod SET steamid='' WHERE room='Hotel B'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE hotelmod SET type='' WHERE room='Hotel B'") dbi_query(dbc,"%s",query) } } dbi_free_result(result) return PLUGIN_HANDLED } public remove_access_c(id) { new minutes format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel C'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { format(query,255,"UPDATE hotelmod SET minutes=minutes-1 WHERE room='Hotel C'") dbi_query(dbc,"%s",query) } if(minutes <= 0) { format(query,255,"UPDATE property SET ownername='' WHERE doorname='302'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET ownersteamid='' WHERE doorname='302'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET access='' WHERE doorname='302'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE hotelmod SET name='' WHERE room='Hotel C'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE hotelmod SET steamid='' WHERE room='Hotel C'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE hotelmod SET type='' WHERE room='Hotel C'") dbi_query(dbc,"%s",query) } } dbi_free_result(result) return PLUGIN_HANDLED } public remove_access_d(id) { new minutes format(query,255,"SELECT minutes FROM hotelmod WHERE room='Hotel D'") result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { minutes = dbi_field(result,1) if(minutes > 0) { format(query,255,"UPDATE hotelmod SET minutes=minutes-1 WHERE room='Hotel D'") dbi_query(dbc,"%s",query) } if(minutes <= 0) { format(query,255,"UPDATE property SET ownername='' WHERE doorname='309'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET ownersteamid='' WHERE doorname='309'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE property SET access='' WHERE doorname='309'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE hotelmod SET name='' WHERE room='Hotel D'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE hotelmod SET steamid='' WHERE room='Hotel D'") dbi_query(dbc,"%s",query) format(query,255,"UPDATE hotelmod SET type='' WHERE room='Hotel D'") dbi_query(dbc,"%s",query) } } dbi_free_result(result) return PLUGIN_HANDLED } public check_room(id,key) { new authid[32], steamid[32] get_user_authid(id,authid,31) switch(key){ case 0:{ format(query,255,"SELECT steamid FROM hotelmod WHERE room='Hotel A'") } case 1:{ format(query,255,"SELECT steamid FROM hotelmod WHERE room='Hotel B'") } case 2:{ format(query,255,"SELECT steamid FROM hotelmod WHERE room='Hotel C'") } case 3:{ format(query,255,"SELECT steamid FROM hotelmod WHERE room='Hotel D'") } } result = dbi_query(dbc,"%s",query) if(dbi_nextrow(result) > 0) { dbi_field(result,1,steamid,31) if(equali(authid,steamid)) { g_hotel[id] = 1 } dbi_free_result(result) } return PLUGIN_HANDLED } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ ansicpg949\\ deff0\\ deflang1033\\ deflangfe1042{\\ fonttbl{\\ f0\\ fnil\\ fcharset129 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1042\\ f0\\ fs16 \n\\ par } */