Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Система "Моих телепортов"

Статус
В этой теме нельзя размещать новые ответы.

45kastet55

Дебютант
Здравствуйте, помогите с проблемкой, сделал систему личных телепортов и перевёл её на SQL базу данных, не получается сделать единственное, это присвоить ID каждому тп + удаление с последующей записью(созданием) под тот ID который удалился, либо же продолжении по порядку цифр ID, игнорирую те ID, которые были удалены.

Добавление телепорта:

PHP:
new ptID[MAX_TELEPORTS]; - переменная записи ID в базу
PHP:
case TELEPORTS_LIST2:
    {
		if(!response) return ShowMyTeleports(playerid), true;
		if(!strlen(inputtext))
		{
			return ShowPlayerDialog(playerid, TELEPORTS_LIST2, DIALOG_STYLE_INPUT, "{FFFFFF}Создание телепорта", "\n{FFFFFF}Введите название телепорта. Не более 24 символов\n", "Далее", "Отмена" ),true;
		}
		new Float:coord[3], Float:Angle;

		GetPlayerPos(playerid, coord[0], coord[1], coord[2]);
		
		if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
		GetVehicleZAngle(GetPlayerVehicleID(playerid), Angle);
		else
		GetPlayerFacingAngle(playerid, Angle);
		
		AddTp(playerid,inputtext,coord[0], coord[1], coord[2], Angle);
		
		ShowPlayerDialog(playerid, TELEPORTS_LIST6, DIALOG_STYLE_MSGBOX, "{FFFFFF}Создание телепорта", "\n{FFFFFF}Телепорт успешно добавлен\n", " ", "");
	}
PHP:
stock AddTp(playerid,name[],Float:PosXEx,Float:PosYEx,Float:PosZEx,Float:PosA)
{
        new string[812];
	new free = NumberTP(playerid);
	
	format(string, sizeof(string),"INSERT INTO `MyTeleports` (`NamePlayer`,`tPosX`, `tPosY`, `tPosZ`,`tPosA`,`tName`,`tID`) VALUES ( '%s',%f,%f,%f,%f,'%s',%i)",
	PlayerInfo[playerid][pName],
	PosXEx,
	PosYEx,
	PosZEx,
	PosA,
    name,
	free);
	db_query(dbHandle,string);
	return true;
}
PHP:
stock NumberTP(playerid)
{
	new DBResult:Result;
	Result = db_query(dbHandle,"SELECT * FROM `MyTeleports`");
	new FindTP = db_num_rows(Result);
	
	new hid = FindTP;
	for(new i;i<FindTP;i++)
	if(PlayerInfo[playerid][ptID][i] == -1)
	{
		hid = i;
		break;
	}

	return hid;
}
Удаление телепорта:

PHP:
case DELETE_MYTP:
 	{
			       if(!response) return ShowMyTeleports(playerid), true;
	                        new IseTP = GetPVarInt(playerid,"SlotTp");
				new theard[112];
				format(theard, sizeof(theard), "DELETE FROM `MyTeleports` WHERE `tID`='%d'", PlayerInfo[playerid][ptID][IseTP]);
				db_free_result(db_query(dbHandle, theard));
				ShowPlayerDialog(playerid, TELEPORTS_LIST6, DIALOG_STYLE_MSGBOX, "{FFFFFF}Удаление телепорта", "\n{FFFFFF}Телепорт успешно удален\n", " ", "");			
	}
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу