Jump to content

[FS|MAP]SAPD Gates


Recommended Posts

Geplaatst: (bewerkt)

Omdat ik zie dat nogal veel mensen problemen hebben met het maken van dynamische poorten, deuren, etc. heb ik hier een handig filterscript.

SAPD Gates v1.0

Wat is het?

Bij het laden van het filterscript, worden er poorten en slagbomen geplaatst bij all grote politie stations (dus in Los Santos, San Fierro en Las Venturas).

Bij het unloaden van het script (door RCON command of door server restart) worden de poorten allemaal weer verwijderd.

Voor welke servers?

Dit script kan gebruikt worden voor (Team)Deathmatches, RolePlay servers, ...

Commando's?

GEEN!

Juist, dat lees je goed! De poorten gaan open wanneer je er dichtbij ben EN wanneer je een politie skin hebt op dat moment (Tenpenny, Hernandez en Pulaski mee ingerekend).

Daar er geen commando's zijn, is er geen interactie mogelijk tussen commands uit het filterscript en al bestaande commands in de gamemode.

Ik heb dit script getest met LVDM en het deed het goed.

Installeren?

Als je van Pastebin hebt gedownload: Open Pawno en druk New. Verwijder alles wat er komt te staan. Kopiëer nu mijn script er in en druk op compile.

Als je van Rapidshare hebt gedownload:

Plaats gates.amx in je filterscripts map en zet hem bij de filterscripts in je server cfg..

DOWNLOAD

Pastebin

Rapidshare | Verloopt op 24 augustus.

© Copyright informatie

Iedereen mag (delen van) het script gebruiken hoe hij of zij het wil (als filterscript of ingebouwd in de gamemode) en er veranderingen in aanbrengen, maar het dan niet distribueren en claimen als zijn of haar werk.

Alleen het originele filterscript met pwn en amx file mag gedistribueerd worden als en slechts als er NIETS veranderd is.

FAQ

V: Mag ik je naam verwijderen in het script?

A: Nee, liever niet. Bij het laden wordt niets geprint in de cliënt.

V: De poort(en) gaat niet open! Help, wat moet ik doen?

A: Wees er zeker van dat je een politie skin hebt (FBI niet meegerekend) en dat je dichtbij de poort staat.

V: Moet ik met RCON ingelogd zijn?

A: Nee

V: Mag ik je script mirror'en?

A: Ja, maar alleen als er helemaal niets is veranderd aan de pwn en amx file.


Screens:

Los Santos:

samp051hv2.png

San Fierro:

samp050qv3.png

Las Venturas:

samp047zs0.png

Eventuele bugs hoor ik graag!

Veel plezier!

Bewerkt: door Big Boss
Geplaatst:

Heb je ook schuifhekken? Screen's ervan graag mischien leer ik nog wel iets van dit script zodat ik die poorten ergens anders kan zetten..

Geplaatst:

Schuifhekken? :?

Als je bedoelt dat ze niet omhoog maar naar opzij open gaan, dan is er 1. Die zit bij de garage in Las Venturas (niet die op de screen, maar die andere), omdat anders de poort door de weg heen gaat.

Geplaatst: (bewerkt)

Misschien wil ik het wel gebruiken. Maar dan doe ik liever wel wat aanpassingen mag dat? Of heb je dat liever niet?

Credits voor jou natuulijk ;)

Bewerkt: door Juwayri
Geplaatst:

Gewoon objecten toevoegen mag altijd. Zolang mijn naam maar bovenaan in het script blijft staan vind ik het best. ^_^

Geplaatst:

Ik vind het wel een mooi script en wil het graag gaan gebruiken.

Alleen zou ik het dan wel graag op de volgende punten aan willen passen:

- inbouwen in GM (ik heb een pesthekel aan filterscripts draaien :{ )

- de check IsACop eruithalen, omdat ik Freeroam aan het maken ben, Alleen gates voor Cops vind ik wat te RPG-achtig.

Daarbij blijft uiteraard wel je naam in het script staan en ik zet ook je naam bij de command /credits zodat iedereen in-game ook kan zien waar het vandaan komt.

Weet niet of je daar problemen mee hebt?

mvg, Ymosky

ps. mooie politie-auto mod heb je trouwens :)

Geplaatst:

Voor mij geen probleem hoor. :tu:

© Copyright informatie:

Iedereen mag (delen van) het script gebruiken hoe hij of zij het wil (als filterscript of ingebouwd in de gamemode) en er veranderingen in aanbrengen, maar het dan niet distribueren en claimen als zijn of haar werk.

