Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Simple spectate script, GTA3 Liberty Unleashed .
- //Home Page - http://liberty-unleashed.co.uk/
- //Author Vetal © 2012 All Rights Reserved.
- g_Enabled <- false;
- g_MyOldPos <- Vector(0.0, 0.0, 0.0);
- pPlayer <- FindLocalPlayer();
- //Custom values (start). You can set this values whatever you want:
- g_TimerUpdate <- 10;
- g_Distance <- 5;
- //Custom values (end)
- function onClientCommand( szCmd, szParams )
- {
- if ( szCmd == "spec" ){
- local p, playerid;
- if(!szParams){
- Message( "USAGE: /spec <playerid>");
- return false; }
- if ( szParams == "off" && g_Enabled == true ){
- RestoreMyPlace();
- Message( "Spectate has been disabled");
- return false; }
- if(g_Enabled == true){
- Message( "Another spectate is active, to disable use /spec off");
- return false; }
- if(!IsNum( szParams )){
- Message( "USAGE: /spec <playerid>");
- return false; }
- playerid = szParams.tointeger();
- if(playerid == pPlayer.ID){
- Message( "You cant spectate yourself !");
- return false; }
- p = FindPlayer( playerid );
- if(p){
- pPlayer.Frozen = true;
- g_Enabled = true;
- Message( "Spectate Mode is ON. To Turn it Off, use /spec off");
- g_MyOldPos = pPlayer.Pos;
- NewTimer("SpectatorOn", g_TimerUpdate, 1, playerid); } else
- { Message( "Can't find the player."); } }
- }
- function SpectatorOn(playerid)
- {
- local p, camPos, v, myPos;
- p = FindPlayer( playerid );
- if(!p){ RestoreMyPlace();
- return false; }
- v = p.Pos;
- camPos = Vector( v.x + g_Distance, v.y, v.z + g_Distance);
- myPos = Vector( v.x + g_Distance, v.y, v.z + 100);
- SetCameraMatrix( camPos, v );
- pPlayer.Pos = myPos;
- if(g_Enabled == true) { NewTimer("SpectatorOn", g_TimerUpdate, 1, playerid); }
- if(g_Enabled == false){ RestoreMyPlace(); }
- }
- function RestoreMyPlace(){
- RestoreCamera();
- g_Enabled = true; //Needed for not being killed from falling from the sky
- pPlayer.Pos = g_MyOldPos;
- pPlayer.Frozen = false;
- NewTimer("RestoreStatus", 800, 1);
- }
- function onScriptLoad()
- { print("Vetal's simple spectate script loaded"); }
- function RestoreStatus(){ g_Enabled = false; }
- function onClientShot( attacker, weapon, bodypart )
- {
- if(g_Enabled == true) {
- return 0; }
- return 1;
- }
- function onClientHurt( entity )
- {
- if(g_Enabled == true) {
- return 0; }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement