[HHT]DRON Дата: Среда, 27.07.2011, 17:27:17 | Сообщение # 1
Группа: Пользователи
Сообщений: 91
//*------------------------------------------------------------------------------------------------------------------------------------------- ----------------*// #include <a_samp> #include <Dini> #include <dudb> new pname[MAX_PLAYER_NAME]; new banklogged[MAX_PLAYERS]; new bankmoney[MAX_PLAYERS]; #define COLOR_RED 0xFF0000AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_GREEN 0x00FF00AA #define SAVE_ON_EXIT true #define TELL_ON_CONNECT true #if defined FILTERSCRIPT public OnFilterScriptInit() { print("/////////////////////////////////////////"); print("// SIMPLE BANK SYSTEM BY [HHT]DRON //"); print("// Head Hunterz Team //"); print("///////////////////////////////////////"); return 1; } public OnFilterScriptExit() { return 1; } #endif public OnPlayerDisconnect(playerid, reason) { dini_IntSet(udb_encode(pname), "bankmoney", bankmoney[playerid]); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256], idx, tmp[265], tmp2[256]; cmd = strtok(cmdtext, idx); GetPlayerName(playerid, pname, sizeof(pname)); new string[128]; if (strcmp("/newaccount", cmdtext, true, 10) == 0) { new pincode; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "USAGE: /newaccount [Пороль]"); return 1; } pincode = strval(tmp); if (!dini_Exists(udb_encode(pname))) { dini_Create(udb_encode(pname)); dini_IntSet(udb_encode(pname), "pincode", udb_hash(tmp)); dini_IntSet(udb_encode(pname), "bankmoney", 0); SendClientMessage(playerid, COLOR_GREEN,"Вы создали новый аккаунт в банке! Вы авторизованы"); return 1; } else { SendClientMessage(playerid, COLOR_RED,"У Вас есть банковский счёт!"); return 1; }} if (strcmp("/loginbank", cmdtext, true, 10) == 0) { new pincode; tmp = strtok(cmdtext, idx); if(banklogged[playerid] == 1) { SendClientMessage(playerid, COLOR_RED, "Вы уже авторизованны!"); return 1; } if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "USAGE: /loginbank [Пороль]"); return 1; } pincode = strval(tmp); tmp2 = dini_Get(udb_encode(pname), "pincode"); if (udb_hash(tmp) != strval(tmp2)) { SendClientMessage(playerid, COLOR_RED, "Вы ввели неправильный пороль, попробуйте еще раз!"); return 1; } SendClientMessage(playerid, COLOR_GREEN, "Вы удачно авторизовались!"); banklogged[playerid] = 1; return 1; } if(strcmp(cmd, "/deposit", true)==0) { new amount; //creating the variable tmp = strtok(cmdtext, idx); if(banklogged[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "Вы не авторизованы!"); return 1; } if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "USAGE: /deposit [Сумма]"); return 1; } amount = strval(tmp); new currentm = GetPlayerMoney(playerid); if(currentm <= amount) { SendClientMessage(playerid, COLOR_RED,"Вы переводите больше денег чем у вас есть"); return 1; } if(IsPlayerInRangeOfPoint(playerid, 10.0, 1286.2469,-1311.7178,13.5460)) { bankmoney[playerid] += amount; format(string, sizeof(string), "У вас есть перевод в размере $%d to на вашем аккаунте",amount); SendClientMessage(playerid, COLOR_YELLOW, string); GivePlayerMoney(playerid, -amount); return 1; } else { SendClientMessage(playerid, COLOR_RED,"Вы не в банке!"); return 1; } } if(strcmp(cmd, "/balance", true)==0) { if(banklogged[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "Вы не авторизованы!"); return 1; } if(IsPlayerInRangeOfPoint(playerid, 10.0, 1286.2469,-1311.7178,13.5460)) { format(string, sizeof(string), "У вас имеется $%d на вашем банковском счёте",bankmoney[playerid]); SendClientMessage(playerid, COLOR_YELLOW, string); return 1; } else { SendClientMessage(playerid, COLOR_RED,"Вы не в банке"); return 1; } } if(strcmp(cmd, "/withdraw", true)==0) { new wamount; tmp = strtok(cmdtext, idx); if(banklogged[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "Вы не авторизованы!"); return 1; } if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "USAGE: /withdraw [Сумма]"); return 1; } wamount = strval(tmp); new bank = bankmoney[playerid]; if(bank <= wamount) { SendClientMessage(playerid, COLOR_RED,"Вы пытаетесь снять больше денег чем у вас есть"); return 1; } if(IsPlayerInRangeOfPoint(playerid, 1286.2469,-1311.7178,13.5460)) { bankmoney[playerid] -= wamount; account format(string, sizeof(string), "Вы перевели $%d на ваш банковский счёт",wamount); SendClientMessage(playerid, COLOR_YELLOW, string); GivePlayerMoney(playerid, wamount); return 1; } else { SendClientMessage(playerid, COLOR_RED,"Вы не в банке!"); return 1; } } return 0; } //*------------------------------------------------------------------------------------------------------------------------------------------- ----------------*// почему после выхода с сервера не сохраняются деньги в банке????
[HHT]DRON 109.68.190:242:7868
Сообщение отредактировал [HHT]DRON - Среда, 27.07.2011, 17:31:25
Сообщение //*------------------------------------------------------------------------------------------------------------------------------------------- ----------------*// #include <a_samp> #include <Dini> #include <dudb> new pname[MAX_PLAYER_NAME]; new banklogged[MAX_PLAYERS]; new bankmoney[MAX_PLAYERS]; #define COLOR_RED 0xFF0000AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_GREEN 0x00FF00AA #define SAVE_ON_EXIT true #define TELL_ON_CONNECT true #if defined FILTERSCRIPT public OnFilterScriptInit() { print("/////////////////////////////////////////"); print("// SIMPLE BANK SYSTEM BY [HHT]DRON //"); print("// Head Hunterz Team //"); print("///////////////////////////////////////"); return 1; } public OnFilterScriptExit() { return 1; } #endif public OnPlayerDisconnect(playerid, reason) { dini_IntSet(udb_encode(pname), "bankmoney", bankmoney[playerid]); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { new cmd[256], idx, tmp[265], tmp2[256]; cmd = strtok(cmdtext, idx); GetPlayerName(playerid, pname, sizeof(pname)); new string[128]; if (strcmp("/newaccount", cmdtext, true, 10) == 0) { new pincode; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "USAGE: /newaccount [Пороль]"); return 1; } pincode = strval(tmp); if (!dini_Exists(udb_encode(pname))) { dini_Create(udb_encode(pname)); dini_IntSet(udb_encode(pname), "pincode", udb_hash(tmp)); dini_IntSet(udb_encode(pname), "bankmoney", 0); SendClientMessage(playerid, COLOR_GREEN,"Вы создали новый аккаунт в банке! Вы авторизованы"); return 1; } else { SendClientMessage(playerid, COLOR_RED,"У Вас есть банковский счёт!"); return 1; }} if (strcmp("/loginbank", cmdtext, true, 10) == 0) { new pincode; tmp = strtok(cmdtext, idx); if(banklogged[playerid] == 1) { SendClientMessage(playerid, COLOR_RED, "Вы уже авторизованны!"); return 1; } if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "USAGE: /loginbank [Пороль]"); return 1; } pincode = strval(tmp); tmp2 = dini_Get(udb_encode(pname), "pincode"); if (udb_hash(tmp) != strval(tmp2)) { SendClientMessage(playerid, COLOR_RED, "Вы ввели неправильный пороль, попробуйте еще раз!"); return 1; } SendClientMessage(playerid, COLOR_GREEN, "Вы удачно авторизовались!"); banklogged[playerid] = 1; return 1; } if(strcmp(cmd, "/deposit", true)==0) { new amount; //creating the variable tmp = strtok(cmdtext, idx); if(banklogged[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "Вы не авторизованы!"); return 1; } if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "USAGE: /deposit [Сумма]"); return 1; } amount = strval(tmp); new currentm = GetPlayerMoney(playerid); if(currentm <= amount) { SendClientMessage(playerid, COLOR_RED,"Вы переводите больше денег чем у вас есть"); return 1; } if(IsPlayerInRangeOfPoint(playerid, 10.0, 1286.2469,-1311.7178,13.5460)) { bankmoney[playerid] += amount; format(string, sizeof(string), "У вас есть перевод в размере $%d to на вашем аккаунте",amount); SendClientMessage(playerid, COLOR_YELLOW, string); GivePlayerMoney(playerid, -amount); return 1; } else { SendClientMessage(playerid, COLOR_RED,"Вы не в банке!"); return 1; } } if(strcmp(cmd, "/balance", true)==0) { if(banklogged[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "Вы не авторизованы!"); return 1; } if(IsPlayerInRangeOfPoint(playerid, 10.0, 1286.2469,-1311.7178,13.5460)) { format(string, sizeof(string), "У вас имеется $%d на вашем банковском счёте",bankmoney[playerid]); SendClientMessage(playerid, COLOR_YELLOW, string); return 1; } else { SendClientMessage(playerid, COLOR_RED,"Вы не в банке"); return 1; } } if(strcmp(cmd, "/withdraw", true)==0) { new wamount; tmp = strtok(cmdtext, idx); if(banklogged[playerid] == 0) { SendClientMessage(playerid, COLOR_RED, "Вы не авторизованы!"); return 1; } if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "USAGE: /withdraw [Сумма]"); return 1; } wamount = strval(tmp); new bank = bankmoney[playerid]; if(bank <= wamount) { SendClientMessage(playerid, COLOR_RED,"Вы пытаетесь снять больше денег чем у вас есть"); return 1; } if(IsPlayerInRangeOfPoint(playerid, 1286.2469,-1311.7178,13.5460)) { bankmoney[playerid] -= wamount; account format(string, sizeof(string), "Вы перевели $%d на ваш банковский счёт",wamount); SendClientMessage(playerid, COLOR_YELLOW, string); GivePlayerMoney(playerid, wamount); return 1; } else { SendClientMessage(playerid, COLOR_RED,"Вы не в банке!"); return 1; } } return 0; } //*------------------------------------------------------------------------------------------------------------------------------------------- ----------------*// почему после выхода с сервера не сохраняются деньги в банке???? Автор - [HHT]DRON Дата добавления - 27.07.2011 в 17:27:17