using UnityEngine; using UnityEngine.Networking; using System.Collections; using System; public class Level1SkorUploader : MonoBehaviour { public string BersihkanKarakter(string input) { // Hilangkan karakter yang tidak bisa di-encode ke UTF-8 byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input); return System.Text.Encoding.UTF8.GetString(bytes); } public void SimpanSkorLevel1(Action onFinish = null) { if (GlobalUser.Instance == null) { Debug.LogWarning("GlobalUser tidak ditemukan!"); return; } string namaUser = GlobalUser.Instance.namaUser; int userId = GlobalUser.Instance.userId; string noAbsen = GlobalUser.Instance.noAbsen; int skor = Data.DataScore; Debug.Log($"[DEBUG] SimpanSkorLevel1() - userId: {userId}, score: {skor}"); StartCoroutine(KirimSkorKeServer(userId, skor, noAbsen,namaUser, onFinish)); } //koneksi IEnumerator KirimSkorKeServer(int userId, int skor, string namaUser, string noAbsen, Action onFinish = null) { WWWForm form = new WWWForm(); form.AddField("api", "update_level"); form.AddField("level", "level1"); form.AddField("id", userId); form.AddField("nama", namaUser); form.AddField("absen", noAbsen); form.AddField("score", skor); string url = "https://wifiapi.wazzgroup.com/api.php"; using (UnityWebRequest www = UnityWebRequest.Post(url, form)) { yield return www.SendWebRequest(); if (www.result != UnityWebRequest.Result.Success) { Debug.LogError("Gagal kirim data skor: " + www.error); } else { string json = www.downloadHandler.text; Debug.Log("Respon server: " + json); } } onFinish?.Invoke(); // callback setelah kirim skor selesai } } //using UnityEngine; //using UnityEngine.Networking; //using System.Collections; //public class Level1SkorUploader : MonoBehaviour //{ // public void SimpanSkorLevel1() // { // if (GlobalUser.Instance == null) // { // Debug.LogWarning("GlobalUser tidak ditemukan!"); // return; // } // int userId = GlobalUser.Instance.userId; // int skor = Data.DataScore; // Debug.Log($"[DEBUG] SimpanSkorLevel1() - userId: {userId}, score: {skor}"); // StartCoroutine(KirimSkorKeServer(userId, skor)); // } // IEnumerator KirimSkorKeServer(int userId, int skor) // { // WWWForm form = new WWWForm(); // form.AddField("api", "update_level"); // form.AddField("level", "level1"); // form.AddField("id", userId); // form.AddField("score", skor); // string url = "https://wifiapi.wazzgroup.com/api.php"; // using (UnityWebRequest www = UnityWebRequest.Post(url, form)) // { // yield return www.SendWebRequest(); // if (www.result != UnityWebRequest.Result.Success) // { // Debug.LogError("Gagal kirim data skor: " + www.error); // } // else // { // string json = www.downloadHandler.text; // Debug.Log("Respon server: " + json); // // Kamu bisa parsing JSON kalau perlu // } // } // } //} //using MySql.Data.MySqlClient; //using UnityEngine; //public class Level1SkorUploader : MonoBehaviour //{ // private string conn; // private MySqlConnection koneksi; // void Start() // { // conn = "Server=127.0.0.1; Database=game; User=root; Password=;"; // koneksi = new MySqlConnection(conn); // } // public void SimpanSkorLevel1() // { // if (GlobalUser.Instance == null) // { // Debug.LogWarning("GlobalUser tidak ditemukan!"); // return; // } // int userId = GlobalUser.Instance.userId; // int skor = Data.DataScore; // Debug.Log($"[DEBUG] SimpanSkorLevel1() - userId: {userId}, score: {skor}"); // if (userId <= 0) // { // Debug.LogWarning("User ID tidak valid!"); // return; // } // try // { // koneksi.Open(); // // Simpan skor terakhir ke tabel score // string sqlUpdateScore = "UPDATE score SET level1 = @score WHERE id = @user_id"; // MySqlCommand cmdUpdateScore = new MySqlCommand(sqlUpdateScore, koneksi); // cmdUpdateScore.Parameters.AddWithValue("@score", skor); // cmdUpdateScore.Parameters.AddWithValue("@user_id", userId); // int rowsAffected = cmdUpdateScore.ExecuteNonQuery(); // Debug.Log("Baris terpengaruh di tabel score: " + rowsAffected); // // Cek dan simpan skor tertinggi di tabel high_scores // string sqlSelectHighScore = "SELECT level1 FROM high_score WHERE id_score = @user_id"; // MySqlCommand cmdSelectHighScore = new MySqlCommand(sqlSelectHighScore, koneksi); // cmdSelectHighScore.Parameters.AddWithValue("@user_id", userId); // int currentHighScore = 0; // MySqlDataReader reader = cmdSelectHighScore.ExecuteReader(); // if (reader.Read()) // { // currentHighScore = reader.GetInt32("level1"); // } // reader.Close(); // // Jika skor terbaru lebih tinggi, update high_scores // if (skor > currentHighScore) // { // string sqlUpdateHighScore = "INSERT INTO high_score (id_score, nama, level1) " + // "VALUES (@user_id, (SELECT nama FROM score WHERE id = @user_id), @score) " + // "ON DUPLICATE KEY UPDATE level1 = GREATEST(level1, @score)"; // MySqlCommand cmdUpdateHighScore = new MySqlCommand(sqlUpdateHighScore, koneksi); // cmdUpdateHighScore.Parameters.AddWithValue("@user_id", userId); // cmdUpdateHighScore.Parameters.AddWithValue("@score", skor); // int rowsAffectedHighScore = cmdUpdateHighScore.ExecuteNonQuery(); // Debug.Log("Baris terpengaruh di tabel high_score: " + rowsAffectedHighScore); // } // koneksi.Close(); // if (rowsAffected > 0) // { // Debug.Log("Skor Level 1 berhasil disimpan untuk user ID: " + userId); // } // else // { // Debug.LogWarning("Tidak ada baris yang terpengaruh di tabel score. Mungkin ID tidak cocok?"); // } // } // catch (MySqlException ex) // { // Debug.LogError("Gagal menyimpan skor level 1: " + ex.Message); // } // } //}