>>> Ссылка на доп. файлы
И так перейдём к коду, вам потребуется 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
Вход
Регистрация
Помощь








