31.07.2017, 01:31
Bom gente eu tenho um sistema vip com um unico problema , que ele nгo salva os vip ..
ele precisa do MySql e ja tenho tudo certinho , a unica coisa й sу o salvar os vip
olha aqui
ele precisa do MySql e ja tenho tudo certinho , a unica coisa й sу o salvar os vip
olha aqui
Код:
// == Includes #include <a_samp> #include <sscanf2> #include <zcmd> #include <a_mysql> // == Cores #define OURO 0xEEC900FF #define PRATA 0x9C9C9CFF #define BRONZE 0x8B5A2BFF #define COR_VIP 0x008B00FF #define VERMELHO 0xFF030FFF #define LARANJA 0xF97804FF #define CINZA 0xCECECEFF // == Conexao MySql #define Host_Connection "localhost" #define Host_User "root" #define Host_DB "cvip" #define Host_Password "" // == Dialogs #define DIALOG_VIPS 4995 #define DIALOG_VENC_VIP 4996 #define DIALOG_COMANDOS_VIP 4997 #define DIALOG_EFECTS 4998 #define DIALOG_TOYS 4999 #define DIALOG_ENABLE_KEY 5000 #define DIALOG_NEW_KEY 5001 #define DIALOG_NEW_KEY_LEVEL 5005 #define DIALOG_NEW_KEY_DAYS 5002 #define DIALOG_KEY_CONFIRM 5003 #define DIALOG_REMOVE_KEY 5004 enum pInfo { Vip, DiasVip, TempoVip, vKey[25], vDias, vNivel, Nome, bool:PegouKit, bool:PegouColete }; new PlayerInfo[MAX_PLAYERS][pInfo], Connection, Timer, CarrosCriados[100], TodosCarros = 0; public OnFilterScriptInit() { print("Sistema C-VIP carregado com sucesso."); print(" Criado por: Cleyson Stein."); Timer = SetTimer("CheckVip", 60000, true); Connection = mysql_connect(Host_Connection, Host_User, Host_DB, Host_Password); mysql_query(Connection, "CREATE TABLE IF NOT EXISTS `Keys`(`Key` varchar(24) NOT NULL, `Dias` int(5) NOT NULL, `Nivel` int(5) NOT NULL)", false); mysql_query(Connection, "CREATE TABLE IF NOT EXISTS `Vips`(`Nome` varchar(24) NOT NULL, `Dias` int(5) NOT NULL, `TempoVip` int(5) NOT NULL, `Nivel` int(5) NOT NULL)", false); if(mysql_errno(Connection) != 0) { print("C-VIP: FALHA AO SE CONECTAR COM BANCO DE DADOS MYSQL"); } else { print("C-VIP: CONECTADO COM SUCESSO AO BANCO DE DADOS MYSQL"); } return 1; } public OnFilterScriptExit() { KillTimer(Timer); mysql_close(Connection); return 1; } public OnPlayerConnect(playerid) { GetPlayerName(playerid, PlayerInfo[playerid][Nome], 24); new Query[70]; mysql_format(Connection, Query, sizeof(Query), "SELECT * FROM `Vips` WHERE `Nome`='%e'", PlayerInfo[playerid][Nome]); mysql_tquery(Connection, Query, "LoadVips", "d", playerid); //mysql_escape_string(Query, queryt); return 1; } forward LoadVips(playerid); public LoadVips(playerid) { if(cache_get_row_count(Connection) == 1) { PlayerInfo[playerid][Vip] = cache_get_field_content_int(0, "Nivel"); PlayerInfo[playerid][DiasVip] = cache_get_field_content_int(0, "Dias"); PlayerInfo[playerid][TempoVip] = cache_get_field_content_int(0, "TempoVip"); } else { PlayerInfo[playerid][Vip] = 0; PlayerInfo[playerid][DiasVip] = 0; PlayerInfo[playerid][TempoVip] = 0; } return 1; } public OnPlayerDisconnect(playerid, reason) { if(PlayerInfo[playerid][Vip] > 0) { new QueryVIP[80]; mysql_format(Connection, QueryVIP, sizeof(QueryVIP), "UPDATE `Vips` SET `Dias`=%d, `Nivel`=%d, `TempoVip`=%d WHERE `Nome`='%e'", PlayerInfo[playerid][DiasVip], PlayerInfo[playerid][Vip], PlayerInfo[playerid][TempoVip], PlayerInfo[playerid][Nome]); mysql_tquery(Connection, QueryVIP, "",""); } return 1; } public OnPlayerDeath(playerid, killerid, reason) { if(PlayerInfo[playerid][PegouKit] == true) LiberarKit(playerid); if(PlayerInfo[playerid][PegouColete] == true) LiberarColete(playerid); return 1; } SetVip(playerid, Nivel, Dias) { new stringV[70], Query[110]; if(PlayerInfo[playerid][Vip] > 0) { format(stringV, sizeof stringV, "C-VIP: Seu VIP foi renovado. + %d dias. Nivel: %d.", Dias, Nivel); PlayerInfo[playerid][TempoVip] += Dias; PlayerInfo[playerid][DiasVip] += Dias; PlayerInfo[playerid][Vip] = Nivel; mysql_format(Connection, Query, sizeof(Query), "UPDATE `Vips` SET `Dias`=%d, `Nivel`=%d, `TempoVip`=%d WHERE `Nome`='%e'", PlayerInfo[playerid][DiasVip], PlayerInfo[playerid][Vip], PlayerInfo[playerid][TempoVip], PlayerInfo[playerid][Nome]); mysql_tquery(Connection, Query, "", ""); } else { format(stringV, sizeof stringV, "C-VIP: Seu VIP foi ativado. %d dias. Nivel: %d. /ComandosVip", Dias, Nivel); PlayerInfo[playerid][TempoVip] = Dias; PlayerInfo[playerid][DiasVip] = Dias; PlayerInfo[playerid][Vip] = Nivel; mysql_format(Connection, Query, sizeof(Query), "INSERT INTO `Vips`(`Nome`, `Dias`, `Nivel`, `TempoVip`) VALUES ('%e', %d, %d, %d)", PlayerInfo[playerid][Nome], PlayerInfo[playerid][DiasVip], PlayerInfo[playerid][Vip], PlayerInfo[playerid][TempoVip]); mysql_tquery(Connection, Query, "", ""); } SendClientMessage(playerid, COR_VIP, stringV); return 1; } RemoveVip(playerid) { new query[70]; mysql_format(Connection, query, sizeof(query), "DELETE FROM `Vips` WHERE `Nome` = '%e'", PlayerInfo[playerid][Nome]); mysql_tquery(Connection, query, "", ""); PlayerInfo[playerid][TempoVip] = 0; PlayerInfo[playerid][Vip] = 0; PlayerInfo[playerid][DiasVip] = 0; SendClientMessage(playerid, COR_VIP, "C-VIP: Seus dias VIP chegaram ao fim. Para renovar adquira uma nova key VIP."); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case DIALOG_NEW_KEY: { if(!response) return 1; if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_NEW_KEY, DIALOG_STYLE_INPUT, "KEYS VIP", "\nDigite uma nova key vбlida\n{FFFF00}Apenas letras sгo aceitas:\n\n", "Criar", "Cancelar"); format(PlayerInfo[playerid][vKey], 50, inputtext); new Dialog[128]; format(Dialog, sizeof Dialog, "{FFFFFF}Seu novo codigo VIP: {DE3A3A}%s\n\n{FFFFFF}Agora nos informe a quantidade de dias VIP:", PlayerInfo[playerid][vKey]); ShowPlayerDialog(playerid, DIALOG_NEW_KEY_DAYS, DIALOG_STYLE_INPUT, "KEYS VIP", Dialog, "Criar", "Cancelar"); } case DIALOG_NEW_KEY_DAYS: { if(!IsNumeric(inputtext)) return SendClientMessage(playerid, VERMELHO, "ERRO: Digite uma quantidade de dias vбlidos."); if(strval(inputtext) <= 0) return SendClientMessage(playerid, VERMELHO, "ERRO: Nгo pode ser criada uma Key com 0 dias vips."); PlayerInfo[playerid][vDias] = strval(inputtext); new Dialog[170]; format(Dialog, sizeof Dialog, "{FFFFFF}Seu novo codigo VIP: {DE3A3A}%s\n{FFFFFF}Vencimento: {DE3A3A}%d dias\n\n{FFFFFF}Agora nos informe o nivel da key VIP: {DE3A3A}1 a 3", PlayerInfo[playerid][vKey], PlayerInfo[playerid][vDias]); ShowPlayerDialog(playerid, DIALOG_NEW_KEY_LEVEL, DIALOG_STYLE_INPUT, "KEYS VIP", Dialog, "Criar", "Cancelar"); } case DIALOG_NEW_KEY_LEVEL: { if(!IsNumeric(inputtext)) return SendClientMessage(playerid, VERMELHO, "ERRO: Digite uma quantidade de nivel vбlidos 1 a 3."); if(strval(inputtext) < 1 || strval(inputtext) > 3) return SendClientMessage(playerid, VERMELHO, "ERRO: Digite uma quantidade de nivel vбlidos 1 a 3."); PlayerInfo[playerid][vNivel] = strval(inputtext); new Dialog[190]; format(Dialog, sizeof Dialog, "{FFFFFF}Informaзхes de sua nova key:\n\nCуdigo: {DE3A3A}%s\n{FFFFFF}Vencimento: {DE3A3A}%d dias\n{FFFFFF}Nivel: {DE3A3A}%d\n\n{FFFFFF}Deseja criar ?", PlayerInfo[playerid][vKey], PlayerInfo[playerid][vDias], PlayerInfo[playerid][vNivel]); ShowPlayerDialog(playerid, DIALOG_KEY_CONFIRM, DIALOG_STYLE_MSGBOX, "KEYS VIP", Dialog, "Sim", "Nгo"); } case DIALOG_KEY_CONFIRM: { if(!response) return 1; new query[70]; mysql_format(Connection, query, sizeof(query),"SELECT * FROM `Keys` WHERE `Key` = '%e'", PlayerInfo[playerid][vKey]); mysql_tquery(Connection, query, "KeyCheck", "isdd", playerid, PlayerInfo[playerid][vKey], PlayerInfo[playerid][vDias], PlayerInfo[playerid][vNivel]); } case DIALOG_REMOVE_KEY: { new query[70]; mysql_format(Connection, query, sizeof(query),"SELECT * FROM `Keys` WHERE `key` = '%e'", inputtext); mysql_tquery(Connection, query, "DeleteKey", "is", playerid, inputtext); } case DIALOG_ENABLE_KEY: { if(!response) return 1; new query[70]; mysql_format(Connection, query, sizeof(query),"SELECT * FROM `Keys` WHERE `key` = '%e'", inputtext); mysql_tquery(Connection, query, "CheckKeyExist", "is", playerid, inputtext); } case DIALOG_TOYS: { if(!response) return 1; SendClientMessage(playerid, COR_VIP, "C-VIP: Use /tbrinq para remover o brinquedo."); GameTextForPlayer(playerid, "~g~/tbrinquedos", 2000, 3); switch(listitem) { case 0: SetPlayerAttachedObject(playerid, 0, 19330, 2, 0.166000, -0.038999, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000); case 1: SetPlayerAttachedObject(playerid, 0, 19161, 2, 0.078999, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000); case 2: SetPlayerAttachedObject(playerid, 0, 18639, 2, 0.131000, 0.019000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000); case 3: SetPlayerAttachedObject(playerid, 0, 18638, 2, 0.148999, 0.031000, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000); case 4: SetPlayerAttachedObject(playerid, 0, 18939, 2, 0.164000, 0.001999, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000); case 5: SetPlayerAttachedObject(playerid, 0, 19488, 2, 0.121999, 0.000000, -0.005999, -83.199966, 98.200027, -2.500000, 1.000000, 1.000000, 1.000000); case 6: SetPlayerAttachedObject(playerid, 0, 19352, 2, 0.106999, 0.016000, -0.010999, 4.500000, 82.099990, -3.100001, 1.000000, 1.000000, 1.000000); case 7: SetPlayerAttachedObject(playerid, 0, 19090, 2, -0.315999, 0.019999, 0.030000, 0.000000, 0.000000, 0.000000, 1.455999, 0.526000, 0.541000); case 8: SetPlayerAttachedObject(playerid, 0, 19424, 2, 0.070999, -0.026000, -0.002000, -85.299987, 1.600005, -99.500000, 0.944001, 0.915000, 0.809999); case 9: SetPlayerAttachedObject(playerid, 0, 19078, 1, -1.000000,-0.517000,0.000000,0.000000,0.299999,10.499994,8.673998,9.400999,7.410993); case 10: SetPlayerAttachedObject(playerid,0, 19078, 4, -0.067000,0.053999,0.018000,-168.400039,-169.800003,-2.800000,1.000000,1.000000,1.000000); case 11: SetPlayerAttachedObject(playerid,0, 19085, 2, 0.090999,0.035000,-0.015000,106.599983,83.199996,0.800003,1.000000,1.000000,1.000000); case 12: SetPlayerAttachedObject(playerid,1, 19086, 15, 0.051000,0.000000,-0.424999,0.000000,0.000000,-102.100006,1.000000,1.000000,1.000000); case 13: SetPlayerAttachedObject(playerid,0, 19137, 2, 0.101000,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000); case 14: SetPlayerAttachedObject(playerid,0, 19137, 15, 0.040999,0.000000,-0.130000,-86.300003,106.100013,-96.100051,7.741999,4.874000,5.584998); case 15: SetPlayerAttachedObject(playerid,0, 19315, 1, -0.247999,0.509999,-0.015999,4.300004,86.900024,85.500015,3.010000,4.463000,3.824000); case 16: SetPlayerAttachedObject(playerid,0, 19314, 2, 0.157000,0.000000,0.000000,-0.199999,-7.600006,-88.599998,1.000000,1.000000,1.000000); case 17: SetPlayerAttachedObject(playerid,0, 19314, 2, 0.157000,0.000000,0.000000,1.400000,-7.600006,-28.599973,0.711000,0.919999,0.361999); case 18: SetPlayerAttachedObject(playerid,0, 19320, 2, 0.000000,0.000000,0.000000,4.299999,72.999992,3.199999,3.594999,3.787999,4.951001); case 19: SetPlayerAttachedObject(playerid,0, 18963, 2, 0.261000,0.084999,0.004999,4.999999,85.400039,84.699974,2.097000,2.627000,3.033999); case 20: SetPlayerAttachedObject(playerid,0, 1607, 2, 0.267000,0.000000,0.000000,-0.199999,81.199996,-3.499999,1.135000,1.000000,1.126999); case 21: SetPlayerAttachedObject(playerid,0, 1608, 1, 0.000000,0.000000,0.000000,0.499999,89.200042,0.199999,1.000000,1.000000,1.000000); case 22: SetPlayerAttachedObject(playerid,0, 1609, 1, -0.358000,0.000000,0.170000,0.000000,93.099998,0.000000,1.427000,1.509000,1.641000); case 23: SetPlayerAttachedObject(playerid,0, 16442, 15, 0.000000,0.000000,0.259000,0.000000,0.000000,-104.400001,1.000000,1.000000,1.000000); case 24: SetPlayerAttachedObject(playerid,1, 373, 1, 0.33, -0.029, -0.15, 65, 25, 35); case 25: SetPlayerAttachedObject(playerid,1, 1240, 1, 0.15, 0.17, 0.06, 0.0, 90.0, 0.0); case 26: SetPlayerAttachedObject(playerid,1, 1252, 1, 0.1, -0.2, 0.0, 0.0, 90.0, 0.0); case 27: SetPlayerAttachedObject(playerid,1, 356, 1, -0.2, -0.15, 0.0, 0.0, 24.0, 0.0); case 28: SetPlayerAttachedObject(playerid,1 ,359, 15 ,-0.02 ,0.08 ,-0.3 ,0 ,50 ,-10); case 29: SetPlayerAttachedObject(playerid,0, 19065, 2, 0.120000, 0.040000, -0.003500, 0, 100, 100, 1.4, 1.4, 1.4); case 30: SetPlayerAttachedObject(playerid,0 ,1852 ,2 ,0.1 ,0 ,-0.01 ,0 ,15 ,0); case 31: SetPlayerAttachedObject(playerid,1, 1654, 1, 0.1,0.20,0.0,180.0,100.0,0.0); } } case DIALOG_EFECTS: { if(!response) return 1; SendClientMessage(playerid, COR_VIP, "C-VIP: Use /tefeitos para remover o efeito."); GameTextForPlayer(playerid, "~g~/tefeitos", 2000, 3); switch(listitem) { case 0: SetPlayerAttachedObject(playerid,1,18688,1,-0.895839,0.631365,-1.828601,21.642332,7.385670,13.958697,1.232679,1.000000,1.090367); // fire - Bruno case 1: SetPlayerAttachedObject(playerid,1,18742,1,0.036487,-1.759890,1.772809,225.616638,1.132580,0.677276,1.000000,1.000000,1.000000); // water_speed - explosaoaquatica case 2: SetPlayerAttachedObject(playerid,1,18864,1,2.178843,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000); // FakeSnow1 - neve case 3: SetPlayerAttachedObject(playerid,1,867,1,-0.213616,-0.444311,0.070721,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000); // p_rubble04col - pedras case 4: SetPlayerAttachedObject(playerid,1,1254,1,0.448984,0.065604,0.006619,4.313228,89.284942,0.000000,1.000000,1.000000,1.000000); // killfrenzy - caveira case 5: SetPlayerAttachedObject(playerid,1,1242,1,0.090351,0.088730,-0.000036,0.000000,89.157951,0.000000,1.619548,1.000000,1.348966); // bodyarmour - colete case 6: SetPlayerAttachedObject(playerid,1,18735,1,0.000000,-0.479024,-1.590823,0.000000,0.000000,0.000000,13.498819,1.000000,0.678294); // vent2 - fumaГ§ao case 7: SetPlayerAttachedObject(playerid,1,19065,15,-0.025,-0.04,0.23,0,0,270,2,2,2); // Toca de Natal case 8: { SetPlayerAttachedObject(playerid,1,18688,1,-0.895839,0.631365,-1.828601,21.642332,7.385670,13.958697,1.232679,1.000000,1.090367); // fire - Bruno SetPlayerAttachedObject(playerid,2,1254,1,0.448984,0.065604,0.006619,4.313228,89.284942,0.000000,1.000000,1.000000,1.000000); // killfrenzy - caveira } case 9: { SetPlayerAttachedObject(playerid,1,1242,1,0.090351,0.088730,-0.000036,0.000000,89.157951,0.000000,1.619548,1.000000,1.348966); // bodyarmour - colete SetPlayerAttachedObject(playerid,2,18735,1,0.000000,-0.479024,-1.590823,0.000000,0.000000,0.000000,13.498819,1.000000,0.678294); // vent2 - fumaГ§ao } case 10: { SetPlayerAttachedObject(playerid,1,867,1,-0.213616,-0.444311,0.070721,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000); // p_rubble04col - pedras SetPlayerAttachedObject(playerid,2,18742,1,0.036487,-1.759890,1.772809,225.616638,1.132580,0.677276,1.000000,1.000000,1.000000); // water_speed - explosaoaquatica } case 11: { SetPlayerAttachedObject(playerid,1,19065,15,-0.025,-0.04,0.23,0,0,270,2,2,2); // Toca de Natal SetPlayerAttachedObject(playerid,2,18864,1,2.178843,0.000000,0.000000,0.000000,0.000000,0.000000,1.000000,1.000000,1.000000); // FakeSnow1 - neve } } } } return 1; } // ativar key forward CheckKeyExist(playerid, Key[]); public CheckKeyExist(playerid, Key[]) { if(cache_get_row_count(Connection) == 0) return SendClientMessage(playerid, VERMELHO, "ERRO: Key inexistente."); new ValorDias = cache_get_field_content_int(0, "Dias"); new Nivel = cache_get_field_content_int(0, "Nivel"); SetVip(playerid, Nivel, ValorDias); new query[70]; mysql_format(Connection, query, sizeof(query), "DELETE FROM `Keys` WHERE `Key` = '%e'", Key); mysql_tquery(Connection, query, "", ""); return 1; } // criar key forward KeyCheck(playerid, Key[], Dias, Nivel); public KeyCheck(playerid, Key[], Dias, Nivel) { if(cache_get_row_count(Connection) == 1) return SendClientMessage(playerid, VERMELHO, "ERRO: Key ja existente."); new query[150]; mysql_format(Connection, query, sizeof(query), "INSERT INTO `Keys` (`Key`, `Dias`, `Nivel`) VALUES ('%e', %d, %d)", Key, Dias, Nivel); mysql_tquery(Connection, query, "KeyCreated", "isii", playerid, Key, Dias, Nivel); return 1; } forward KeyCreated(playerid, Key[], Dias, Nivel); public KeyCreated(playerid, Key[], Dias, Nivel) { new MsgKeyVip[70]; SendClientMessage(playerid, LARANJA, "KEY: Nova Key VIP criada."); format(MsgKeyVip, sizeof MsgKeyVip, "KEY: [%s] - DIAS: [%d] - NIVEL: [%d]", Key, Dias, Nivel); SendClientMessage(playerid, LARANJA, MsgKeyVip); return 1; } // deletarkey forward DeleteKey(playerid, Key[]); public DeleteKey(playerid, Key[]) { if(cache_get_row_count(Connection) == 0) return SendClientMessage(playerid, VERMELHO, "ERRO: Key inexistente."); new query[70]; mysql_format(Connection, query, sizeof(query), "DELETE FROM `Keys` WHERE `Key` = '%e'", Key); mysql_tquery(Connection, query, "KeyDeleted", "is", playerid, Key); return 1; } forward KeyDeleted(playerid, Key[]); public KeyDeleted(playerid, Key[]) { new MsgKeyVip[60]; format(MsgKeyVip, sizeof MsgKeyVip, "ADMIN: A key %s foi removida com sucesso.", Key); SendClientMessage(playerid, LARANJA, MsgKeyVip); return 1; } // verificar dias forward CheckVip(); public CheckVip() { for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && PlayerInfo[i][Vip] == 1) { if(PlayerInfo[i][TempoVip] > 0) { PlayerInfo[i][TempoVip] = gettime() - ExpireVIP(i); } else { RemoveVip(i); } } } return 1; } ExpireVIP(playerid) { new Dias = PlayerInfo[playerid][DiasVip] * 86400; // 86400 == 24horas return Dias; } IsNumeric(const string[]) { for (new i = 0, j = strlen(string); i < j; i++) { if (string[i] > '9' || string[i] < '0') return 0; } return 1; } LiberarKit(playerid) { SendClientMessage(playerid, COR_VIP, "C-VIP: Vocк ja pode pegar seu KIT-VIP novamente!"); PlayerInfo[playerid][PegouKit] = false; } LiberarColete(playerid) { SendClientMessage(playerid, COR_VIP, "C-VIP: Vocк ja pode pegar seu COLETE-VIP novamente!!"); PlayerInfo[playerid][PegouColete] = false; } VerificarNivelVip(playerid, lvl) { if(PlayerInfo[playerid][Vip] < lvl) { new MsgErro[30]; format(MsgErro, sizeof(MsgErro), "ERRO: Comando indisponivel. Vip %d+", lvl); SendClientMessage(playerid, VERMELHO, MsgErro); return 0; } return 1; } PosicaoFrentePlayer(playerid, &Float:x, &Float:y, Float:distance) { new Float:a; GetPlayerPos( playerid, x, y, a); GetPlayerFacingAngle( playerid, a); if(GetPlayerVehicleID( playerid )) { GetVehicleZAngle(GetPlayerVehicleID( playerid ), a); } x += (distance * floatsin(-a, degrees)); y += (distance * floatcos(-a, degrees)); } ShowToys(playerid) { new string[1700]; strcat(string, "{FFFF00}-{FFFFFF} Chapйu de Bombeiro {0088FF}Slot 1 \n"); // 0 strcat(string, "{FFFF00}-{FFFFFF} Chapйu de Policial {0088FF}Slot 1 \n"); // 1 strcat(string, "{FFFF00}-{FFFFFF} Chapйu Michael Jackson {0088FF}Slot 1 \n"); // 2 strcat(string, "{FFFF00}-{FFFFFF} Chapйu Operбrio {0088FF}Slot 1 \n"); // 3 strcat(string, "{FFFF00}-{FFFFFF} Chapйu de Funkeiro {0088FF}Slot 1 \n"); // 4 strcat(string, "{FFFF00}-{FFFFFF} Chapйu de Veio {0088FF}Slot 1 \n"); // 5 strcat(string, "{FFFF00}-{FFFFFF} Chapйu do Harry Potter {0088FF}Slot 1 \n"); // 6 strcat(string, "{FFFF00}-{FFFFFF} Bolsa de sequestrador {0088FF}Slot 1 \n");// 7 strcat(string, "{FFFF00}-{FFFFFF} Fones de ouvido {0088FF}Slot 1 \n");// 8 strcat(string, "{FFFF00}-{FFFFFF} Loro Josй Gigante {0088FF}Slot 1 \n");// 9 strcat(string, "{FFFF00}-{FFFFFF} Loro Josй menor (Ombro) {0088FF}Slot 2 \n");// 10 strcat(string, "{FFFF00}-{FFFFFF} Tapa olho de pirata {0088FF}Slot 2 \n");// 11 strcat(string, "{FFFF00}-{FFFFFF} Dildo {0088FF}Slot 2\n");// 12 strcat(string, "{FFFF00}-{FFFFFF} Cabeзa de galo {0088FF}Slot 1 \n");// 13 strcat(string, "{FFFF00}-{FFFFFF} Cabeзa de galo gigante Slot 1 \n");// 14 strcat(string, "{FFFF00}-{FFFFFF} Cervo {0088FF}Slot 1 \n");// 15 strcat(string, "{FFFF00}-{FFFFFF} Chifre de boi 1 {0088FF}Slot 1 \n");// 16 strcat(string, "{FFFF00}-{FFFFFF} Chifre de boi 2 {0088FF}Slot 1 \n");// 17 strcat(string, "{FFFF00}-{FFFFFF} Fanstasia de obуbora {0088FF}Slot 1 \n");// 18 strcat(string, "{FFFF00}-{FFFFFF} Cabeзгo do CJ {0088FF}Slot 1 \n"); // 19 strcat(string, "{FFFF00}-{FFFFFF} Golfinho {0088FF}Slot 1 \n"); // 20 strcat(string, "{FFFF00}-{FFFFFF} Tubarгo {0088FF}Slot 1 \n"); // 21 strcat(string, "{FFFF00}-{FFFFFF} Fantasia de tartaruga {0088FF}Slot 1 \n"); // 22 strcat(string, "{FFFF00}-{FFFFFF} Vaca {0088FF}Slot 1 \n"); // 23 strcat(string, "{FFFF00}-{FFFFFF} Colete no corpo {0088FF}Slot 2 \n");// 24 strcat(string, "{FFFF00}-{FFFFFF} Coraзгo no peito {0088FF}Slot 2 \n");// 25 strcat(string, "{FFFF00}-{FFFFFF} C4 nas costas {0088FF}Slot 2 \n");// 26 strcat(string, "{FFFF00}-{FFFFFF} M4 nas costas {0088FF}Slot 2 \n");// 27 strcat(string, "{FFFF00}-{FFFFFF} Bazzuka nas costas {0088FF}Slot 2 \n");// 28 strcat(string, "{FFFF00}-{FFFFFF} Toca do Papai Noel {0088FF}Slot 1 \n");// 29 strcat(string, "{FFFF00}-{FFFFFF} Dado na cabeзa {0088FF}Slot 1 \n");// 30 strcat(string, "{FFFF00}-{FFFFFF} C4 no peito {0088FF}Slot 2 \n");// 31 ShowPlayerDialog(playerid, DIALOG_TOYS, DIALOG_STYLE_LIST, "C-VIP: Selecione para adicionar a seu skin:", string, "APLICAR", "SAIR"); return 1; } ShowEfects(playerid) { new string[800]; strcat(string, "{FFFF00}-{FFFFFF} Fogo na Skin {0088FF}Slot 1\n"); // 0 strcat(string, "{FFFF00}-{FFFFFF} Explosгo Aquatica {0088FF}Slot 1\n"); // 1 strcat(string, "{FFFF00}-{FFFFFF} Neve {0088FF}Slot 1\n"); // 2 strcat(string, "{FFFF00}-{FFFFFF} Pedras {0088FF}Slot 1\n"); // 3 strcat(string, "{FFFF00}-{FFFFFF} Caveira {0088FF}Slot 1\n"); // 4 strcat(string, "{FFFF00}-{FFFFFF} Colete {0088FF}Slot 1\n"); // 5 strcat(string, "{FFFF00}-{FFFFFF} Fumaзa {0088FF}Slot 1\n"); // 6 strcat(string, "{FFFF00}-{FFFFFF} Touca de Natal {0088FF}Slot 1\n");// 7 strcat(string, "{FFFF00}-{FFFFFF} Caveira e Fogo {0088FF}Slot 1 e 2\n");// 8 strcat(string, "{FFFF00}-{FFFFFF} Colete e Fumaзa {0088FF}Slot 1 e 2\n");// 9 strcat(string, "{FFFF00}-{FFFFFF} Pedras e Explosгo Aquatica {0088FF}Slot 1 e 2\n");// 10 strcat(string, "{FFFF00}-{FFFFFF} Touca de Natal e Neve {0088FF}Slot 1 e 2\n");// 11 ShowPlayerDialog(playerid, DIALOG_EFECTS, DIALOG_STYLE_LIST, "C-VIP: Selecione para adicionar a seu skin:", string, "APLICAR", "SAIR"); return 1; } forward SendVipMessageToAll(playerid, const string[]); public SendVipMessageToAll(playerid, const string[]) { switch(PlayerInfo[playerid][Vip]) { case 1: SendClientMessageToAll(BRONZE, string); case 2: SendClientMessageToAll(PRATA, string); case 3: SendClientMessageToAll(OURO, string); } return 1; } forward ChatVIP(const string[]); public ChatVIP(const string[]) { for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && PlayerInfo[i][Vip] > 0) { switch(PlayerInfo[i][Vip]) { case 1: SendClientMessage(i, BRONZE, string); case 2: SendClientMessage(i, PRATA, string); case 3: SendClientMessage(i, OURO, string); } } } return 1; } // ==================== Comandos VIP nivel 1 CMD:comandosvip(playerid) { //if(!VerificarNivelVip(playerid, 1)) return 1; new String[800]; strcat(String, "{FFFFFF}.: COMANDOS VIP {8B5A2B}BRONZE{FFFFFF} :.\n\n"); strcat(String, "{8B5A2B} /v {FFFFFF}- Falar no modo VIP\n"); strcat(String, "{8B5A2B} /cv {FFFFFF}- Falar no chat VIP\n"); strcat(String, "{8B5A2B} /souvip {FFFFFF}- Ostentar seu VIP\n"); strcat(String, "{8B5A2B} /venc {FFFFFF}- Ver vencimento do seu VIP\n\n\n"); strcat(String, "{FFFFFF}.: COMANDOS VIP {9C9C9C}PRATA{FFFFFF} :.\n\n"); strcat(String, "{9C9C9C} /vkit {FFFFFF}- Pegar KIT-VIP\n"); strcat(String, "{9C9C9C} /vcolete {FFFFFF}- Colocar um colete\n"); strcat(String, "{9C9C9C} /vjetpack {FFFFFF}- Criar um jetpack\n"); strcat(String, "{9C9C9C} /vreparar {FFFFFF}- Reparar um veiculo\n\n\n"); strcat(String, "{FFFFFF}.: COMANDOS VIP {EEC900}OURO{FFFFFF} :.\n\n"); strcat(String, "{EEC900} /vcar {FFFFFF}- Criar carro VIP\n"); strcat(String, "{EEC900} /vbike {FFFFFF}- Criar moto VIP\n"); strcat(String, "{EEC900} /efeitos {FFFFFF}- Abre um menu de efeitos VIP\n"); strcat(String, "{EEC900} /brinquedos {FFFFFF}- Abre um menu de brinquedos VIP\n"); ShowPlayerDialog(playerid, DIALOG_COMANDOS_VIP, DIALOG_STYLE_MSGBOX, "{EEC900}C-VIP: - Comandos VIP", String, "Fechar", #); return 1; } CMD:venc(playerid) { if(!VerificarNivelVip(playerid, 1)) return 1; new String[256], Str[128]; format(Str, sizeof(Str), "{ffffff}NICK: {008B00}%s{FFFFFF} [{008B00}%d{FFFFFF}] - ", PlayerInfo[playerid][Nome], playerid); strcat(String, Str); format(Str, sizeof(Str), "{ffffff}VENCIMENTO EM: {008B00}%d {FFFFFF}DIAS\n\n", PlayerInfo[playerid][DiasVip]); strcat(String, Str); ShowPlayerDialog(playerid, DIALOG_VENC_VIP, DIALOG_STYLE_MSGBOX, "{EEC900}C-VIP: - Vencimento VIP ", String, "Fechar", #); return 1; } CMD:cv(playerid, params[]) { if(!VerificarNivelVip(playerid, 1)) return 1; new texto[100], String[128]; if(sscanf(params, "s", texto)) return SendClientMessage(playerid, CINZA, "Use: /cv [texto]"); if(strval(texto) > 100) return SendClientMessage(playerid, VERMELHO, "ERRO: Texto muito grande, diminua por favor!"); format(String, sizeof(String), "%s {FFFF00}.:CHAT-VIP:.{FFFFFF} %s", PlayerInfo[playerid][Nome], texto); ChatVIP(String); return 1; } CMD:souvip(playerid) { if(!VerificarNivelVip(playerid, 1)) return 1; new String[60]; format(String, sizeof(String), "-VIP » %s: Eu sou VIP, entгo me chupa!", PlayerInfo[playerid][Nome]); SendVipMessageToAll(playerid, String); return 1; } CMD:v(playerid, params[]) { if(!VerificarNivelVip(playerid, 1)) return 1; new texto[100], String[128]; if(sscanf(params, "s", texto)) return SendClientMessage(playerid, CINZA, "Use: /v [Texto]"); format(String, sizeof(String), "-VIP » %s: %s", PlayerInfo[playerid][Nome], texto); SendVipMessageToAll(playerid, String); return 1; } // ====================================================== // ==================== Comandos VIP nivel 2 CMD:vjetpack(playerid) { if(!VerificarNivelVip(playerid, 2)) return 1; if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo pode utilizar esse comando em um veнculo!"); SendClientMessage(playerid, COR_VIP, "C-VIP: Jetpack criado com sucesso!"); SetPlayerSpecialAction(playerid, 2); return 1; } CMD:vcolete(playerid) { if(!VerificarNivelVip(playerid, 3)) return 1; if(PlayerInfo[playerid][PegouColete] == true) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк jб pegou seu COLETE-VIP recentemente!"); SendClientMessage(playerid, COR_VIP, "C-VIP: Colete criado com sucesso!"); SetPlayerArmour(playerid, 100.0); PlayerInfo[playerid][PegouColete] = true; return 1; } CMD:vkit(playerid) { if(!VerificarNivelVip(playerid, 2)) return 1; if(PlayerInfo[playerid][PegouKit] == true) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк jб pegou seu KIT-VIP recentemente!"); SendClientMessage(playerid, COR_VIP, "C-VIP: Vocк pegou seu KIT-VIP com sucesso!"); GivePlayerWeapon(playerid, 4, 99999); GivePlayerWeapon(playerid, 24, 99999); GivePlayerWeapon(playerid, 26, 99999); GivePlayerWeapon(playerid, 31, 99999); GivePlayerWeapon(playerid, 32, 99999); GivePlayerWeapon(playerid, 34, 99999); PlayerInfo[playerid][PegouKit] = true; return 1; } CMD:vreparar(playerid) { if(!VerificarNivelVip(playerid, 2)) return 1; if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo pode utilizar esse comando fora de um veнculo!"); SendClientMessage(playerid, COR_VIP, "C-VIP: Veiculo reparado com sucesso!"); RepairVehicle(GetPlayerVehicleID(playerid)); return 1; } // ====================================================== // ==================== Comandos VIP nivel 3 CMD:vcar(playerid, params[]) { if(!VerificarNivelVip(playerid, 3)) return 1; new Cor1, Cor2, idcarro; if(sscanf(params, "ii", Cor1, Cor2)) return SendClientMessage(playerid, CINZA, "Use: /vcar [Cor1] [Cor2]"); new Float:X, Float:Y, Float:Z, Float:X1, Float:Y1, Float:A; PosicaoFrentePlayer(playerid, X, Y, 3); GetPlayerPos(playerid, X1, Y1, Z); GetPlayerFacingAngle(playerid, A); idcarro = AddStaticVehicle(411, X, Y, Z, A+90, Cor1, Cor2); CarrosCriados[TodosCarros] = idcarro; TodosCarros ++; SendClientMessage(playerid, COR_VIP, "C-VIP: Veiculo VIP criado com sucesso!"); return 1; } CMD:vbike(playerid, params[]) { if(!VerificarNivelVip(playerid, 3)) return 1; new Cor1, Cor2, idcarro; if(sscanf(params, "ii", Cor1, Cor2)) return SendClientMessage(playerid, CINZA, "Use: /vbike [Cor1] [Cor2]"); new Float:X, Float:Y, Float:Z, Float:X1, Float:Y1, Float:A; PosicaoFrentePlayer(playerid, X, Y, 3); GetPlayerPos(playerid, X1, Y1, Z); GetPlayerFacingAngle(playerid, A); idcarro = AddStaticVehicle(522, X, Y, Z, A+90, Cor1, Cor2); CarrosCriados[TodosCarros] = idcarro; TodosCarros ++; SendClientMessage(playerid, COR_VIP, "C-VIP: Moto VIP criada com sucesso!"); return 1; } CMD:brinquedos(playerid) { if(!VerificarNivelVip(playerid, 3)) return 1; if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo pode utilizar esse comando em um veнculo!"); SendClientMessage(playerid, COR_VIP, "C-VIP: Lista de Brinquedos."); ShowToys(playerid); return 1; } CMD:tbrinquedos(playerid) { if(!VerificarNivelVip(playerid, 3)) return 1; for(new i=0; i< MAX_PLAYER_ATTACHED_OBJECTS; i++) { if(IsPlayerAttachedObjectSlotUsed(playerid, i)) RemovePlayerAttachedObject(playerid, i); } SendClientMessage(playerid, COR_VIP, "C-VIP: Brinquedos removidos com sucesso!"); return 1; } CMD:efeitos(playerid) { if(!VerificarNivelVip(playerid, 3)) return 1; if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, VERMELHO, "ERRO: Vocк nгo pode utilizar esse comando em um veнculo!"); SendClientMessage(playerid, COR_VIP, "C-VIP: Lista de Efeitos."); ShowEfects(playerid); return 1; } CMD:tefeitos(playerid) { if(!VerificarNivelVip(playerid, 3)) return 1; RemovePlayerAttachedObject(playerid, 1); // Remoзao dos Efeitos RemovePlayerAttachedObject(playerid, 2); // Remoзao dos Efeitos2 SendClientMessage(playerid, COR_VIP, "C-VIP: Efeitos removidos com sucesso!"); return 1; } // ====================================================== // ==================== Comandos PLAYER CMD:ativarvip(playerid) { SendClientMessage(playerid, COR_VIP, "C-VIP: Adicione uma Key valнda para ativar o VIP."); ShowPlayerDialog(playerid, DIALOG_ENABLE_KEY, DIALOG_STYLE_INPUT, "VIP", "\nNos informe sua key para ativar seu beneficio VIP:\n\n", "Ativar", "Sair"); return 1; } CMD:vips(playerid) { new ContVIP = 0, String[1000], Str[128]; for(new i = 0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i) && PlayerInfo[i][Vip] > 0) { format(Str, sizeof(Str), ".:: VIP ON ::. {008B00}%s {FFFFFF} [{008B00}%i{FFFFFF}]\n", PlayerInfo[i][Nome], i); strcat(String, Str); ContVIP++; } } if(ContVIP == 0) { ShowPlayerDialog(playerid, DIALOG_VIPS, DIALOG_STYLE_MSGBOX, "{EEC900}C-VIP: - VIPs Online", "{FF0000}Nenhum VIP online no momento!", "Fechar", #); } else { ShowPlayerDialog(playerid, DIALOG_VIPS, DIALOG_STYLE_MSGBOX, "{EEC900}C-VIP: - VIPs Online", String, "Fechar", #); } return 1; } // ====================================================== // ==================== Comandos ADMIN RCON CMD:criarkey(playerid) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO,"ERRO: Comando indisponivel. Admin RCON"); ShowPlayerDialog(playerid, DIALOG_NEW_KEY, DIALOG_STYLE_INPUT, "KEYS VIP", "\nDigite uma nova key vбlida\n{FFFF00}Apenas letras sгo aceitas:\n\n", "Criar", "Cancelar"); return 1; } CMD:removerkey(playerid) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO,"ERRO: Comando indisponivel. Admin RCON"); ShowPlayerDialog(playerid, DIALOG_REMOVE_KEY, DIALOG_STYLE_INPUT, "KEYS VIP", "\nDigite a Key que deseja Remover:\n\n", "Remover", "Cancelar"); return 1; } CMD:darvip(playerid, params[]) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO,"ERRO: Comando indisponivel. Admin RCON"); new Nivel, Dias, ID; if(sscanf(params, "udd", ID, Nivel, Dias)) return SendClientMessage(playerid, CINZA, "ADMIN: Use /darvip [ID] [Nivel] [Dias]"); if(Nivel < 1 || Nivel > 3) return SendClientMessage(playerid, VERMELHO, "ERRO: Nivel Invбlido! Disponнvel de 1 a 3."); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, VERMELHO, "ERRO: Jogador nгo conectado."); SendClientMessage(playerid, LARANJA, "ADMIN: Comando efetuado com sucesso !"); SetVip(ID, Nivel, Dias); return 1; } CMD:removervip(playerid, params[]) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO,"ERRO: Comando indisponivel. Admin RCON"); new Motivo[100], Msg[128], ID; if(sscanf(params, "us", ID, Motivo)) return SendClientMessage(playerid, CINZA, "ADMIN: Use /tirarvipmysql_escape_string() [ID] [Motivo]"); if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, VERMELHO, "ERRO: Jogador nгo conectado."); format(Msg, sizeof Msg, "C-VIP: O admin %s retirou seu VIP. Motivo: %s.", PlayerInfo[playerid][Nome], Motivo); SendClientMessage(ID, COR_VIP, Msg); RemoveVip(ID); SendClientMessage(playerid, LARANJA, "ADMIN: Comando efetuado com sucesso !"); return 1; } CMD:respawn(playerid) { if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, VERMELHO,"ERRO: Comando indisponivel. Admin RCON"); new String[70]; format(String, sizeof(String), "ADMIN: O Admin %s deu respawn em todos os veiculos VIP criados!", PlayerInfo[playerid][Nome]); SendClientMessageToAll(LARANJA, String); SendClientMessage(playerid, LARANJA, "ADMIN: Todos os veiculos VIP criados foram destruidos!"); for(new i = 0; i < sizeof(CarrosCriados); i++) DestroyVehicle(CarrosCriados[i]); return 1; } // ======================================================