Форум Pawn.Wiki - Воплоти мечту в реальность!: Система пикапов с использованием динамических зон - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
Система пикапов с использованием динамических зон MySQL R8 ORM
Оценка: -----

#1
Пользователь офлайн   Jaws1 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Доброго времени суток ув. пользователи Lightcode.ru! >>>> Youtube.com


>>> Ссылка на доп. файлы

И так перейдём к коду, вам потребуется 4 #include:
#include <a_mysql>
#include <sscanf2>
#include <dc_cmd>
#include <streamer>


Добавить к #define:
#define sql_host "localhost"
#define sql_user "root"
#define sql_base "new_pwn"
#define sql_pass ""
#define SQL_PICUPS "pickups"

#define SPVI SetPVarInt
#define SPVF SetPVarFloat
#define SPVS SetPVarString
#define GPVI GetPVarInt
#define GPVF GetPVarFloat
#define GPVS GetPVarString
#define DPV DeletePVar

#define MAX_PICPS 300
#define MAX_PPC_STR 166
#define DOSTUP_LVL 5
#define DIALOG_MAKEPICK 555
#define pub%0(%1) forward %0(%1); public %0(%1)



Далее: >>>
static stock
	SQLID,
	makeppc[MAX_PPC_STR]
;
enum PICKUP_DATA {
	ORM: PORMID,
	sql_id,
	sql_ptype,
	sql_pmodel,
	sql_message[44],
	Float: sql_coordination[3],
	sql_interiorid,
	sql_virtualworld,
	Float: sql_distance,
	Float: sql_coordteleport[4],
	sql_tpinteriorid,
	sql_tpvirtualworld,
	sql_dynamicCp,
	sql_pickupid,
 	sql_pickarea
};
new PICKINFO[MAX_PICPS][PICKUP_DATA], SQL_PICKS;


После переходим в паблик - public OnGameModeInit()
if(!mysql_SQLCONNECTION()) return print("\n\n\n\t~ MySQL соединение не установлено, игровой мод не будет запущен!\n\n\n\n");
	else {
		mysql_function_query(SQLID, "SET NAMES cp1251;", false, "", "");
		mysql_function_query(SQLID, "SET SESSION character_set_server = cp1251;", false, "", "");
		printf("~ MySQL соединение с базой \"%s\" успешно установлено!", sql_base);
	}
	mysql_tquery(SQLID, "SELECT * FROM `"SQL_PICUPS"` ORDER by `sql_id`", "SQL_LOADED_PICKUPS", "");


>>> public OnGameModeExit()
mysql_close();


Теперь перейдём в >> public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
	switch(dialogid)
	{
		case DIALOG_MAKEPICK : {
		    if(!response) return 1;
		    new Float: pcx, Float: pcy, Float: pcz;
			GetPlayerPos(playerid, pcx, pcy, pcz);
			format(makeppc, sizeof makeppc, "%f, %f, %f, %d, %d", pcx, pcy, pcz, GetPlayerInterior(playerid), GetPlayerVirtualWorld(playerid));
			SPVI(playerid, "makepicen", 1), SendClientMessage(playerid, -1, "Координаты входа созданы ~(создайте координаты выхода /makepicex).");
		}
	}



Теперь перейдем к самим зонам, у кого нету в моде данных пабликов: >>>>