Alleen het originele filterscript met pwn en amx file mag gedistribueerd worden als en slechts als er NIETS veranderd is.

Moge het nu duidelijk zijn. :cya:

  • 1 year later...
Geplaatst: (bewerkt)

H:\Grand Theft Auto - San Andreas\SA-MP Server 0.2\filterscripts\sapdgates.pwn(1) : error 010: invalid function or declaration
H:\Grand Theft Auto - San Andreas\SA-MP Server 0.2\filterscripts\sapdgates.pwn(12) : error 010: invalid function or declaration
H:\Grand Theft Auto - San Andreas\SA-MP Server 0.2\filterscripts\sapdgates.pwn(229) : error 013: no entry point (no public functions)
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


3 Errors.

Deze Errors krijg ik, weet iemand wat ik verkeerd doe? (Ik ben een beginner in scripten vandaar).

EDIT: Laat maar ik heb het al :tu:

Bewerkt: door Ixecube
  • 2 weken later...
  • 6 maanden later...
Geplaatst:

Sorry voor de bump.

Ik heb het script aangepast dat alleen admin's erin kunnen.

Maar ook gewone players (die niet ingelogd zijn op rcon) kunnen erin.

Hier de code


/*

       "Gates" filterscript coded by Vince V.
       a.k.a Big Boss @ www.gtaforum.nl

       If you use this on your server, please give me credit.
       Thanks for using my filterscript.

       Feel free to change any defined setting (see below).

*/

#include <a_samp>

#define FILTERSCRIPT

// ----- [May be changed] ------------------------------------------------------

#define speed 1.0               // Default speed on which the gates open and close
#define closingtime 8000    // Gates close after 8 seconds
#define radius 10.0         // Should not be bigger than 30.0 and not smaller than 1.0

// -----------------------------------------------------------------------------

#define COLOR_GREY 0xAFAFAFAA

forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
forward PlayerToPointCheck(playerid);
forward IsACop(playerid);
forward DestroyAllGates();

forward CloseGatesLS();
forward CloseGatesSF();
forward CloseGatesLV();

new LS_Barrier;
new LS_Gate;

new SF_Barrier1;
new SF_Barrier2;
new SF_Gate;

new LV_Barrier;
new LV_Gate1;
new LV_Gate2;

#if defined FILTERSCRIPT

// ===== [OnFilterScriptInit] ==================================================

public OnFilterScriptInit()
{
       print("\n______________________________________");
       print(" ");
       print(" SAPD Gates by Vince");
       print(" Filterscript loaded!");
       print("______________________________________\n");

       SetTimer("PlayerToPointCheck", 1000, 1);


       LS_Barrier = CreateObject(968, 1544.670044, -1630.823120, 13.040614, 0.0, 90.0, 90.0);          // LS_Barrier close
       LS_Gate = CreateObject(10184, 1590.631104, -1638.056152, 14.944688, 0.0, 0.0, 270.0);           // LS_Gate close

       SF_Gate = CreateObject(10184, -1631.758911, 688.439209, 8.709263, 0.0, 0.0, 90.0);                      // SF_Gat close
       SF_Barrier1 = CreateObject(968, -1572.198364, 658.813354, 6.809889, 0.0, 90.0, 90.0);           // SF_barrier 1 close
       SF_Barrier2 = CreateObject(968, -1701.418823, 687.575867, 24.557047, 0.0, 270.0, 90.0);         // SF_barrier 2 close

       LV_Barrier = CreateObject(968, 2238.168945, 2450.390137, 10.566412, 0.0, 90.0, 90.0);           // LV_barrier close
       LV_Gate1 = CreateObject(10184, 2335.367920, 2444.437256, 7.264085, 0.0, 0.0, 149.6878);         // LV_gate 1 close
       LV_Gate2 = CreateObject(10184, 2294.124023, 2501.326904, 4.712348, 0.0, 0.0, 0.0);                      // LV_gate 2 close

       return 1;
}

// ===== [OnFilterScriptExit] ==================================================

public OnFilterScriptExit()
{
       print("\n______________________________________");
       print(" ");
       print(" SAPD Gates");
       print(" Filterscript unloaded!");
       print("______________________________________\n");
       DestroyAllGates();
       return 1;
}

#else

main()
{

}

#endif

public PlayerToPointCheck(playerid)
{
       new i;
       for(i = 0 ; i < MAX_PLAYERS ; i++)
       {
            if (IsPlayerAdmin(playerid))
           {

// ----- [Los Santos] ----------------------------------------------------------

                       if(PlayerToPoint(radius, i, 1544.670044, -1630.823120, 13.040614))              // Barrier LS
                       {
                               SetObjectRot(LS_Barrier, 0.0, 0.0, 90.0);
                               SetTimer("CloseGatesLS", closingtime, 0);
                       }
                       else if(PlayerToPoint(radius, i, 1590.631104, -1638.056152, 14.944688))         // Gate LS
                       {
                               MoveObject(LS_Gate, 1590.631104, -1638.056152, 19.169624, speed);
                               SetTimer("CloseGatesLS", closingtime, 0);
                       }

// ----- [san Fierro] ----------------------------------------------------------

                       else if(PlayerToPoint(radius, i, -1631.758911, 688.439209, 8.709263))   // Gate SF
                       {
                               MoveObject(SF_Gate, -1631.758911, 688.439209, 12.759239, speed);
                               SetTimer("CloseGatesSF", closingtime, 0);
                       }
                       else if(PlayerToPoint(radius, i, -1572.198364, 658.813354, 6.809889))   // Barrier 1 SF
                       {
                               SetObjectRot(SF_Barrier1, 0.0, 0.0, 90.0);
                               SetTimer("CloseGatesSF", closingtime, 0);
                       }
                       else if(PlayerToPoint(radius, i, -1701.418823, 687.575867, 24.557047))          // Barrier 2 SF
                       {
                               SetObjectRot(SF_Barrier2, 0.0, 0.0, 90.0);
                               SetTimer("CloseGatesSF", closingtime, 0);
                       }

// ----- [Las Venturas] --------------------------------------------------------

                       else if(PlayerToPoint(radius, i, 2238.168945, 2450.390137, 10.566412))          // Barrier LV
                       {
                               SetObjectRot(LV_Barrier, 0.0, 0.0, 90.0);
                               SetTimer("CloseGatesLV", closingtime, 0);
                       }
                       else if(PlayerToPoint(radius, i, 2335.367920, 2444.437256, 7.264085))   // Gate 1 LV
                       {
                               MoveObject(LV_Gate1, 2335.367920, 2444.437256, 11.489084, speed);
                               SetTimer("CloseGatesLV", closingtime, 0);
                       }
                       else if(PlayerToPoint(radius, i, 2294.124023, 2501.326904, 4.712348))   // Gate 2 LV
                       {
                               MoveObject(LV_Gate2, 2294.124023, 2510.742432, 4.712348, speed);
                               SetTimer("CloseGatesLV", closingtime, 0);
                       }
               }

// -----------------------------------------------------------------------------

       }
       return 1;
}

public CloseGatesLS()
{
       SetObjectRot(LS_Barrier, 0.0, 90.0, 90.0);                                                                      // LS_Barrier close
       MoveObject(LS_Gate, 1590.631104, -1638.056152, 14.944688, speed);                       // LS_Gate close
       return 1;
}

public CloseGatesSF()
{
       MoveObject(SF_Gate, -1631.758911, 688.439209, 8.709263, speed);                         //SF_Gat close
       SetObjectRot(SF_Barrier1, 0.0, 90.0, 90.0);                                 // SF Barrier 1
       SetObjectRot(SF_Barrier2, 0.0, 270.0, 90.0);                                // SF Barrier 2
       return 1;
}

public CloseGatesLV()
{
       SetObjectRot(LV_Barrier, 0.0000, 90.0, 90.0);                                                           //LV_barrier close
       MoveObject(LV_Gate1, 2335.367920, 2444.437256, 7.264085, speed);                        //LV_gate 1 close
       MoveObject(LV_Gate2, 2294.124023, 2501.326904, 4.712348, speed);                        //LV_gate 2 close
       return 1;
}

// ===== [PlayerToPoint] =======================================================

public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
       new Float:oldposx, Float:oldposy, Float:oldposz;
       new Float:tempposx, Float:tempposy, Float:tempposz;
       GetPlayerPos(playerid, oldposx, oldposy, oldposz);
       tempposx = (oldposx -x);
       tempposy = (oldposy -y);
       tempposz = (oldposz -z);
       if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
       {
               return 1;
       }
       return 0;
}



// ===== [DestroyAllObjects] ===================================================

public DestroyAllGates()
{
       DestroyObject(1);
       DestroyObject(2);
       DestroyObject(3);
       DestroyObject(4);
       DestroyObject(5);
       DestroyObject(6);
       DestroyObject(7);
       DestroyObject(;
}

// ===== [sCRIPT END] ==========================================================

Geplaatst:

Overal bij PlayerToPoint wordt 'i' gebruikt voor het playerid. Waarom gebruik jij dan 'playerid'?

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...