Üzenetek megjelenítése

Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.


Üzenetek - BoSS

Oldalak: 1 ... 48 49 [50] 51 52 ... 55
736
Segítségkérés / Radio link kérés
« Dátum: 2012. március 07. - 19:15:56 »
Nekem olyan Online radio kéne szerverre amin csak rap megy akár magyar akár külföldi vagy mind kettõ :D innen rengeteget végig próbáltam de egyiket se játszotta le.

737
Segítségkérés / Radio link kérés
« Dátum: 2012. március 07. - 19:02:15 »
http://www.radiorow.com/stations/hiphop.htm       <<< itt van több is itt néztem õket de innen nem játsza le sajnos.

738
Segítségkérés / Radio link kérés
« Dátum: 2012. március 05. - 18:50:51 »
Hy all.
Nagyon sok oldalon voltam már egy  olyan radio csatornát keresek ahol csak rap megy magyar és külföldi az nem baj ha csak külföldi megy....Én találtam sokat de hiába illesztem be modba a radio részhez fent a szerveren nem játsza le...a többit lejátsza csak azokat nem amiket beraktam
Ha tudnátok egy ilyen linket küldeni amit tuti lejátszik akkor meg köszönném.

Dupla hozzászólás automatikusan összefûzve. ( 2012. március 05. - 19:39:09 )

Senki? :D

739
Segítségkérés / skin
« Dátum: 2012. március 04. - 18:24:30 »
Nem jó valamiért beírom a parancsot és nem történik semmi se.

740
Segítségkérés / skin
« Dátum: 2012. március 04. - 17:55:28 »
Most már nincs Warning,viszont beírom hogy !poloszoveg BosS és azt írja ki rá hogy MAX 10 karakter.

741
Segítségkérés / Segítség kamera beállítiásban
« Dátum: 2012. március 04. - 17:39:03 »
Idézetet írta: Cannonn date=1330878660\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17982\" data-ipsquote-contentclass=\"forums_Topic
A skin választáshoz:
SetPlayerInterior(playerid,0);

 

Ez van ott..

742
Segítségkérés / skin
« Dátum: 2012. március 04. - 17:37:23 »
Nekem LEtt pár Warningom :D
[pawn]C:\\Documents and Settings\\Rendszergazda\\Asztal\\SA-MP 03D\\pawno\\include\\fixchars.h.inc(37) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\SA-MP 03D\\pawno\\include\\fixchars.h.inc(37) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\SA-MP 03D\\pawno\\include\\fixchars.h.inc(45) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\SA-MP 03D\\pawno\\include\\fixchars.h.inc(45) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1199) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1199) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1199) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1214) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1214) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1214) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1255) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1256) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1257) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1689) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1689) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1689) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1833) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1833) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1833) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1911) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1911) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1911) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1986) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1986) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(1986) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2129) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2130) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2131) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2152) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2153) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2154) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2268) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2269) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2270) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2291) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2292) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2293) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2514) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2514) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2514) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2586) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2586) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2586) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2789) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2789) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(2789) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3031) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3031) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3031) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3050) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3050) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3050) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3066) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3066) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3066) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3082) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3082) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3082) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3098) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3098) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3098) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3117) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3117) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3117) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3136) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3136) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3136) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3155) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3155) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3155) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3194) : warning 219: local variable \"x\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3195) : warning 219: local variable \"y\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(3196) : warning 219: local variable \"z\" shadows a variable at a preceding level
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(4021) : warning 225: unreachable code
C:\\Documents and Settings\\Rendszergazda\\Asztal\\Modtesztelés\\Fejlesztés\\Drift.pwn(4196) : warning 203: symbol is never used: \"ret_memcpy\"
Pawn compiler 3.2.3664           Copyright © 1997-2006, ITB CompuPhase
75 Warnings.[/pawn]

743
Segítségkérés / Segítség kamera beállítiásban
« Dátum: 2012. március 04. - 17:25:37 »
Idézetet írta: Cannonn date=1330877705\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17982\" data-ipsquote-contentclass=\"forums_Topic
Felugrok a szerverre. Mentek le pozíciókat és megcsinálom.
Itt van, ezt állítsd be kamera pozíciónak: 1856.1914,-2455.1067,13.5547
 
Köszi szépen,most még az a gond,hogy az object loginolásnál nem látszik,viszont ha beírom,hogy /akill [id] és nyomok egy f4-et és újra választok akkor látszik az object ez miért lehet,hogy loginolás közbe meg nem mutatja?

744
Segítségkérés / Segítség kamera beállítiásban
« Dátum: 2012. március 04. - 17:12:24 »
Idézetet írta: Cannonn date=1330877419\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17982\" data-ipsquote-contentclass=\"forums_Topic
Voltam fent, csak éppen háttal áll a kamerának. Ez a gond? Mert akkor próbáld meg:
 
SetPlayerFacingAngle(playerid, 90.0);

 

SetPlayerFacingAngle(playerid, 360.0); 

 
Valamelyik hátha jó. Ez ilyen tippelgetõs.
 
Ez is egy gond de a legfõbb gond az,hogy nem látszik az object ha a +szolga\"-t választód már mint karakterek közül akkor pont az elé az object elé rak amit látnod kéne miközbe választód a ki a karaktert.

745
Segítségkérés / Segítség kamera beállítiásban
« Dátum: 2012. március 04. - 16:57:40 »
Idézetet írta: Cannonn date=1330869309\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17982\" data-ipsquote-contentclass=\"forums_Topic
Segítek, ha a gépemhez jutok.
 
Rendben.

746
Segítségkérés / Segítség kamera beállítiásban
« Dátum: 2012. március 04. - 14:51:57 »
Idézetet írta: Exec$ date=1330868827\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17982\" data-ipsquote-contentclass=\"forums_Topic
Hy, figyelj ell magyarázóm neked hogyan kell pontosan!
 

SetupPlayerForClassSelection:
SetPlayerInterior(playerid,0);  Ide írd be az interiórt!
SetPlayerPos(playerid,x,y,z); = Ez a játékós poziciója!
SetPlayerFacingAngle(playerid, 180.0); = Ez az mikór én rádnézzek és téged láttlak vagyis nézzet!
SetPlayerCameraPos(playerid,x,y,z); = Ez ahónan nézzi a kamera a játékóst!
SetPlayerCameraLookAt(playerid,x,y,z); = Ide ahóva nézz a játékós megint!

 

Ez már sikerült most az a map nem látszik amit kéne mutatni beloginolás közbe.

747
Segítségkérés / Segítség kamera beállítiásban
« Dátum: 2012. március 04. - 14:27:40 »
Idézetet írta: Cannonn date=1330867266\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17982\" data-ipsquote-contentclass=\"forums_Topic
Így elvileg rá közelít. De mivel nem látom, nem tudom, hogy neked melyik koordinátán kéne mozgatni.
SetPlayerCameraPos(playerid, x,y+3,z);

 

Küldtem PÜ-t ha feljössz a szerverre akkor a \"SZOLGA\" nevû karaktert válaszd mert pont az dob le oda amit szeretnék,hogy mutasson loginolás közbe

748
Segítségkérés / Segítség kamera beállítiásban
« Dátum: 2012. március 04. - 14:10:15 »
Nekem müködik meg minden de nem látszik a mappolás addig még ki nem választom a játékost.

749
Segítségkérés / Segítség kamera beállítiásban
« Dátum: 2012. március 04. - 14:04:57 »
Õ most már oda néz ahova kell a /spwan parancsra nem reagál az /fc -re igen de viszont nem tudom hogy kell ráközelíteni a camerával mert így hogy távolról nézi nem látszik a mapp amiatt van az egész munka :D
Melyik gombal közelítem a camerát?

750
Segítségkérés / Segítség kamera beállítiásban
« Dátum: 2012. március 04. - 13:57:13 »
Idézetet írta: Cannonn date=1330865476\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"17982\" data-ipsquote-contentclass=\"forums_Topic
Remélem így is megfelel.
 

#include <a_samp>
#define SPEED_ROTATE_LEFTRIGHT_SLOW 0.5
#define SPEED_ROTATE_LEFTRIGHT_FAST 2.0
#define SPEED_ROTATE_UPDOWN_SLOW 0.05
#define SPEED_ROTATE_UPDOWN_FAST 0.15
#define SPEED_MOVE_UPDOWN_SLOW 0.25
#define SPEED_MOVE_UPDOWN_FAST 1.0
#define SPEED_MOVE_FORWARDBACKWARD_SLOW 0.4
#define SPEED_MOVE_FORWARDBACKWARD_FAST 2.0
#define SPEED_MOVE_LEFTRIGHT_SLOW 0.4
#define SPEED_MOVE_LEFTRIGHT_FAST 2.0
 
#define ScriptVersion 2.0
//Cameradefines:
new Float:PCP[MAX_PLAYERS][3]; // PCP = PlayerCameraPosition
new Float:PCL[MAX_PLAYERS][3]; // PCL = PlayerCameraLookat
new Float:PCA[MAX_PLAYERS];    // PCA = PlayerCameraAngle
//Playerdefines:
new IsSpawned[MAX_PLAYERS];
new IsInCameraMode[MAX_PLAYERS];
new KeyTimer[MAX_PLAYERS];
new KeyState[MAX_PLAYERS];
new CameraLocked[MAX_PLAYERS];
new FollowOn[MAX_PLAYERS];
//V2:
new Float:SavedPCP[MAX_PLAYERS][3][3];
new Float:SavedPCL[MAX_PLAYERS][3][3];
new Float:SavedPCA[MAX_PLAYERS][3];
new SlotUsed[MAX_PLAYERS][3];
public OnFilterScriptInit()
{
print(\"\\n\\n ----------------------------------------------------------\");
printf(\"|    Flying Camera Filterscript [V%.1f] by Sandra loaded!   |\", ScriptVersion);
print(\" ----------------------------------------------------------\\n\\n\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
    IsSpawned[playerid] = 0;
    IsInCameraMode[playerid] = 0;
    KeyState[playerid] = 0;
    CameraLocked[playerid] = 0;
    FollowOn[playerid] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
if(IsInCameraMode[playerid] == 1)
{
    KillTimer(KeyTimer[playerid]);
IsInCameraMode[playerid] = 0;
}
for(new i=1; i<4; i++)
{
    SavedPCP[playerid][0] = 0.0;
    SavedPCP[playerid][1] = 0.0;
    SavedPCP[playerid][2] = 0.0;
    SavedPCL[playerid][0] = 0.0;
    SavedPCL[playerid][1] = 0.0;
    SavedPCL[playerid][2] = 0.0;
    SavedPCA[playerid] = 0.0;
}
return 1;
}
public OnPlayerSpawn(playerid)
{
    IsSpawned[playerid] = 1;
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
    IsSpawned[playerid] = 0;
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
    new cmd[256], idx, tmp[256];
cmd = strtok(cmdtext, idx);
if (strcmp(\"/spawn\", cmd, true) == 0)
{
    IsSpawned[playerid] = 1;
return 1;
}
    if (strcmp(\"/camerahelp\", cmd, true) == 0)
{
SendClientMessage(playerid, 0xFA8072AA, \"Flying Camera Help:\");
SendClientMessage(playerid, 0xFA8072AA, \"*/fc*  Start Flying Camera Mode\");
    SendClientMessage(playerid, 0xFA8072AA, \"*Arrow-keys*: Move camera forward/backward/left/right\");
    SendClientMessage(playerid, 0xFA8072AA, \"*Walk-key + Arrow-keys*: *Move camera up/down\");
    SendClientMessage(playerid, 0xFA8072AA, \"*Crouch-key + Arrow-keys*: *Rotate camera up/down/left/right\");
    SendClientMessage(playerid, 0xFA8072AA, \"*Sprint-key*: Speeds up every movement\");
    SendClientMessage(playerid, 0xFA8072AA, \"*/lock* Locks the camera and player is free to move.\");
    SendClientMessage(playerid, 0xFA8072AA, \"*/follow* Locks the camera and keeps looking at player.\");
    SendClientMessage(playerid, 0xFA8072AA, \"*/savecam [1-3]*  */loadcam [1-3]*\");
    return 1;
}
if (strcmp(\"/fc\", cmd, true) == 0)
{
    if(IsSpawned[playerid] == 1)
    {
   if(IsInCameraMode[playerid] == 0)
   {
       TogglePlayerControllable(playerid, 0);
       CameraLocked[playerid] = 0;
            IsInCameraMode[playerid] = 1;
            FollowOn[playerid] = 0;
          GetPlayerPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
          GetPlayerFacingAngle(playerid, PCA[playerid]);
          if(IsPlayerInAnyVehicle(playerid))
          {
         GetVehicleZAngle(GetPlayerVehicleID(playerid), PCA[playerid]);
      }
      PCL[playerid][0] = PCP[playerid][0];
      PCL[playerid][1] = PCP[playerid][1];
      PCL[playerid][2] = PCP[playerid][2];
      PCP[playerid][0] = PCP[playerid][0] - (5.0 * floatsin(-PCA[playerid], degrees));
      PCP[playerid][1] = PCP[playerid][1] - (5.0 * floatcos(-PCA[playerid], degrees));
      PCP[playerid][2] = PCP[playerid][2]+2.0;
      SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
      SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
      KeyTimer[playerid] = SetTimerEx(\"CheckKeyPress\", 70, 1, \"i\", playerid);
   }
   else
   {
       TogglePlayerControllable(playerid, 1);
       KillTimer(KeyTimer[playerid]);
      IsInCameraMode[playerid] = 0;
      SetCameraBehindPlayer(playerid);
   }
}
else
{
    SendClientMessage(playerid, 0xFF0000AA, \"Please spawn first!\");
}
return 1;
}
if (strcmp(\"/lock\", cmd, true) == 0)
{
    if(IsSpawned[playerid] == 1)
    {
   if(IsInCameraMode[playerid] == 1)
   {
       if(FollowOn[playerid] == 0)
       {
          if(CameraLocked[playerid] == 0)
          {
             CameraLocked[playerid] = 1;
             KillTimer(KeyTimer[playerid]);
             TogglePlayerControllable(playerid, 1);
             SendClientMessage(playerid, 0x00FF00AA, \"Camera locked, player unlocked!\");
         }
         else
         {
             CameraLocked[playerid] = 0;
             KeyTimer[playerid] = SetTimerEx(\"CheckKeyPress\", 70, 1, \"i\", playerid);
             TogglePlayerControllable(playerid, 0);
             SendClientMessage(playerid, 0x00FF00AA, \"Camera unlocked, player locked!\");
         }
      }
      else
      {
          SendClientMessage(playerid, 0xFF0000AA, \"Please turn the follow-mode off first! /follow\");
      }
   }
   else
   {
       SendClientMessage(playerid, 0xFF0000AA, \"You\'re not in the Flying Camera Mode!\");
   }
}
else
{
    SendClientMessage(playerid, 0xFF0000AA, \"Please spawn first!\");
}
return 1;
}
if (strcmp(\"/follow\", cmd, true) == 0)
{
    if(IsSpawned[playerid] == 1)
    {
   if(IsInCameraMode[playerid] == 1)
   {
       if(CameraLocked[playerid] == 0)
      {
          if(FollowOn[playerid] == 0)
          {
              FollowOn[playerid] = 1;
             TogglePlayerControllable(playerid, 1);
              KillTimer(KeyTimer[playerid]);
             KeyTimer[playerid] = SetTimerEx(\"FollowPlayer\", 70, 1, \"i\", playerid);
             SendClientMessage(playerid, 0x00FF00AA, \"Following player toggled on!\");
         }
         else
         {
              FollowOn[playerid] = 0;
             TogglePlayerControllable(playerid, 0);
             KillTimer(KeyTimer[playerid]);
             KeyTimer[playerid] = SetTimerEx(\"CheckKeyPress\", 70, 1, \"i\", playerid);
             SendClientMessage(playerid, 0x00FF00AA, \"Following player toggled off!\");
         }
      }
      else
      {
          SendClientMessage(playerid, 0xFF0000AA, \"Please unlock the camera first! /lock\");
      }
   }
   else
   {
       SendClientMessage(playerid, 0xFF0000AA, \"You\'re not in the Flying Camera Mode!\");
   }
}
else
{
    SendClientMessage(playerid, 0xFF0000AA, \"Please spawn first!\");
}
return 1;
}
if (strcmp(\"/savecamtofile\", cmd, true) == 0 || strcmp(\"/sctf\", cmd, true) == 0)
{
    if(IsPlayerAdmin(playerid))
    {
    if(IsSpawned[playerid] == 1)
    {
      if(IsInCameraMode[playerid] == 1)
      {
          new str[128];
          new File:file;
          if (!fexist(\"SavedCameraPositions.txt\"))
          {
            file=fopen(\"SavedCameraPositions.txt\",io_write);
            fclose(file);
         }
         file=fopen(\"SavedCameraPositions.txt\",io_write);
         format(str, 128, \"SetPlayerCameraPos(playerid, %.2f, %.2f, %.2f);\", PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
            fwrite(file,str);
         fwrite(file,\"\\r\\n\");
         format(str, 128, \"SetPlayerCameraLookAt(playerid, %.2f, %.2f, %.2f);\", PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
            fwrite(file,str);
            fwrite(file,\"\\r\\n\");
            fwrite(file,\"\\r\\n\");
            fclose(file);
            SendClientMessage(playerid, 0x00FF00AA, \"Cameraposition saved in SavedCameraPositions.txt!!\");
      }
      else
      {
          SendClientMessage(playerid, 0xFF0000AA, \"You\'re not in the Flying Camera Mode!\");
      }
   }
   else
   {
       SendClientMessage(playerid, 0xFF0000AA, \"Please spawn first!\");
   }
   return 1;
}
}
if (strcmp(\"/saveclassselection\", cmd, true) == 0 || strcmp(\"/scs\", cmd, true) == 0)
{
    if(IsPlayerAdmin(playerid))
    {
    if(IsSpawned[playerid] == 1)
    {
      if(IsInCameraMode[playerid] == 1)
      {
          new str[128];
          new File:file;
          if (!fexist(\"SavedClassSelections.txt\"))
          {
            file=fopen(\"SavedClassSelections.txt\",io_write);
            fclose(file);
         }
         file=fopen(\"SavedClassSelections.txt\",io_write);
         new Float:X, Float:Y, Float:Z, Float:A, interior;
         GetPlayerPos(playerid, X, Y, Z);
         GetPlayerFacingAngle(playerid, A);
         interior = GetPlayerInterior(playerid);
         fwrite(file,\"public OnPlayerRequestClass(playerid, classid)\");
         fwrite(file,\"\\r\\n\");
         fwrite(file,\"{\");
         fwrite(file,\"\\r\\n\");
         format(str, 128, \"    SetPlayerInterior(playerid, %d);\", interior);
            fwrite(file,str);
            fwrite(file,\"\\r\\n\");
         format(str, 128, \"    SetPlayerPos(playerid, %.2f, %.2f, %.2f);\", X, Y, Z);
            fwrite(file,str);
            fwrite(file,\"\\r\\n\");
            format(str, 128, \"    SetPlayerFacingAngle(playerid, %.2f);\", A);
            fwrite(file,str);
            fwrite(file,\"\\r\\n\");
         format(str, 128, \"    SetPlayerCameraPos(playerid, %.2f, %.2f, %.2f);\", PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
            fwrite(file,str);
         fwrite(file,\"\\r\\n\");
         format(str, 128, \"    SetPlayerCameraLookAt(playerid, %.2f, %.2f, %.2f);\", PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
            fwrite(file,str);
            fwrite(file,\"\\r\\n\");
            fwrite(file,\"    return 1;\");
         fwrite(file,\"\\r\\n\");
         fwrite(file,\"}\");
         fwrite(file,\"\\r\\n\");
            fwrite(file,\"\\r\\n\");
            fclose(file);
            SendClientMessage(playerid, 0x00FF00AA, \"ClassSelection-screen saved in SavedClassSelections.txt!!\");
      }
      else
      {
          SendClientMessage(playerid, 0xFF0000AA, \"You\'re not in the Flying Camera Mode!\");
      }
   }
   else
   {
       SendClientMessage(playerid, 0xFF0000AA, \"Please spawn first!\");
   }
   return 1;
}
}
if (strcmp(\"/savecam\", cmd, true) == 0)
{
    if(IsSpawned[playerid] == 1)
    {
   if(IsInCameraMode[playerid] == 1)
   {
      tmp = strtok(cmdtext, idx);
      if(!strlen(tmp))
      {
          SendClientMessage(playerid, 0xFF0000AA, \"[Error] Use: /savecam [1-3]\");
         return 1;
      }
      new slot = strval(tmp);
      if(slot < 1 || slot > 3)
      {
          SendClientMessage(playerid, 0xFF0000AA, \"[Error] Use: /savecam [1-3]\");
         return 1;
      }
      new str[128];
      slot--;
      SavedPCP[playerid][slot][0] = PCP[playerid][0];
      SavedPCP[playerid][slot][1] = PCP[playerid][1];
      SavedPCP[playerid][slot][2] = PCP[playerid][2];
      SavedPCL[playerid][slot][0] = PCL[playerid][0];
      SavedPCL[playerid][slot][1] = PCL[playerid][1];
      SavedPCL[playerid][slot][2] = PCL[playerid][2];
      SavedPCA[playerid][slot] = PCA[playerid];
      SlotUsed[playerid][slot] = 1;
      slot++;
      format(str, 128, \"CameraPosition saved into slot \'%d\'. Use \\\"/loadcam %d\\\" to go back to this cameraview\", slot, slot);
      SendClientMessage(playerid, 0x00FF00AA, str);
   }
   else
   {
       SendClientMessage(playerid, 0xFF0000AA, \"You\'re not in the Flying Camera Mode!\");
   }
}
else
{
    SendClientMessage(playerid, 0xFF0000AA, \"Please spawn first!\");
}
return 1;
}
if (strcmp(\"/loadcam\", cmd, true) == 0)
{
    if(IsSpawned[playerid] == 1)
    {
   if(IsInCameraMode[playerid] == 1)
   {
      tmp = strtok(cmdtext, idx);
      if(!strlen(tmp))
      {
          SendClientMessage(playerid, 0xFF0000AA, \"[Error] Use: /loadcam [1-3]\");
         return 1;
      }
      new slot = strval(tmp);
      if(slot < 1 || slot > 3)
      {
          SendClientMessage(playerid, 0xFF0000AA, \"[Error] Use: /loadcam [1-3]\");
         return 1;
      }
      slot--;
      if(SlotUsed[playerid][slot] == 0)
      {
          SendClientMessage(playerid, 0xFF0000AA, \"[Error] This slot is empty!\");
         return 1;
      }
         PCP[playerid][0] = SavedPCP[playerid][slot][0];
      PCP[playerid][1] = SavedPCP[playerid][slot][1];
      PCP[playerid][2] = SavedPCP[playerid][slot][2];
      PCL[playerid][0] = SavedPCL[playerid][slot][0];
      PCL[playerid][1] = SavedPCL[playerid][slot][1];
      PCL[playerid][2] = SavedPCL[playerid][slot][2];
      PCA[playerid] = SavedPCA[playerid][slot];
      SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
      SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
   }
   else
   {
       SendClientMessage(playerid, 0xFF0000AA, \"You\'re not in the Flying Camera Mode!\");
   }
}
else
{
    SendClientMessage(playerid, 0xFF0000AA, \"Please spawn first!\");
}
return 1;
}
return 0;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_CROUCH)
{
    KeyState[playerid] = 1;
}
else if(newkeys == KEY_SPRINT)
{
    KeyState[playerid] = 2;
}
else if(newkeys == (KEY_CROUCH+KEY_SPRINT))
{
    KeyState[playerid] = 3;
}
else if(newkeys == KEY_WALK)
{
    KeyState[playerid] = 4;
}
else if(newkeys == (KEY_WALK+KEY_SPRINT))
{
    KeyState[playerid] = 5;
}
else
{
    KeyState[playerid] = 0;
}
return 1;
}
forward CheckKeyPress(playerid);
public CheckKeyPress(playerid)
{
    new keys, updown, leftright;
    GetPlayerKeys(playerid, keys, updown, leftright);
   
    //==================================================
    //ROTATING CAMERA
    //==================================================
    if(KeyState[playerid] == 1 || KeyState[playerid] == 3)
    {
if(leftright == KEY_RIGHT)
{
    if(KeyState[playerid] == 3)
    {
        PCA[playerid] = (PCA[playerid]-SPEED_ROTATE_LEFTRIGHT_FAST);
    }
    else
    {
       PCA[playerid] = (PCA[playerid]-SPEED_ROTATE_LEFTRIGHT_SLOW);
   }
   if(PCA[playerid] <= 0)
   {
       PCA[playerid] = (360-PCA[playerid]);
   }
   MovePlayerCamera(playerid);
}
if(leftright == KEY_LEFT)
{
    if(KeyState[playerid] == 3)
    {
        PCA[playerid] = (PCA[playerid]+SPEED_ROTATE_LEFTRIGHT_FAST);
    }
    else
    {
       PCA[playerid] = (PCA[playerid]+SPEED_ROTATE_LEFTRIGHT_SLOW);
   }
   if(PCA[playerid] >= 360)
   {
       PCA[playerid] = (PCA[playerid]-360);
   }
   MovePlayerCamera(playerid);
}
if(updown == KEY_UP)
{
    if(PCL[playerid][2] < (PCP[playerid][2]+5))
    {
      if(KeyState[playerid] == 3)
      {
          PCL[playerid][2] = PCL[playerid][2]+SPEED_ROTATE_UPDOWN_FAST;
      }
      else
      {
          PCL[playerid][2] = PCL[playerid][2]+SPEED_ROTATE_UPDOWN_SLOW;
      }
   }
   MovePlayerCamera(playerid);
}
if(updown == KEY_DOWN)
{
    if(PCL[playerid][2] > (PCP[playerid][2]-5))
    {
      if(KeyState[playerid] == 3)
      {
          PCL[playerid][2] = PCL[playerid][2]-SPEED_ROTATE_UPDOWN_FAST;
      }
      else
      {
          PCL[playerid][2] = PCL[playerid][2]-SPEED_ROTATE_UPDOWN_SLOW;
      }
   }
   MovePlayerCamera(playerid);
}
}
//==================================================
    //MOVING CAMERA UP/DOWN
    //==================================================
if(KeyState[playerid] == 4 || KeyState[playerid] == 5)
{
if(updown == KEY_UP)
{
    if(KeyState[playerid] == 4)  //Slow Up
    {
        PCP[playerid][2] = (PCP[playerid][2]+SPEED_MOVE_UPDOWN_SLOW);
        PCL[playerid][2] = (PCL[playerid][2]+SPEED_MOVE_UPDOWN_SLOW);
                SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
      SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
   }
   else if(KeyState[playerid] == 5)  //Fast Up
    {
        PCP[playerid][2] = (PCP[playerid][2]+SPEED_MOVE_UPDOWN_FAST);
        PCL[playerid][2] = (PCL[playerid][2]+SPEED_MOVE_UPDOWN_FAST);
                SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
      SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
   }
}
if(updown == KEY_DOWN)
{
    if(KeyState[playerid] == 4)  //Slow Down
    {
        PCP[playerid][2] = (PCP[playerid][2]-SPEED_MOVE_UPDOWN_SLOW);
        PCL[playerid][2] = (PCL[playerid][2]-SPEED_MOVE_UPDOWN_SLOW);
                SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
      SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
   }
   else if(KeyState[playerid] == 5)  //Fast Down
    {
        PCP[playerid][2] = (PCP[playerid][2]-SPEED_MOVE_UPDOWN_FAST);
        PCL[playerid][2] = (PCL[playerid][2]-SPEED_MOVE_UPDOWN_FAST);
                SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
      SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
   }
}
}
       
 
//==================================================
    //MOVING CAMERA
    //==================================================
else if(KeyState[playerid] == 2 || KeyState[playerid] == 0)
{
    if(leftright == KEY_RIGHT)
{
            new Float:Angle;
   Angle = PCA[playerid];
   Angle -= 90.0;
    if(KeyState[playerid] == 2)
   {
       
        PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
      PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
      PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
      PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
    }
    else
   {
       PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
      PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
      PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
      PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
   }
   SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
   SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
}
if(leftright == KEY_LEFT)
{
    new Float:Angle;
   Angle = PCA[playerid];
   Angle += 90.0;
    if(KeyState[playerid] == 2)
   {
        PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
      PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
      PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
      PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_FAST);
    }
    else
   {
       PCP[playerid][0] = PCP[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
      PCP[playerid][1] = PCP[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
      PCL[playerid][0] = PCL[playerid][0] + floatmul(floatsin(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
      PCL[playerid][1] = PCL[playerid][1] + floatmul(floatcos(-Angle, degrees), SPEED_MOVE_LEFTRIGHT_SLOW);
   }
   SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
   SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
}
if(updown == KEY_UP)
{
    new Float:X, Float:Y, Float:Z;
            if(KeyState[playerid] == 2)
   {
       GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], SPEED_MOVE_FORWARDBACKWARD_FAST, X, Y, Z);
       PCP[playerid][0] = X;
       PCP[playerid][1] = Y;
       PCP[playerid][2] = Z;
      X = 0.0; Y=0.0; Z=0.0;
       GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
       PCL[playerid][0] = X;
       PCL[playerid][1] = Y;
       PCL[playerid][2] = Z;
       SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
      SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
   }
   else
   {
       GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], SPEED_MOVE_FORWARDBACKWARD_SLOW, X, Y, Z);
       PCP[playerid][0] = X;
       PCP[playerid][1] = Y;
       PCP[playerid][2] = Z;
      X = 0.0; Y=0.0; Z=0.0;
       GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
       PCL[playerid][0] = X;
       PCL[playerid][1] = Y;
       PCL[playerid][2] = Z;
       SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
      SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
   }
}
if(updown == KEY_DOWN)
{
    new Float:X, Float:Y, Float:Z;
   if(KeyState[playerid] == 2)
   {
       GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], -SPEED_MOVE_FORWARDBACKWARD_FAST, X, Y, Z);
       PCP[playerid][0] = X;
       PCP[playerid][1] = Y;
       PCP[playerid][2] = Z;
       X = 0.0; Y=0.0; Z=0.0;
       GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
       PCL[playerid][0] = X;
       PCL[playerid][1] = Y;
       PCL[playerid][2] = Z;
       SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
      SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
   }
   else
   {
       GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], -SPEED_MOVE_FORWARDBACKWARD_SLOW, X, Y, Z);
       PCP[playerid][0] = X;
       PCP[playerid][1] = Y;
       PCP[playerid][2] = Z;
       X = 0.0; Y=0.0; Z=0.0;
       GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PCL[playerid][0], PCL[playerid][1], PCL[playerid][2], 5.0, X, Y, Z);
       PCL[playerid][0] = X;
       PCL[playerid][1] = Y;
       PCL[playerid][2] = Z;
       SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
      SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
   }
}
}
}
stock MovePlayerCamera(playerid)
{
PCL[playerid][0] = PCP[playerid][0] + (floatmul(5.0, floatsin(-PCA[playerid], degrees)));
PCL[playerid][1] = PCP[playerid][1] + (floatmul(5.0, floatcos(-PCA[playerid], degrees)));
SetPlayerCameraPos(playerid, PCP[playerid][0], PCP[playerid][1], PCP[playerid][2]);
SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
}
GetCoordsOnLine3D(Float:startX, Float:startY, Float:startZ, Float:endX, Float:endY, Float:endZ, Float:length, &Float:RX, &Float:RY, &Float:RZ) //Original function by Nubotron. Slightly edited by me.
{
    RX = startX - endX;
    RY = startY - endY;
    RZ = startZ - endZ;
    new Float:sqrt = floatsqroot((RX * RX) + (RY * RY) + (RZ * RZ));
    if (sqrt < 0.01)
        sqrt = 0.01;
    RX = -length * (RX / sqrt) + startX;
    RY = -length * (RY / sqrt) + startY;
    RZ = -length * (RZ / sqrt) + startZ;
}
stock Float:GetAngle(playerid, Float:x, Float:y)  //Original function by Fallout. Edited by me.
{
new Float: Pa;
Pa = floatabs(atan((y-PCP[playerid][1])/(x-PCP[playerid][0])));
if (x <= PCP[playerid][0] && y >= PCP[playerid][1]) Pa = floatsub(180, Pa);
else if (x < PCP[playerid][0] && y < PCP[playerid][1]) Pa = floatadd(Pa, 180);
else if (x >= PCP[playerid][0] && y <= PCP[playerid][1]) Pa = floatsub(360.0, Pa);
Pa = floatsub(Pa, 90.0);
if (Pa >= 360.0) Pa = floatsub(Pa, 360.0);
return Pa;
}
 
forward FollowPlayer(playerid);
public FollowPlayer(playerid)
{
new Float:PX, Float:PY, Float:PZ;
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, PX, PY, PZ);
GetCoordsOnLine3D(PCP[playerid][0], PCP[playerid][1], PCP[playerid][2], PX, PY, PZ, 5.0, X, Y, Z);
PCL[playerid][0] = X;
    PCL[playerid][1] = Y;
    PCL[playerid][2] = Z;
    PCA[playerid] = GetAngle(playerid, PX, PY);
SetPlayerCameraLookAt(playerid, PCL[playerid][0], PCL[playerid][1], PCL[playerid][2]);
}
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= \' \'))
{
index++;
}
new offset = index, result[20];
while ((index < length) && (string[index] > \' \') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}

 

Tökéletes. na kipróbálom aztán jelentkezek :)
 

SetupPlayerForClassSelection leírása:
SetPlayerInterior(playerid,0); = Interior id, megnézheted a /interior paranccsal. Házon kívül az interior id 0.
SetPlayerPos(playerid,x,y,z); = A játékos pozíciója.
SetPlayerFacingAngle(playerid, 180.0); = Amerre nézzen a játékos.
SetPlayerCameraPos(playerid,x,y,z); = Kamera pozíció, ahonnan nézi a kamera a játékost. (A játékostól kb. 3méterre szoktam rakni.)
SetPlayerCameraLookAt(playerid,x,y,z); = Ahova néz a játékos, ajánlatos ide is a játékos pozícióját írni.
 
[/quote]
Én így csináltam
SetPlayerPos(playerid,1844.4143,-2442.6279,13.5547);
SetPlayerFacingAngle(playerid, 47.3426); Erre se tudtam rájönni,hogy melyik a helyes.
SetPlayerCameraPos(playerid, x,y,z); Na erre nem tudtam rájönni
SetPlayerCameraLookAt(playerid, 1844.4143,-2442.6279,13.5547);
Interior rész nem kell.

Oldalak: 1 ... 48 49 [50] 51 52 ... 55
SimplePortal 2.3.7 © 2008-2024, SimplePortal