public OnPlayerEnterDynamicArea(playerid, areaid)
{
	if(areaid >= PICKINFO[0][sql_pickarea] && areaid <= PICKINFO[SQL_PICKS - 1][sql_pickarea]) {
		new string[100], pcindex = areaid - PICKINFO[0][sql_pickarea];
		if(PICKINFO[pcindex][sql_ptype] == 1) // телепорт по координатам, тип пикапа 1 (телепорт с одной точки на другую)
		{
		    if(IsPlayerInAnyVehicle(playerid)) return 1;
			if(GPVI(playerid, "TELEPORT_TOPICK") == 1) return SPVI(playerid, "TELEPORT_TOPICK", 2);
			SetPlayerPos(playerid, PICKINFO[pcindex][sql_coordteleport][0], PICKINFO[pcindex][sql_coordteleport][1], PICKINFO[pcindex][sql_coordteleport][2]);
			SetPlayerFacingAngle(playerid, PICKINFO[pcindex][sql_coordteleport][3]);
			SetPlayerInterior(playerid, PICKINFO[pcindex][sql_tpinteriorid]);
			SetPlayerVirtualWorld(playerid, PICKINFO[pcindex][sql_tpvirtualworld]), SetCameraBehindPlayer(playerid);
			format(string, sizeof string, "~g~%s", PICKINFO[pcindex][sql_message]), GameTextForPlayer(playerid, string, 3000, 6);
			SPVI(playerid, "TELEPORT_TOPICK", 1);
		}
		else if(PICKINFO[pcindex][sql_ptype] == 2) // когда игрок встает на пикап, тип пикапа 2 (пикап без телепорта)
		{
		    if(IsPlayerInAnyVehicle(playerid)) return 1;
			else if(PICKINFO[pcindex][sql_id] == 1) // ид пикапа с бд, второго типа, пример ниже
			{
			    GivePlayerMoney(playerid, 250);
			    GivePlayerWeapon(playerid, 30, 300);
			    SendClientMessage(playerid, -1, "{ffff50}Вы получили $250 и AK 47 и 300 патронов.");
			}
			format(string, sizeof string, "~p~%s", PICKINFO[pcindex][sql_message]), GameTextForPlayer(playerid, string, 1500, 1);
		}
	}
	return 1;
}
public OnPlayerLeaveDynamicArea(playerid, areaid)
{
	if(areaid >= PICKINFO[0][sql_pickarea] && areaid <= PICKINFO[SQL_PICKS - 1][sql_pickarea]) {
		if(GPVI(playerid, "TELEPORT_TOPICK") == 2) SPVI(playerid, "TELEPORT_TOPICK", 0);
	}
	return 1;
}



Теперь перейдем к самой загрузке: добавьте куда вам удобно
pub SQL_LOADED_PICKUPS()
{
    new time = GetTickCount();
	for(new r = 0; r < cache_num_rows(); r++) {
		if(SQL_PICKS > MAX_PICPS) { printf("<---(SQL_LOADED_PICKUPS)--->   SQL_PICKS  ->>  MAX_PICPS"); break; } // превышен лимит, если загрузило больше чем указано в #define (MAX_PICPS).
		new ORM: ORM_ID = PICKINFO[r][PORMID] = orm_create(SQL_PICUPS);
		orm_addvar_int(ORM_ID, PICKINFO[r][sql_id], "sql_id"), orm_setkey(ORM_ID, "sql_id");
		orm_addvar_int(ORM_ID, PICKINFO[r][sql_ptype], "sql_ptype");
		orm_addvar_int(ORM_ID, PICKINFO[r][sql_pmodel], "sql_pmodel");
		orm_addvar_string(ORM_ID, PICKINFO[r][sql_message], 44, "sql_message");
		orm_addvar_float(ORM_ID, PICKINFO[r][sql_coordination][0], "sql_pX");
		orm_addvar_float(ORM_ID, PICKINFO[r][sql_coordination][1], "sql_pY");
		orm_addvar_float(ORM_ID, PICKINFO[r][sql_coordination][2], "sql_pZ");
		orm_addvar_int(ORM_ID, PICKINFO[r][sql_interiorid], "sql_interiorid");
		orm_addvar_int(ORM_ID, PICKINFO[r][sql_virtualworld], "sql_virtualworld");
		orm_addvar_float(ORM_ID, PICKINFO[r][sql_distance], "sql_distance");
		orm_addvar_float(ORM_ID, PICKINFO[r][sql_coordteleport][0], "sql_tpX");
		orm_addvar_float(ORM_ID, PICKINFO[r][sql_coordteleport][1], "sql_tpY");
		orm_addvar_float(ORM_ID, PICKINFO[r][sql_coordteleport][2], "sql_tpZ");
		orm_addvar_float(ORM_ID, PICKINFO[r][sql_coordteleport][3], "sql_tpA");
		orm_addvar_int(ORM_ID, PICKINFO[r][sql_tpinteriorid], "sql_tpinteriorid");
		orm_addvar_int(ORM_ID, PICKINFO[r][sql_tpvirtualworld], "sql_tpvirtualworld");
		orm_addvar_int(ORM_ID, PICKINFO[r][sql_dynamicCp], "sql_dynamicCp");
		orm_apply_cache(ORM_ID, r);
		
		PICKINFO[r][sql_pickarea] = CreateDynamicSphere(PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], PICKINFO[r][sql_distance], PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_interiorid]);
		PICKINFO[r][sql_pickupid] = CreateDynamicPickup(PICKINFO[r][sql_pmodel], 23, PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2] - 0.4, PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_interiorid]);
		if(PICKINFO[r][sql_dynamicCp] > 0) PICKINFO[r][sql_dynamicCp] = CreateDynamicCP(PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], 1.0, PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_interiorid], INVALID_PLAYER_ID, 5.0);

		SQL_PICKS ++;
	}
	printf("\n\n- Загружено пикапов: %d, время: %i (ms)", SQL_PICKS, GetTickCount()-time);
	return 1;
}
mysql_SQLCONNECTION()
{
	mysql_log(LOG_ALL, LOG_TYPE_TEXT);
	SQLID = mysql_connect(sql_host, sql_user, sql_base, sql_pass);

	new errno = mysql_errno();
	return errno == 0;
}
SEND_ADM(aadm, const str[], {Float,_}:...)
{
	static args, start, end, string[144];
	#emit LOAD.S.pri 8
	#emit STOR.pri args
	if(args > 8) {
		#emit ADDR.pri str
		#emit STOR.pri start
	    for(end = start + (args - 8); end > start; end -= 4) {
	        #emit LREF.pri end
			#emit PUSH.pri
		}
		#emit PUSH.S str
		#emit PUSH.C 144
		#emit PUSH.C string
		#emit LOAD.S.pri 8
		#emit ADD.C 4
		#emit PUSH.pri
		#emit SYSREQ.C format
		#emit LCTRL 5
		#emit SCTRL 4
        for(new i = GetPlayerPoolSize(); i >= 0; i--) {
			if(IsPlayerConnected(i) && pinfo[i][ploginned]) if(pinfo[i][padmin] >= aadm) SendClientMessage(i, -1, string);
		}
		return 1;
	}
    for(new i = GetPlayerPoolSize(); i >= 0; i--) {
		if(IsPlayerConnected(i) && pinfo[i][ploginned]) if(pinfo[i][padmin] >= aadm) SendClientMessage(i, -1, str);
	}
	return 1;
}




