Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #include <a_mysql>
- #include <sscanf2>
- // -----MYSQL подключение-----
- #define SQL_HOST "Хост"
- #define SQL_USER "Имя пользователя"
- #define SQL_PASS "Пароль"
- #define SQL_DB "БД"
- // -----Номера Диалогов-----
- #define DIALOG_TPMENU 1
- #define DIALOG_TPCREATE 2
- #define DIALOG_TPSHOW 3
- #define DIALOG_TPDELETE 4
- #define DIALOG_TPMAKECHANGE 5
- #define DIALOG_TPGUN 6
- #define DIALOG_GUNCONT 7
- #define DIALOG_TPСAR 8
- #define DIALOG_CARCONT 9
- #define DIALOG_TPHP 10
- #define DIALOG_HPCONT 11
- #define DIALOG_TPARM 12
- #define DIALOG_ARMCONT 13
- #define DIALOG_TPSKIN 14
- #define DIALOG_SKINCONT 15
- new lol[47];
- new DIALOG;
- new Name[24];
- public OnFilterScriptInit()
- {
- mysql_debug(1);
- ConnectMySQL();
- print("\n--------------------------------------");
- print("Dynamical Teleports by Privies");
- print("--------------------------------------\n");
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/tp", cmdtext, true, 10) == 0)
- {
- ShowPlayerDialog(playerid, DIALOG_TPMENU,DIALOG_STYLE_LIST,"Меню телепорта","Создать телепорт\nТелепорты\nМодифицировать телепорт\n{FF0000}Удалить телепорт","Далее","Выход");
- return 1;
- }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_TPMENU)
- {
- if(listitem == 0)
- {
- if(response)
- {
- ShowPlayerDialog(playerid, DIALOG_TPCREATE,DIALOG_STYLE_INPUT,"Создание телепорта","Координаты телепорта находятся под вами, так что если вы желате выбрать другое место нажмите 'Выход'\n Введите название телепорта:","Далее","Выход");
- }
- }
- if(listitem == 1)
- {
- if(response)
- {
- DIALOG = DIALOG_TPSHOW;
- lol = "Выберите телепорт";
- Search(playerid);
- }
- }
- if(listitem == 2)
- {
- if(response)
- {
- ShowPlayerDialog(playerid, DIALOG_TPMAKECHANGE,DIALOG_STYLE_LIST,"Модицикация телепорта","Выдавать оружие\nСадить в машину\nВыдавать Жизни\nВыдавать Броню\nМенять скин","Далее","Выход");
- }
- }
- if(listitem == 3)
- {
- if(response)
- {
- DIALOG = DIALOG_TPDELETE;
- lol = "Выберите телепорт, который вы хотите удалить!";
- Search(playerid);
- }
- }
- }
- if(dialogid == DIALOG_TPMAKECHANGE)
- {
- if(listitem == 0)
- {
- DIALOG = DIALOG_TPGUN;
- lol = "Выберите телепорт, который вы хотите изменить!";
- Search(playerid);
- }
- if(listitem == 1)
- {
- DIALOG = DIALOG_TPСAR;
- lol = "Выберите телепорт, который вы хотите изменить!";
- Search(playerid);
- }
- if(listitem == 2)
- {
- if(response)
- {
- DIALOG = DIALOG_TPHP;
- lol = "Выберите телепорт, который вы хотите изменить!";
- Search(playerid);
- }
- }
- if(listitem == 3)
- {
- if(response)
- {
- DIALOG = DIALOG_TPARM;
- lol = "Выберите телепорт, который вы хотите изменить!";
- Search(playerid);
- }
- }
- if(listitem == 4)
- {
- if(response)
- {
- DIALOG = DIALOG_TPSKIN;
- lol = "Выберите телепорт, который вы хотите изменить!";
- Search(playerid);
- }
- }
- }
- if(dialogid == DIALOG_TPHP)
- {
- if(response)
- {
- ShowPlayerDialog(playerid, DIALOG_HPCONT,DIALOG_STYLE_INPUT,"Введите количество жизней","Введите количество жизни, которое будет даваться игроку","Далее","Выход");
- strmid(Name, inputtext, 0,24,24);
- }
- }
- if(dialogid == DIALOG_TPARM)
- {
- if(response)
- {
- ShowPlayerDialog(playerid, DIALOG_ARMCONT,DIALOG_STYLE_INPUT,"Введите количество брони","Введите количество брони, которое будет даваться игроку","Далее","Выход");
- strmid(Name, inputtext, 0,24,24);
- }
- }
- if(dialogid == DIALOG_TPСAR)
- {
- if(response)
- {
- ShowPlayerDialog(playerid, DIALOG_CARCONT,DIALOG_STYLE_INPUT,"Введите ID авто","Введите ID авто в которое будет помещаться игрок","Далее","Выход");
- strmid(Name, inputtext, 0,24,24);
- }
- }
- if(dialogid == DIALOG_TPGUN)
- {
- if(response)
- {
- ShowPlayerDialog(playerid, DIALOG_GUNCONT,DIALOG_STYLE_INPUT,"Введите ID оружия","Введите ID оружия и количество патронов через точку\nПример: 22.500","Далее","Выход");
- strmid(Name, inputtext, 0,24,24);
- }
- }
- if(dialogid == DIALOG_TPSKIN)
- {
- if(response)
- {
- ShowPlayerDialog(playerid, DIALOG_SKINCONT,DIALOG_STYLE_INPUT,"Введите ID скина","Введите ID скина который будет меняться при телепорте","Далее","Выход");
- strmid(Name, inputtext, 0,24,24);
- }
- }
- if(dialogid == DIALOG_HPCONT)
- {
- if(response)
- {
- if(strlen(inputtext) > 3) return ShowPlayerDialog(playerid, DIALOG_HPCONT,DIALOG_STYLE_INPUT,"Ошибка: Неверное количество жизней!","Введите количество жизни, которое будет даваться игроку","Далее","Выход"), ShowPlayerDialog(playerid, DIALOG_HPCONT,DIALOG_STYLE_INPUT,"Введите количество жизней","Введите количество жизни, которое будет даваться игроку","Далее","Выход");
- if(strval(inputtext) > 100) return ShowPlayerDialog(playerid, DIALOG_HPCONT,DIALOG_STYLE_INPUT,"Ошибка: Неверное количество жизней!","Введите количество жизни, которое будет даваться игроку","Далее","Выход"), ShowPlayerDialog(playerid, DIALOG_HPCONT,DIALOG_STYLE_INPUT,"Введите количество жизней","Введите количество жизни, которое будет даваться игроку","Далее","Выход");
- new query[100];
- format(query, sizeof(query), "UPDATE `TP` SET `Health` = '%s' WHERE `Name` = '%s'",inputtext, Name);
- mysql_query(query);
- mysql_free_result();
- }
- }
- if(dialogid == DIALOG_ARMCONT)
- {
- if(response)
- {
- if(strlen(inputtext) > 3) return ShowPlayerDialog(playerid, DIALOG_ARMCONT,DIALOG_STYLE_INPUT,"Ошибка: Неверное количество брони!","Введите количество брони, которое будет даваться игроку","Далее","Выход"), ShowPlayerDialog(playerid, DIALOG_HPCONT,DIALOG_STYLE_INPUT,"Введите количество жизней","Введите количество жизни, которое будет даваться игроку","Далее","Выход");
- if(strval(inputtext) > 100) return ShowPlayerDialog(playerid, DIALOG_ARMCONT,DIALOG_STYLE_INPUT,"Ошибка: Неверное количество брони!","Введите количество брони, которое будет даваться игроку","Далее","Выход"), ShowPlayerDialog(playerid, DIALOG_HPCONT,DIALOG_STYLE_INPUT,"Введите количество жизней","Введите количество жизни, которое будет даваться игроку","Далее","Выход");
- new query[100];
- format(query, sizeof(query), "UPDATE `TP` SET `Armour` = '%s' WHERE `Name` = '%s'",inputtext, Name);
- mysql_query(query);
- mysql_free_result();
- }
- }
- if(dialogid == DIALOG_CARCONT)
- {
- if(response)
- {
- if(strlen(inputtext) > 3) return ShowPlayerDialog(playerid, DIALOG_CARCONT,DIALOG_STYLE_INPUT,"Ошибка: Неверное ID авто!","Введите ID авто в которое будет помещаться игрок","Далее","Выход"), ShowPlayerDialog(playerid, DIALOG_HPCONT,DIALOG_STYLE_INPUT,"Введите количество жизней","Введите количество жизни, которое будет даваться игроку","Далее","Выход");
- if(strval(inputtext) < 400 || strval(inputtext) > 611) return ShowPlayerDialog(playerid, DIALOG_SKINCONT,DIALOG_STYLE_INPUT,"Ошибка: Неверное ID авто!","Введите ID авто в которое будет помещаться игрок","Далее","Выход"), ShowPlayerDialog(playerid, DIALOG_HPCONT,DIALOG_STYLE_INPUT,"Введите количество жизней","Введите количество жизни, которое будет даваться игроку","Далее","Выход");
- new query[100];
- format(query, sizeof(query), "UPDATE `TP` SET `Car` = '%s' WHERE `Name` = '%s'",inputtext, Name);
- mysql_query(query);
- mysql_free_result();
- }
- }
- if(dialogid == DIALOG_SKINCONT)
- {
- if(response)
- {
- if(strlen(inputtext) > 3) return ShowPlayerDialog(playerid, DIALOG_SKINCONT,DIALOG_STYLE_INPUT,"Ошибка: Неверное ID скина!","Введите ID скина который будет меняться при телепорте","Далее","Выход"), ShowPlayerDialog(playerid, DIALOG_HPCONT,DIALOG_STYLE_INPUT,"Введите количество жизней","Введите количество жизни, которое будет даваться игроку","Далее","Выход");
- if(strval(inputtext) < 1 || strval(inputtext) > 299) return ShowPlayerDialog(playerid, DIALOG_SKINCONT,DIALOG_STYLE_INPUT,"Ошибка: Неверное ID скина!","Введите ID скина который будет меняться при телепорте","Далее","Выход"), ShowPlayerDialog(playerid, DIALOG_HPCONT,DIALOG_STYLE_INPUT,"Введите количество жизней","Введите количество жизни, которое будет даваться игроку","Далее","Выход");
- new query[100];
- format(query, sizeof(query), "UPDATE `TP` SET `Skin` = '%s' WHERE `Name` = '%s'",inputtext, Name);
- mysql_query(query);
- mysql_free_result();
- }
- }
- if(dialogid == DIALOG_GUNCONT)
- {
- if(response)
- {
- if(strfind(inputtext,".") && strlen(inputtext) > 6) return ShowPlayerDialog(playerid, DIALOG_GUNCONT,DIALOG_STYLE_INPUT,"Ошибка: Неверное количество жизней!","Введите ID оружия и количество патронов через точку\nПример: 22.500\n Чтобы забрать всё оружие у игроков введите 0.0","Далее","Выход"), ShowPlayerDialog(playerid, DIALOG_HPCONT,DIALOG_STYLE_INPUT,"Введите количество жизней","Введите количество жизни, которое будет даваться игроку","Далее","Выход");
- new query[100];
- format(query, sizeof(query), "UPDATE `TP` SET `Gun` = '%s' WHERE `Name` = '%s'",inputtext, Name);
- mysql_query(query);
- mysql_free_result();
- }
- }
- if(dialogid == DIALOG_TPDELETE)
- {
- if(response)
- {
- new strr[100];
- format(strr, sizeof(strr), "DELETE FROM `TP` WHERE `Name` = '%s'", inputtext);
- mysql_query(strr);
- }
- }
- if(dialogid == DIALOG_TPSHOW)
- {
- if(response)
- {
- new query[1000], Float:x, Float:y, Float:z, Float:angle, result[500], gun[7], car, hp, arm, amount[7], skin;
- format(query, sizeof(query), "SELECT `Xcor`, `Ycor`, `Zcor`, `Angle`, `Car`, `Health`, `Skin`, `Armour`, `Gun` FROM `TP` WHERE `Name` = '%s'", inputtext);
- mysql_query(query);
- mysql_store_result();
- mysql_fetch_row_format(result, "|");
- sscanf(result, "p<|>ffffddddp<.>s[7]s[7]", x, y, z, angle, car, hp, arm, gun, amount);
- mysql_free_result();
- SetPlayerPos(playerid, x, y, z);
- SetPlayerFacingAngle(playerid, angle);
- if(strval(gun) > 0)
- {
- GivePlayerWeapon(playerid, strval(gun), strval(amount));
- }
- if(car > 0)
- {
- new TPCAR;
- TPCAR = CreateVehicle(car ,x, y, z, angle, 0, 0, 1800);
- PutPlayerInVehicle(playerid, TPCAR, 0);
- GetPlayerFacingAngle(playerid, angle);
- }
- if(hp > 0)
- {
- SetPlayerHealth(playerid, hp);
- }
- if(arm > 0)
- {
- SetPlayerArmour(playerid, arm);
- }
- if(skin > 0)
- {
- SetPlayerSkin(playerid, skin);
- }
- }
- }
- if(dialogid == DIALOG_TPCREATE)
- {
- if(response)
- {
- if(CheckName(inputtext)) return ShowPlayerDialog(playerid, DIALOG_TPCREATE,DIALOG_STYLE_INPUT,"Данное название занято","Координаты телепорта находятся под вами, так что если вы желате выбрать другое место нажмите 'Выход'\n Введите название телепорта:","Далее","Выход");
- new query[500];
- new Float:x, Float:y, Float:z, Float:angle;
- GetPlayerFacingAngle(playerid, angle);
- GetPlayerPos(playerid, x, y, z);
- format(query, sizeof(query), "INSERT INTO `TP` (`Name`, `Xcor`, `Ycor`, `Zcor`, `Angle`) VALUE ('%s','%f','%f','%f', '%f')", inputtext, x, y, z, angle);
- mysql_query(query);
- mysql_free_result();
- }
- }
- return 1;
- }
- stock ConnectMySQL() {
- mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS); }
- stock Search(playerid) {
- mysql_query("SELECT `Name` FROM TP");
- mysql_store_result();
- new rows = mysql_num_rows();
- new mr[1024];
- new sr[32];
- for(new i = 0; i < rows; i++)
- {
- mysql_fetch_row(sr);
- format(sr,32,"%s\n", sr);
- strcat(mr, sr);
- }
- mysql_free_result();
- ShowPlayerDialog(playerid,DIALOG,DIALOG_STYLE_LIST,lol,mr,"Выбрать","Выход"); }
- stock CheckName(inputtext[])
- {
- new Query[100];
- format(Query, sizeof(Query), "SELECT * FROM `TP` WHERE `Name` = '%s';", inputtext);
- mysql_query(Query);
- mysql_store_result();
- if(mysql_num_rows()) return 1;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement