Всем привет!
Поскольку у меня так мало работ я решил написать ченить новинькое.
По руку попался PPS от оффреала и в голову пришла мысль сделать подобное ну на клавишу
И я ето зделал! xD
Начнем с установки:
Для начала кидаем инклуд в папку с инклудами
В моде(скрипте) прописываем
Теперь паблик
PHP код:
OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
В конец добавить
PHP код:
KTS_OnPlayerKeyStateChange(playerid,newkeys,oldkeys);
Далее раскажу как создать сам телепорт
Идем в OnGameModeInit()
и добавляем туда телепорт создаеться он по такой форме
PHP код:
AddTeleport(X,Y,Z,A,Interior,VirtWorld,X2,Y2,Z2,A2,Interior2,VirtWorld2);
Описывать не буду поскольку слов не подобрать xD
Вот 1 уже созданый
PHP код:
AddTeleport(-2026.7411,-100.6460,35.1641,175.7967,0,0,-2027.9166,-105.1811,1035.1719,125.0000,3,10);//Автошкола SF
поймите как он работает и всё станет ясно
и ещё при создании телепорта создаються пикапы белой стрелки на обоих координатах xD
ну вот вроде и всё!
PHP код:
// Key Teleport Systems (KTS)
// Created by _[Bupyc]_ for lightcode.ru
#if defined _KTS_included
#endinput
#endif
#define _KTS_included
#pragma library KTS
forward KTS_OnPlayerKeyStateChange(playerid,newkeys,oldkeys);
static number=0;
#define kts_Key 1024 // клавиша (по умолч ALT)
#define kts_RADIUS 2.0 // рекомендую не менять
enum KTS_Tele
{
Float:kts_X,
Float:kts_Y,
Float:kts_Z,
Float:kts_A,
kts_Int,
kts_Virt,
Float:kts_ToX,
Float:kts_ToY,
Float:kts_ToZ,
Float:kts_ToA,
kts_ToInt,
kts_ToVirt,
};
new Teleport[1000][KTS_Tele];
public KTS_OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
{
if(newkeys == kts_Key)
{
for(new num=0;num<number+1;num++)
{
if(IsPlayerInRangeOfPoint(playerid,kts_RADIUS,Teleport[num][kts_X],Teleport[num][kts_Y],Teleport[num][kts_Z]) && GetPlayerVirtualWorld(playerid) == Teleport[num][kts_Virt])
{
KTS_PlayerTeleport(playerid,Teleport[num][kts_ToX],Teleport[num][kts_ToY],Teleport[num][kts_ToZ],Teleport[num][kts_ToA],Teleport[num][kts_ToInt],Teleport[num][kts_ToVirt]);
break;
}
else if(IsPlayerInRangeOfPoint(playerid,kts_RADIUS,Teleport[num][kts_ToX],Teleport[num][kts_ToY],Teleport[num][kts_ToZ]) && GetPlayerVirtualWorld(playerid) == Teleport[num][kts_ToVirt])
{
KTS_PlayerTeleport(playerid,Teleport[num][kts_X],Teleport[num][kts_Y],Teleport[num][kts_Z],Teleport[num][kts_A],Teleport[num][kts_Int],Teleport[num][kts_Virt]);
break;
}
}
}
return;
}
stock KTS_PlayerTeleport(playerid,Float:X,Float:Y,Float:Z,Float:A,Int,Virt)
{
SetPlayerPos(playerid,X,Y,Z); SetPlayerFacingAngle(playerid,A);
SetPlayerInterior(playerid,Int); SetPlayerVirtualWorld(playerid,Virt);
return 1;
}
stock AddTeleport(Float:X,Float:Y,Float:Z,Float:A,Int,Virt,Float:ToX,Float:ToY,Float:ToZ,Float:ToA,ToInt,ToVirt)
{
number++;
CreatePickup(1318,1,X,Y,Z,Virt); CreatePickup(1318,1,ToX,ToY,ToZ,ToVirt);
Teleport[number][kts_X] = X; Teleport[number][kts_Y] = Y; Teleport[number][kts_Z] = Z; Teleport[number][kts_A] = A;
Teleport[number][kts_Int] = Int; Teleport[number][kts_Virt] = Virt;
Teleport[number][kts_ToX] = ToX; Teleport[number][kts_ToY] = ToY; Teleport[number][kts_ToZ] = ToZ; Teleport[number][kts_ToA] = ToA;
Teleport[number][kts_ToInt] = ToInt; Teleport[number][kts_ToVirt] = ToVirt;
return 1;
}
Автор: _[Bupyc]_ тобиш я