Untitled
unknown
plain_text
9 months ago
19 kB
8
Indexable
#include <YSI_Coding\y_hooks>
//-------------------------------------------------------------------
// Project create by #nDP //
// Fb.com/nguyenduyphuong.com //
// Copyright by nDP" //
//-------------------------------------------------------------------
//____________________________________________________________________________//
hook OnPlayerDisconnect(playerid, reason)
{
if(ChonTaiXiu[playerid] == 1)
{
ChonTaiAll--;
TienCuocTaiAll -= TienCuocTaiXiu[playerid];
TienCuocTaiXiu[playerid] = 0;
ChonTaiXiu[playerid] = 0;
}
if(ChonTaiXiu[playerid] == 2)
{
ChonXiuAll--;
TienCuocXiuAll -= TienCuocTaiXiu[playerid];
TienCuocTaiXiu[playerid] = 0;
ChonTaiXiu[playerid] = 0;
}
return 1;
}
hook OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
if(dialogid == DIALOG_TAIXIU && response == 1) {
if(listitem == 0) { // Thông tin phiên tài xỉu hiện tại
thongtin_phienTX(playerid);
return 1;
}
if(listitem == 1) { // Danh sách người đặt cược tài xỉu hiện tại
showAllPlayerTX(playerid);
return 1;
}
if(listitem == 2) { // Xem lịch sử phiên tài xỉu
ShowPlayerDialog(playerid, DIALOG_LS_TAIXIU, DIALOG_STYLE_INPUT, "TAI/XIU", "{ffe066}>{FFFFFF} Ban vui long nhap phien tai xiu, ma ban muon xem lai: ", "Xem ngay", "Huy bo");
return 1;
}
if(listitem == 4) { // Đăng ký tài xỉu
if(khoaDatCuocTX == 1) {
SendClientMessage(playerid, -1, "{ff0000}[!]{FFFFFF} Thoi gian dat cuoc da het, vui long doi phien tai xiu tiep theo.");
return 1;
}
DangKyTaiXiu(playerid);
return 1;
}
return 1;
}
if(dialogid == DIALOG_LS_TAIXIU && response == 1) {
if(!IsNumeric(inputtext) || strval(inputtext) < 0 || strval(inputtext) > MAX_PHIEN_TAIXIU) {
SendClientMessage(playerid, -1, "{ff0000}[!]{FFFFFF} Loi, phien tai xiu ban nhap khong hop le.");
return 1;
}
if(strval(inputtext) > Phientaixiu + 1) {
new string[1280];
format(string, sizeof(string), "{ff0000}[!]{FFFFFF} Phien tai xiu hien tai chi la phien %s, ban khong the nhap phien lon hon.", Phientaixiu);
SendClientMessage(playerid, -1, string);
return 1;
}
if(PlayerInfo[playerid][pAdmin] == 0) {
if(tx_countMoney_Tai[strval(inputtext)] == 0 || tx_countMoney_Tai[strval(inputtext)] == 0) {
SendClientMessage(playerid, -1, "{ff0000}[!]{FFFFFF} Phien tai xiu nay khong hoat dong.");
return 1;
}
}
HistoryTX(playerid, strval(inputtext));
return 1;
}
if(dialogid == DIALOG_DANGKY_TAIXIU && response == 1) {
datcuoc_taixiu(playerid, listitem);
return 1;
}
if(dialogid == DIALOG_DATCUOC_TAI && response == 1)
{
if(LockTaiXiu == 1) {
SendClientMessageEx(playerid, -1, "{ffe066}[!]{FFFFFF} Hien tai he thong tai xiu, chua duoc mo!");
return 1;
}
if(khoaDatCuocTX == 1) {
SendClientMessage(playerid, -1, "{ff0000}[!]{FFFFFF} Thoi gian dat cuoc da het, vui long doi phien tai xiu tiep theo.");
return 1;
}
if(!IsNumeric(inputtext)) {
SendClientMessage(playerid, -1, "{ff0000}[!]{FFFFFF} Loi ban khong duoc phep su dung ky tu trong nay.");
return 1;
}
if(strval(inputtext) < MIN_TAIXIU) {
new string[1280];
format(string, sizeof(string), "{ff0000}[!]{FFFFFF} So tien dat cuoc cua ban khong duoc nho hon %s$.", number_format(MIN_TAIXIU));
SendClientMessage(playerid, -1, string);
return 1;
}
if(strval(inputtext) > MAX_TAIXIU) {
new string[1280];
format(string, sizeof(string), "{ff0000}[!]{FFFFFF} So tien dat cuoc cua ban khong duoc lon hon %s$.", number_format(MAX_TAIXIU));
SendClientMessage(playerid, -1, string);
return 1;
}
new ChenhLech = TienCuocTaiAll - TienCuocXiuAll;
if (ChenhLech < 0) {
ChenhLech = -ChenhLech; // Đưa về giá trị tuyệt đối
}
new Float:TiLeChoPhep = 0.1; // 10% tổng cược
new GioiHanChenhLech = floatround((TienCuocTaiAll + TienCuocXiuAll) * TiLeChoPhep);
if (ChenhLech >= GioiHanChenhLech) {
SendClientMessage(playerid, -1, "{ff0000}[!]{FFFFFF} Hien tai tien cuoc tai qua nhieu so voi xiu ban hien chi co the cuoc xiu !!!.");
return 1; // Không cho phép đặt cược nếu chênh lệch quá 10%
}
// --------------------------------------------------------------------------
new tiencuoc = strval(inputtext);
if(tiencuoc > PlayerInfo[playerid][pCash]) {
SendClientMessage(playerid, -1, "{ff0000}[!]{FFFFFF} So tien dat cuoc nay lon hon so tien ban dang co, vui long thu lai.");
return 1;
}
ChonTaiXiu[playerid] = 1;
TienCuocTaiXiu[playerid] = tiencuoc;
PlayerInfo[playerid][pCash] -= tiencuoc;
ChonTaiAll++;
TienCuocTaiAll += tiencuoc;
TimeChonTaiXiu[playerid] = TimeTaiXiu;
new string[1280];
format(string,sizeof(string),"{ffe066}>{FFFFFF} Ban da dat cuoc thanh cong %s$ vao {ff0000}Tai{FFFFFF} thanh cong | Phien tai xiu : %d.",number_format(tiencuoc), Phientaixiu);
SendClientMessageEx(playerid, -1, string);
if(tiencuoc > TienIdTaiWin)
{
IdTaiWin = playerid;
TienIdTaiWin = tiencuoc;
}
new log_taixiu[1280];
format(log_taixiu,sizeof(log_taixiu),"%s, da dat cuoc %s$ vao Tai o phien tai xiu %d thanh cong.", GetPlayerNameEx(playerid), number_format(tiencuoc), Phientaixiu);
Log("logs/dangky_taixiu.log", log_taixiu);
// --------------------------------------------------------------------------
return 1;
}
if(dialogid == DIALOG_DATCUOC_XIU && response == 1) {
if(LockTaiXiu == 1) {
SendClientMessageEx(playerid, -1, "{ffe066}[!]{FFFFFF} Hien tai he thong tai xiu, chua duoc mo!");
return 1;
}
if(khoaDatCuocTX == 1) {
SendClientMessage(playerid, -1, "{ff0000}[!]{FFFFFF} Thoi gian dat cuoc da het, vui long doi phien tai xiu tiep theo.");
return 1;
}
if(!IsNumeric(inputtext)) {
SendClientMessage(playerid, -1, "{ff0000}[!]{FFFFFF} Loi ban khong duoc phep su dung ky tu trong nay.");
return 1;
}
if(strval(inputtext) < MIN_TAIXIU) {
new string[1280];
format(string, sizeof(string), "{ff0000}[!]{FFFFFF} So tien dat cuoc cua ban khong duoc nho hon %s$.", number_format(MIN_TAIXIU));
SendClientMessage(playerid, -1, string);
return 1;
}
if(strval(inputtext) > MAX_TAIXIU) {
new string[1280];
format(string, sizeof(string), "{ff0000}[!]{FFFFFF} So tien dat cuoc cua ban khong duoc lon hon %s$.", number_format(MAX_TAIXIU));
SendClientMessage(playerid, -1, string);
return 1;
}
new ChenhLech = TienCuocTaiAll - TienCuocXiuAll;
if (ChenhLech < 0) {
ChenhLech = -ChenhLech; // Đưa về giá trị tuyệt đối
}
new Float:TiLeChoPhep = 0.1; // 10% tổng cược
new GioiHanChenhLech = floatround((TienCuocTaiAll + TienCuocXiuAll) * TiLeChoPhep);
if (ChenhLech >= GioiHanChenhLech) {
SendClientMessage(playerid, -1, "{ff0000}[!]{FFFFFF} Hien tai tien cuoc xiu qua nhieu so voi tai ban hien chi co the cuoc tai !!!.");
return 1; // Không cho phép đặt cược nếu chênh lệch quá 10%
}
// --------------------------------------------------------------------------
new tiencuoc = strval(inputtext);
if(tiencuoc > PlayerInfo[playerid][pCash]) {
SendClientMessage(playerid, -1, "{ff0000}[!]{FFFFFF} So tien dat cuoc nay lon hon so tien ban dang co, vui long thu lai.");
return 1;
}
ChonTaiXiu[playerid] = 2;
TienCuocTaiXiu[playerid] = tiencuoc;
PlayerInfo[playerid][pCash] -= tiencuoc;
ChonXiuAll++;
TienCuocXiuAll += tiencuoc;
TimeChonTaiXiu[playerid] = TimeTaiXiu;
new string[1280];
format(string,sizeof(string),"{ffe066}>{FFFFFF} Ban da dat cuoc thanh cong %s$ vao {00ff00}Xiu{FFFFFF} thanh cong | Phien tai xiu : %d.",number_format(tiencuoc), Phientaixiu);
SendClientMessageEx(playerid, -1, string);
if(tiencuoc > TienIdXiuWin)
{
IdXiuWin = playerid;
TienIdXiuWin = tiencuoc;
}
new log_taixiu[1280];
format(log_taixiu,sizeof(log_taixiu),"%s, da dat cuoc %s$ vao Xiu o phien tai xiu %d thanh cong.", GetPlayerNameEx(playerid), number_format(tiencuoc), Phientaixiu);
Log("logs/dangky_taixiu.log", log_taixiu);
// --------------------------------------------------------------------------
return 1;
}
return 1;
}
task eventtaixiu[1000]()
{
if(LockTaiXiu == 0)
{
if(TimeTaiXiu > 0)
{
TimeTaiXiu--;
if(TimeTaiXiu == 10) {
khoaDatCuocTX = 1;
new string_tx[1280];
format(string_tx,sizeof(string_tx),"[TAI/XIU] Phien tai xiu #%s, sap dien ra tham gia ngay (( /taixiu ))",number_format(Phientaixiu));
SendClientMessageToAll(-1, string_tx);
}
}
if(TimeTaiXiu <= 0)
{
new ketqua[32];
if(HeThongTaiXiu == 0)
{
new TaiLienTuc = (LichSuTaiXiu[0] == 1 && LichSuTaiXiu[1] == 1);
new XiuLienTuc = (LichSuTaiXiu[0] == 2 && LichSuTaiXiu[1] == 2);
if (TaiLienTuc)
{
// Nếu có 2 ván Tài liên tục, tăng tỷ lệ Xỉu
KetQuaTaiXiu = (random(100) < 70) ? 2 : 1;
}
else if (XiuLienTuc)
{
// Nếu có 2 ván Xỉu liên tục, tăng tỷ lệ Tài
KetQuaTaiXiu = (random(100) < 70) ? 1 : 2;
}
else
{
// Xác suất bình thường
/*switch(random(4))
{
case 0,2,4: KetQuaTaiXiu = 1;
case 1,3: KetQuaTaiXiu = 2;
}*/
new KetQuaXucXac1 = randomTaixiu(1, 6);
new KetQuaXucXac2 = randomTaixiu(1, 6);
new KetQuaXucXac3 = randomTaixiu(1, 6);
new TongDiem = KetQuaXucXac1 + KetQuaXucXac2 + KetQuaXucXac3;
if (TongDiem == 3 || TongDiem == 18) {
KetQuaTaiXiu = 0; // Trường hợp đặc biệt (nhà cái ăn hết hoặc xử lý riêng)
}
else if (TongDiem >= 4 && TongDiem <= 10) {
KetQuaTaiXiu = 2; // Xỉu
}
else {
KetQuaTaiXiu = 1; // Tài
}
}
// Cập nhật lịch sử ván trước
LichSuTaiXiu[2] = LichSuTaiXiu[1];
LichSuTaiXiu[1] = LichSuTaiXiu[0];
LichSuTaiXiu[0] = KetQuaTaiXiu;
}
if(HeThongTaiXiu == 1)
{
KetQuaTaiXiu = 1;
}
if(HeThongTaiXiu == 2)
{
KetQuaTaiXiu = 2;
}
if(HeThongTaiXiu == 3 && TienCuocTaiAll > TienCuocXiuAll)
{
KetQuaTaiXiu = 1;
}
if(HeThongTaiXiu == 3 && TienCuocTaiAll < TienCuocXiuAll)
{
KetQuaTaiXiu = 2;
}
if(HeThongTaiXiu == 3 && TienCuocTaiAll == TienCuocXiuAll)
{
new TaiLienTuc = (LichSuTaiXiu[0] == 1 && LichSuTaiXiu[1] == 1);
new XiuLienTuc = (LichSuTaiXiu[0] == 2 && LichSuTaiXiu[1] == 2);
if (TaiLienTuc)
{
// Nếu có 2 ván Tài liên tục, tăng tỷ lệ Xỉu
KetQuaTaiXiu = (random(100) < 70) ? 2 : 1;
}
else if (XiuLienTuc)
{
// Nếu có 2 ván Xỉu liên tục, tăng tỷ lệ Tài
KetQuaTaiXiu = (random(100) < 70) ? 1 : 2;
}
else
{
// Xác suất bình thường
/*switch(random(4))
{
case 0,2,4: KetQuaTaiXiu = 1;
case 1,3: KetQuaTaiXiu = 2;
}*/
new KetQuaXucXac1 = randomTaixiu(1, 6);
new KetQuaXucXac2 = randomTaixiu(1, 6);
new KetQuaXucXac3 = randomTaixiu(1, 6);
new TongDiem = KetQuaXucXac1 + KetQuaXucXac2 + KetQuaXucXac3;
if (TongDiem == 3 || TongDiem == 18) {
KetQuaTaiXiu = 0; // Trường hợp đặc biệt (nhà cái ăn hết hoặc xử lý riêng)
}
else if (TongDiem >= 4 && TongDiem <= 10) {
KetQuaTaiXiu = 2; // Xỉu
}
else {
KetQuaTaiXiu = 1; // Tài
}
}
// Cập nhật lịch sử ván trước
LichSuTaiXiu[2] = LichSuTaiXiu[1];
LichSuTaiXiu[1] = LichSuTaiXiu[0];
LichSuTaiXiu[0] = KetQuaTaiXiu;
}
if(HeThongTaiXiu == 4 && TienCuocTaiAll > TienCuocXiuAll)
{
KetQuaTaiXiu = 2;
}
if(HeThongTaiXiu == 4 && TienCuocTaiAll < TienCuocXiuAll)
{
KetQuaTaiXiu = 1;
}
if(HeThongTaiXiu == 4 && TienCuocTaiAll == TienCuocXiuAll)
{
new TaiLienTuc = (LichSuTaiXiu[0] == 1 && LichSuTaiXiu[1] == 1);
new XiuLienTuc = (LichSuTaiXiu[0] == 2 && LichSuTaiXiu[1] == 2);
if (TaiLienTuc)
{
// Nếu có 2 ván Tài liên tục, tăng tỷ lệ Xỉu
KetQuaTaiXiu = (random(100) < 70) ? 2 : 1;
}
else if (XiuLienTuc)
{
// Nếu có 2 ván Xỉu liên tục, tăng tỷ lệ Tài
KetQuaTaiXiu = (random(100) < 70) ? 1 : 2;
}
else
{
// Xác suất bình thường
/*switch(random(4))
{
case 0,2,4: KetQuaTaiXiu = 1;
case 1,3: KetQuaTaiXiu = 2;
}*/
new KetQuaXucXac1 = randomTaixiu(1, 6);
new KetQuaXucXac2 = randomTaixiu(1, 6);
new KetQuaXucXac3 = randomTaixiu(1, 6);
new TongDiem = KetQuaXucXac1 + KetQuaXucXac2 + KetQuaXucXac3;
if (TongDiem == 3 || TongDiem == 18) {
KetQuaTaiXiu = 0; // Trường hợp đặc biệt (nhà cái ăn hết hoặc xử lý riêng)
}
else if (TongDiem >= 4 && TongDiem <= 10) {
KetQuaTaiXiu = 2; // Xỉu
}
else {
KetQuaTaiXiu = 1; // Tài
}
}
}
switch(KetQuaTaiXiu)
{
case 1: ketqua = "{ff0000}Tai{ffffff}";
case 2: ketqua = "{00ff00}Xiu{ffffff}";
}
new totalwealth;
totalwealth = TienCuocTaiAll + TienCuocXiuAll - TienCuocTraAll;
new taixiucc[1280];
if(TienCuocTaiAll == 0 && KetQuaTaiXiu == 1)
{
format(taixiucc,sizeof(taixiucc),"[TAI/XIU] Phien #%s ket qua (%s) chien thang. Tong tien cuoc : %s$",number_format(Phientaixiu),ketqua,number_format(totalwealth));
SendClientMessageToAll(-1, taixiucc);
}
if(TienCuocTaiAll > 0 && KetQuaTaiXiu == 1)
{
format(taixiucc,sizeof(taixiucc),"[TAI/XIU] Phien #%s ket qua (%s) chien thang. Tong tien cuoc : %s$ - (%s %s$)",number_format(Phientaixiu),ketqua,number_format(totalwealth),GetPlayerNameEx(IdTaiWin),number_format(TienIdTaiWin*2));
SendClientMessageToAll(-1, taixiucc);
}
if(TienCuocXiuAll == 0 && KetQuaTaiXiu == 2)
{
format(taixiucc,sizeof(taixiucc),"[TAI/XIU] Phien #%s ket qua (%s) chien thang. Tong tien cuoc : %s$",number_format(Phientaixiu),ketqua,number_format(totalwealth));
SendClientMessageToAll(-1, taixiucc);
}
if(TienCuocXiuAll > 0 && KetQuaTaiXiu == 2)
{
format(taixiucc,sizeof(taixiucc),"[TAI/XIU] Phien #%s ket qua (%s) chien thang. Tong tien cuoc : %s$ - (%s %s$)",number_format(Phientaixiu),ketqua,number_format(totalwealth),GetPlayerNameEx(IdXiuWin),number_format(TienIdXiuWin*2));
SendClientMessageToAll(-1, taixiucc);
}
foreach(new i: Player)
{
if(TimeChonTaiXiu[i] < 10)
{
if(TienCuocTaiXiu[i] > 0)
{
new string[1280];
format(string,sizeof(string),"[TAI/XIU] Ban da duoc tra lai %s$ va bi loai khoi phien tai xiu nay de can bang phien tai xiu", number_format(TienCuocTaiXiu[i]));
SendClientMessageEx(i, -1, string);
SendClientMessageEx(i, -1, "[TAI/XIU] Co gang tham gia som hon de khong bi loai ra nhe");
PlayerInfo[i][pCash] += TienCuocTaiXiu[i];
TienCuocTraAll = TienCuocTraAll + TienCuocTaiXiu[i];
}
ChonTaiXiu[i] = 0;
TimeChonTaiXiu[i] = 0;
TienCuocTaiXiu[i ]= 0;
}
if(TimeChonTaiXiu[i] >= 10)
{
if(ChonTaiXiu[i] == KetQuaTaiXiu)
{
if(TienCuocTaiXiu[i] > 10000000) {
PlayerInfo[i][pCash] += TienCuocTaiXiu[i]*2;
PlayerInfo[i][pCash] -= floatround((TienCuocTaiXiu[i]*2) * 0.1);
new string[1280];
format(string,sizeof(string),"[TAI/XIU] Chuc mung, ban da chien thang trong phien tai xiu nay va nhan duoc %s$ (Phi : %s$)", number_format(TienCuocTaiXiu[i]*2), number_format(floatround((TienCuocTaiXiu[i]*2) * 0.1)));
SendClientMessage(i, -1, string);
}
else {
PlayerInfo[i][pCash] += TienCuocTaiXiu[i]*2;
new string[1280];
format(string,sizeof(string),"[TAI/XIU] Chuc mung, ban da chien thang trong phien tai xiu nay va nhan duoc %s$",number_format(TienCuocTaiXiu[i]*2));
SendClientMessage(i, -1, string);
}
ChonTaiXiu[i] = 0;
TimeChonTaiXiu[i] = 0;
TienCuocTaiXiu[i ]= 0;
}
else if(ChonTaiXiu[i] != KetQuaTaiXiu)
{
if(ChonTaiXiu[i] > 0)
{
SendClientMessageEx(i, -1, "[TAI/XIU] Ban da thua trong phien tai xiu nay, chia buon =]]z");
}
ChonTaiXiu[i] = 0;
TimeChonTaiXiu[i] = 0;
TienCuocTaiXiu[i ]= 0;
}
}
}
// LỊCH SỬ PHIÊN TÀI XỈU
new year, month, day;
getdate(year, month, day);
format(tx_Time[Phientaixiu], 1280, "%d/%d/%d - %d:%d:%d", month, day, year, hour, minuite,second);
tx_countMoney_Tai[Phientaixiu] = TienCuocTaiAll;
tx_countMoney_Xiu[Phientaixiu] = TienCuocXiuAll;
format(tx_Ketqua[Phientaixiu], 1280, "%s", ketqua);
if(KetQuaTaiXiu == 1) {
format(tx_NguoiWinner[Phientaixiu], 1280, "%s", GetPlayerNameEx(IdTaiWin));
tx_WinnerMoney[Phientaixiu] = TienIdTaiWin*2;
}
else if(KetQuaTaiXiu == 2) {
format(tx_NguoiWinner[Phientaixiu], 1280, "%s", GetPlayerNameEx(IdXiuWin));
tx_WinnerMoney[Phientaixiu] = TienIdXiuWin*2;
}
// --------------------------------------------
Phientaixiu++;
KetQuaTaiXiu = 0;
TimeTaiXiu = THOIGIAN_TAIXIU;
ChonTaiAll = 0;
ChonXiuAll = 0;
TienCuocTaiAll = 0;
TienCuocXiuAll = 0;
IdTaiWin = -1;
IdXiuWin = -1;
TienIdTaiWin = -1;
TienIdXiuWin = -1;
TienCuocTraAll = 0;
khoaDatCuocTX = 0;
}
}
return 1;
}Editor is loading...
Leave a Comment