И вот уже почти конец, теперь добавьте команды в конец мода:


CMD:spw(playerid, params[]) return SpawnPlayer(playerid);

CMD:makepic(playerid, params[])
{
	//adm_lvl(6);
	if(GPVI(playerid, "makepicen")) return SendClientMessage(playerid, -1, "Координаты входа уже установлены.");
	ShowPlayerDialog(playerid, DIALOG_MAKEPICK, DIALOG_STYLE_MSGBOX, "Координаты", "Вы хотите установить координаты входа?", "Да", "Нет");
	return 1;
}
CMD:makepicex(playerid, params[])
{
    //adm_lvl(6);
	new part_name[44];
	if(!GPVI(playerid, "makepicen")) return SendClientMessage(playerid, -1, "Вы не установили координаты входа.");
	if(sscanf(params, "s[44]iiii", part_name, params[1], params[2], params[3], params[4])) return SendClientMessage(playerid, -1, "Используйте: /makepicex [название] [вирт.мир входа] [вирт.мир выхода] [CP ENTER(0-no | 1-yes)] [CP EXIT(0-no | 1-yes)]");
	new r = SQL_PICKS;
	SQL_PICKS ++;
	new ORM: ORM_ID6 = PICKINFO[r][PORMID] = orm_create(SQL_PICUPS);
	orm_addvar_int(ORM_ID6, PICKINFO[r][sql_id], "sql_id"), orm_addvar_int(ORM_ID6, PICKINFO[r][sql_ptype], "sql_ptype");
	orm_addvar_int(ORM_ID6, PICKINFO[r][sql_pmodel], "sql_pmodel"), orm_addvar_string(ORM_ID6, PICKINFO[r][sql_message], 44, "sql_message");
	orm_addvar_float(ORM_ID6, PICKINFO[r][sql_coordination][0], "sql_pX"), orm_addvar_float(ORM_ID6, PICKINFO[r][sql_coordination][1], "sql_pY");
	orm_addvar_float(ORM_ID6, PICKINFO[r][sql_coordination][2], "sql_pZ"), orm_addvar_int(ORM_ID6, PICKINFO[r][sql_interiorid], "sql_interiorid");
	orm_addvar_int(ORM_ID6, PICKINFO[r][sql_virtualworld], "sql_virtualworld"), orm_addvar_float(ORM_ID6, PICKINFO[r][sql_distance], "sql_distance");
	orm_addvar_float(ORM_ID6, PICKINFO[r][sql_coordteleport][0], "sql_tpX"), orm_addvar_float(ORM_ID6, PICKINFO[r][sql_coordteleport][1], "sql_tpY");
	orm_addvar_float(ORM_ID6, PICKINFO[r][sql_coordteleport][2], "sql_tpZ"), orm_addvar_float(ORM_ID6, PICKINFO[r][sql_coordteleport][3], "sql_tpA");
	orm_addvar_int(ORM_ID6, PICKINFO[r][sql_tpinteriorid], "sql_tpinteriorid"), orm_addvar_int(ORM_ID6, PICKINFO[r][sql_tpvirtualworld], "sql_tpvirtualworld");
	orm_addvar_int(ORM_ID6, PICKINFO[r][sql_dynamicCp], "sql_dynamicCp");
	orm_setkey(ORM_ID6, "sql_id");
	
    new Float:x, Float:y, Float:z, Float:fa;
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, fa);
 	sscanf(makeppc, "p<,>fffdds[44]", PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], PICKINFO[r][sql_interiorid], PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_message]);
	PICKINFO[r][sql_coordteleport][0] = x, PICKINFO[r][sql_coordteleport][1] = y, PICKINFO[r][sql_coordteleport][2] = z, PICKINFO[r][sql_coordteleport][3] = fa;
	format(PICKINFO[r][sql_message], 44, "%s - вход", part_name);
	PICKINFO[r][sql_ptype] = 1, PICKINFO[r][sql_pmodel] = 1318;
	PICKINFO[r][sql_interiorid] = 0, PICKINFO[r][sql_virtualworld] = params[1];
	PICKINFO[r][sql_distance] = 1, PICKINFO[r][sql_tpinteriorid] = GetPlayerInterior(playerid), PICKINFO[r][sql_tpvirtualworld] = 0;
	PICKINFO[r][sql_dynamicCp] = params[3];
	orm_insert(ORM_ID6, "", "");
	
	PICKINFO[r][sql_pickarea] = CreateDynamicSphere(PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], PICKINFO[r][sql_distance], PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_interiorid]);
	PICKINFO[r][sql_pickupid] = CreateDynamicPickup(PICKINFO[r][sql_pmodel], 23, PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_interiorid]);
	if(PICKINFO[r][sql_dynamicCp] > 0) PICKINFO[r][sql_dynamicCp] = CreateDynamicCP(PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], 1.0, PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_interiorid], INVALID_PLAYER_ID, 5.0);
	format(makeppc, sizeof makeppc, "%f, %f, %f, %f", PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], PICKINFO[r][sql_coordteleport][3]);

	r = SQL_PICKS;
	SQL_PICKS ++;
	new sendername[24];
	GetPlayerName(playerid, sendername, 24);
	new ORM: ORM_ID5 = PICKINFO[r][PORMID] = orm_create(SQL_PICUPS);
	orm_addvar_int(ORM_ID5, PICKINFO[r][sql_id], "sql_id"), orm_addvar_int(ORM_ID5, PICKINFO[r][sql_ptype], "sql_ptype");
	orm_addvar_int(ORM_ID5, PICKINFO[r][sql_pmodel], "sql_pmodel"), orm_addvar_string(ORM_ID5, PICKINFO[r][sql_message], 44, "sql_message");
	orm_addvar_float(ORM_ID5, PICKINFO[r][sql_coordination][0], "sql_pX"), orm_addvar_float(ORM_ID5, PICKINFO[r][sql_coordination][1], "sql_pY");
	orm_addvar_float(ORM_ID5, PICKINFO[r][sql_coordination][2], "sql_pZ"), orm_addvar_int(ORM_ID5, PICKINFO[r][sql_interiorid], "sql_interiorid");
	orm_addvar_int(ORM_ID5, PICKINFO[r][sql_virtualworld], "sql_virtualworld"), orm_addvar_float(ORM_ID5, PICKINFO[r][sql_distance], "sql_distance");
	orm_addvar_float(ORM_ID5, PICKINFO[r][sql_coordteleport][0], "sql_tpX"), orm_addvar_float(ORM_ID5, PICKINFO[r][sql_coordteleport][1], "sql_tpY");
	orm_addvar_float(ORM_ID5, PICKINFO[r][sql_coordteleport][2], "sql_tpZ"), orm_addvar_float(ORM_ID5, PICKINFO[r][sql_coordteleport][3], "sql_tpA");
	orm_addvar_int(ORM_ID5, PICKINFO[r][sql_tpinteriorid], "sql_tpinteriorid"), orm_addvar_int(ORM_ID5, PICKINFO[r][sql_tpvirtualworld], "sql_tpvirtualworld");
	orm_addvar_int(ORM_ID5, PICKINFO[r][sql_dynamicCp], "sql_dynamicCp");
	orm_setkey(ORM_ID5, "sql_id");
	
    sscanf(makeppc, "p<,>ffff", PICKINFO[r][sql_coordteleport][0], PICKINFO[r][sql_coordteleport][1], PICKINFO[r][sql_coordteleport][2], PICKINFO[r][sql_coordteleport][3]);
	PICKINFO[r][sql_coordination][0] = x, PICKINFO[r][sql_coordination][1] = y, PICKINFO[r][sql_coordination][2] = z;
	format(PICKINFO[r][sql_message], 44, "%s - выход", part_name);
	PICKINFO[r][sql_ptype] = 1, PICKINFO[r][sql_pmodel] = 1318;
	PICKINFO[r][sql_interiorid] = GetPlayerInterior(playerid), PICKINFO[r][sql_virtualworld] = 0;
	PICKINFO[r][sql_distance] = 1, PICKINFO[r][sql_tpinteriorid] = 0, PICKINFO[r][sql_tpvirtualworld] = params[2];
	PICKINFO[r][sql_dynamicCp] = params[4];
	orm_insert(ORM_ID5, "", "");
	
	PICKINFO[r][sql_pickarea] = CreateDynamicSphere(PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], PICKINFO[r][sql_distance], PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_interiorid]);
	PICKINFO[r][sql_pickupid] = CreateDynamicPickup(PICKINFO[r][sql_pmodel], 23, PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_interiorid]);
	if(PICKINFO[r][sql_dynamicCp] > 0) PICKINFO[r][sql_dynamicCp] = CreateDynamicCP(PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], 1.0, PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_interiorid], INVALID_PLAYER_ID, 5.0);
	DPV(playerid, "makepicen"), SendClientMessage(playerid, -1, "Координаты выхода успешно созданы.");
	SEND_ADM(DOSTUP_LVL, "[CMD]: Администратор %s[%i] создал телепорт.", sendername, playerid);
	return 1;
}
CMD:makepickup(playerid, params[])
{
    //adm_lvl(6);
    new part_name[44], string[100], sendername[24];
	GetPlayerName(playerid, sendername, 24);
	if(sscanf(params, "s[44]ii", part_name, params[1], params[2])) return SendClientMessage(playerid, -1, "Используйте: /makepickup [название] [ид пикапа] [checkpoint(0-1)]");
	new r = SQL_PICKS;
	SQL_PICKS ++;
	new ORM: ORM_ID7 = PICKINFO[r][PORMID] = orm_create(SQL_PICUPS);
	orm_addvar_int(ORM_ID7, PICKINFO[r][sql_id], "sql_id"), orm_addvar_int(ORM_ID7, PICKINFO[r][sql_ptype], "sql_ptype");
	orm_addvar_int(ORM_ID7, PICKINFO[r][sql_pmodel], "sql_pmodel"), orm_addvar_string(ORM_ID7, PICKINFO[r][sql_message], 44, "sql_message");
	orm_addvar_float(ORM_ID7, PICKINFO[r][sql_coordination][0], "sql_pX"), orm_addvar_float(ORM_ID7, PICKINFO[r][sql_coordination][1], "sql_pY");
	orm_addvar_float(ORM_ID7, PICKINFO[r][sql_coordination][2], "sql_pZ"), orm_addvar_int(ORM_ID7, PICKINFO[r][sql_interiorid], "sql_interiorid");
	orm_addvar_int(ORM_ID7, PICKINFO[r][sql_virtualworld], "sql_virtualworld"), orm_addvar_float(ORM_ID7, PICKINFO[r][sql_distance], "sql_distance");
	orm_addvar_float(ORM_ID7, PICKINFO[r][sql_coordteleport][0], "sql_tpX"), orm_addvar_float(ORM_ID7, PICKINFO[r][sql_coordteleport][1], "sql_tpY");
	orm_addvar_float(ORM_ID7, PICKINFO[r][sql_coordteleport][2], "sql_tpZ"), orm_addvar_float(ORM_ID7, PICKINFO[r][sql_coordteleport][3], "sql_tpA");
	orm_addvar_int(ORM_ID7, PICKINFO[r][sql_tpinteriorid], "sql_tpinteriorid"), orm_addvar_int(ORM_ID7, PICKINFO[r][sql_tpvirtualworld], "sql_tpvirtualworld");
	orm_addvar_int(ORM_ID7, PICKINFO[r][sql_dynamicCp], "sql_dynamicCp");
	orm_setkey(ORM_ID7, "sql_id");
	
	new Float: x, Float: y, Float: z;
	GetPlayerPos(playerid, x, y, z);
	PICKINFO[r][sql_coordination][0] = x, PICKINFO[r][sql_coordination][1] = y, PICKINFO[r][sql_coordination][2] = z;
	format(PICKINFO[r][sql_message], 44, "%s", part_name);
	PICKINFO[r][sql_ptype] = 2, PICKINFO[r][sql_pmodel] = params[1];
	PICKINFO[r][sql_interiorid] = GetPlayerInterior(playerid), PICKINFO[r][sql_virtualworld] = GetPlayerVirtualWorld(playerid);
	PICKINFO[r][sql_distance] = 1, PICKINFO[r][sql_tpinteriorid] = GetPlayerInterior(playerid), PICKINFO[r][sql_tpvirtualworld] = GetPlayerVirtualWorld(playerid);
	PICKINFO[r][sql_dynamicCp] = params[2];
	orm_insert(ORM_ID7, "", "");
	
	PICKINFO[r][sql_pickarea] = CreateDynamicSphere(PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], PICKINFO[r][sql_distance], PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_interiorid]);
	PICKINFO[r][sql_pickupid] = CreateDynamicPickup(PICKINFO[r][sql_pmodel], 23, PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_interiorid]);
	if(PICKINFO[r][sql_dynamicCp] > 0) PICKINFO[r][sql_dynamicCp] = CreateDynamicCP(PICKINFO[r][sql_coordination][0], PICKINFO[r][sql_coordination][1], PICKINFO[r][sql_coordination][2], 1.0, PICKINFO[r][sql_virtualworld], PICKINFO[r][sql_interiorid], INVALID_PLAYER_ID, 5.0);
	format(string, sizeof string, "Пикап создан. sql_ptype == 2(без телепорта) | pickupid: %i | comment: \"%s\".", params[1], part_name), SendClientMessage(playerid, -1, string);
	SEND_ADM(DOSTUP_LVL, "[CMD]: Администратор %s[%i] создал пикап.", sendername, playerid);
	return 1;
}



Вот и все) Ничего сложного)

Автор: Jaws1
0

#2
Пользователь офлайн   m1n1vv 

  • Профессионал
  • Вставить ник
  • Раскрыть информацию
Lig****de.ru?

Где описание? 

R8? Не пора ли уже обновиться?

Сообщение отредактировал m1n1vv: 23 апреля 2016 - 00:16

0

#3
Пользователь офлайн   Syonsons1 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
ORM very good dynamic system :biggrin: :rolleyes: :rolleyes:

Сообщение отредактировал Syonsons1: 18 июня 2026 - 03:48

0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика