Likęs laikas
Posted: 2010 Nov 16 23:51
Sveiki dar esu žalias programavime, todėl nesigauna niekaip gauti dienų iš duombazių. Bandau gauti datą kada užsiregistravo ir iki kada galioja. Tada bandau surasti skirtumą ir taip gauti dienų likutį, bet kažkodėl nelabai gaunasi...
Code: Select all
public time_left(id){ new error[128], errno new Handle:info = SQL_MakeDbTuple("host","dbuser","dbpass","dbname") new Handle:sql = SQL_Connect(info, errno, error, 127) new Handle:query new ip_port[42], ip_tmp[32], ip[32] , port[10] get_user_ip(0, ip_port, 41) strtok(ip_port, ip_tmp, 31, port, 9, ':') get_cvar_string("ip",ip,32) new userip[32], userauthid[32], password[32], username[32] get_user_ip(id, userip, 31, 1) query = SQL_PrepareQuery(sql,"SELECT amx_amxadmins.regtime, amx_amxadmins.timeleft, amx_amxadmins.username FROM amx_amxadmins") if (!SQL_Execute(query)) { client_print(id, print_chat, "Nepavyko prisijungti prie duomenu bazes") } else if (!SQL_NumResults(query)) { client_print(id, print_chat, "Klaida:") } else { AdminCount = 0 /** do this incase people change the query order and forget to modify below */ new qcolRegtime = SQL_FieldNameToNum(query, "regtime") new qcolTimeleft = SQL_FieldNameToNum(query, "timeleft") new qcolIp = SQL_FieldNameToNum(query, "username") new Regtime[44]; new Timeleft[44]; new Ip[44]; new check = getAccess(id, username, userauthid, userip, password) while (SQL_MoreResults(query)) { SQL_ReadResult(query, qcolIp, Ip, sizeof(username)-1); SQL_ReadResult(query, qcolRegtime, Regtime, sizeof(Regtime)-1); SQL_ReadResult(query, qcolTimeleft, Timeleft, sizeof(Timeleft)-1); get_user_ip(id, userip, 31, 1) ++AdminCount; SQL_NextRow(query) } if (equal(userip, username)) { new LefttimeTotal[9]; new Lefttime[9]; new CurrentTime[9] get_time("%m%d%Y",CurrentTime,8) //format_time(Timeleft,8,"%m%d%Y") //get_time("%d",LefttimeTotal,8) //format_time(Regtime,8,"%m%d%Y") format_time(LefttimeTotal,3,"%d") format_time(Lefttime,3,"%d") LefttimeTotal[id] = Timeleft[id] - Regtime[id]; Lefttime[id] = Timeleft[id] - CurrentTime[id]; client_print(0,3, "Jums dar liko [%s/%s] dienu.",Lefttime,LefttimeTotal) } else { client_print(0,3, "Jus nerastas musu duomenu bazeje") } } SQL_FreeHandle(query) SQL_FreeHandle(sql) return PLUGIN_HANDLED }