Jump to content
Geplaatst:
comment_838947

ScriptTools by Sandra18[NL]

Versie 5

Inleiding:

Ik krijg vaak vragen over het opzoeken van coördaten.

- Hoe moet dat?

- Wat is het coördinaat van ....

- Waar staan de opgeslagen coördinaten

- enzovoort

Dit bracht mij op het idee om een handige tool te maken om makkelijk coördiaten op te slaan.

Ook bevat deze tool een textdraw die costant wat statistieken laat zien.

Hoe te installeren:

- Download de 2 bestanden die onderaan dit bericht staan. (Het is een .pwn en een .amx file)

- Zet beide bestanden in de map 'filterscripts'

- Open server.cfg

- Zet achter 'Filterscripts' 'SST5'

- Dus:

Filterscripts SST5

- Sla server.cfg op

- Maak in de map 'scriptfiles' een nieuwe map aan genaamd:

Sandra's Tools

Let op Hoofdletters, haakje en spatie!

- Open je server

- Spelen maar!

Let op:

Niet alle info staat in deze post, voor uitgebreidere info per Update klik op onderstaande links:

- Versie 2

- Versie 3

- Versie 4

- Versie 5

Functies:

Dit script kent 4 verschillende manieren om posities op te slaan + een systeem die kant-en-klare teleportcommando's maakt en een WorldBound-creator.

- Je kan alleen de x, y en z-coördinaat opslaan.

- Je kan een hele AddPlayerClass(skin-id, x, y, z, angle, wapens);-regel opslaan.

- Je kan een hele AddStaticVehicle(model-id, x, y, z, angle, kleur1, kleur2);-regel opslaan.

- Je kan een teleportlocatie opslaan als een SetPlayerPos(playerid, x, y, z); & SetPlayerFacingAngle(playerid, angle);

Indien je in een voertuig zit, zal de teleport-locatie opgeslagen worden als

SetVehcilePos(GetPlayerVehicleID(playerid), x, y, z); * SetVehicleZAngle(GetPlayerVehicleID(playerid), angle);

Voor uitleg over opslaan/maken van teleportcommando: klik >>hier<<

Voor info/uitleg over de worldbouds-creator, klik >>hier<<

Voor uitleg over opslaan/maken van Player-to-point-teleportcommando: klik >>hier<<

De posities worden in verschillende bestanden opgeslagen. Deze bestanden zijn te vinden in de map 'scriptfiles'

- Losse coördiaten worden opgeslagen in het bestand 'SinglePositions.txt'

- AddPlayerClass-regels worden opgeslagen in het bestand 'SpawnPositions.txt'

- AddStaticVehicle-regels worden opgeslagen in het bestand 'CarPositions.txt'

- Teleportlocaties worden opgeslagen in het bestand 'TeleportPosities.txt'

- TeleportCommando's worden opgeslagen in het bestand 'TeleportCommands.txt'

- PlayerToPoint-teleportCommando's worden opgeslagen in het bestand 'PlayerToPointTeleport.txt'

- Instellingen worden opgeslagen in het bestand 'Settings.txt'

Let op: Deze bestanden hoef je niet zelf aan te maken, dat gebeurd automatisch!

Deze tool bevat ook een soort van infobox (er word gebruik gemaakt van een textdraw)

De infobox laat de volgende waarden zien:

- X, Y en Z-coördinaat

- Kijkrichting (Angle)

- Skin-id

- Interior-id

- Voertuigmodel-id

- Voertuig-naam

18137336lx0.th.jpg

Voorbeeld van opslaan van een voertuig:

- Stap in een voertuig

- Rij naar je gewenste locatie

Nu kan je 2 dingen doen:

------------------

- Typ: /sc <commentaar>

of:

- Typ /ssave <commentaar> en selecteer vervolgens in het menu de optie 'Save CarPosition'.

----------------

- Ga naar de map scriptfiles

- Open het bestand 'CarPositions.txt

- Daar zal je dan de volgende regel aantreffen:

AddStaticVehicle(415, 2034.055, 1923.341, 11.984, 218.79, -1, -1); // cheetah voor 'The Visage'

- Kopieer deze regel en nu kan je hem in je script zetten onder 'public OnGameModeInit'

Hetzelfde geldt voor Spawn coordiaten.

Let op: Je moet wel met rcon ingelogd zijn om coördinaten op te slaan.

Dit heb ik gedaan om te voorkomen dat andere spelers jouw bestanden 'vol-spamt'

Log dus eerst in met het commando: /rcon login password

Je kan het opslaan van posities met 2 verschillende commando's doen:

- /ssave [commentaar] (Commentaar is optioneel, hoeft dus niet, maar is wel handiger en overzichtelijker)

Met /ssave word er een menu geopend die er zo uit ziet:

http://i128.photobucket.com/albums/p170/Sandra17NL/menu.jpg

- Of gebruik de onderstaande commando's:

Commando's:

- /ssave [commentaar] --> Opent een menu waarmee je ook posities kan opslaan.

- /sp --> Sla x, y en z-coördinaat op in bestand "SinglePositions.txt"

- /ss --> Sla een AddPlayerClass-regel op in bestand "SpawnPositions.txt"

- /sc --> Sla een AddStaticVehicle-regel op in het bestand "CarPositions.txt"

- /st --> Sla een Teleport-locatie op in het bestand 'TeleportPositions.txt"

- /showstats --> Laat de statistieken rechts-onderin beeld zien

- /hidestats --> Verberg de statistieken

- /shelp --> soort van 'wegwijzer'

- /shelp1 --> 1e help-menu

- /sehelp2 --> 2e help-menu

- /scommands --> ingame commando's van deze tool

- /cash [bedrag] --> geef je zelf ....dollar.

- /heal --> Heal jezelf

- /kill --> Vermoord jezelf

- /c [model-id] --> Spawn een voertuig (Let op: Spawn niet meer dan 70 verschillende voertuigtypes! Anders crasht je client!)

- /setskin [skin-id] --> Verander je skin. (Let op: Als je dood gaat, krijg je je oude skin weer terug)

Let Op: Je moet voor al deze commando's ingelogd zijn met rcon!

Bekende bugs:

- Als je de statistieken-scherm gebruikt, en er komt een andere speler online (geeft die rare waardes aan (waardes van de nieuwe speler)

Als dat gebeurd, typ /showstats om je eigen stats weer te bekijken.

Let op!:

Als je in je eigen gamemode al een textdraw gebruikt, is het niet mogelijk om de textdraw van deze tool te gebruiken omdat anders de textdraws gaan 'flikkeren'

Daarom heb ik in dit filterscript een optie aangemaakt om de textdraw wel of niet te gebruiken.

Dit kan je instellen door de regel

new UseTextDraw = 1;

aan te passen.

1 = textdraw wél gebruiken, 0 = textdraw niet gebruiken.

Als je dus al een textdraw gebruikt moet je dus die regel veranderen naar:

new UseTextDraw = 0;

Dit gebeurt er namelijk als je 2 textdraws tegelijkertijd gebruikt:

P.s: let niet op het watermerk midden in beeld, het gaat immers om wat er rechtsonderin beeld gebeurd zodra ik spawn.

(P.s2: na 0:20 blijft het beeld 20 seconden steken gek genoeg :? Maar daana zie je de bug.)

<object width="425" height="350"><param name="movie" value="

name="wmode" value="transparent"></param><embed src="
type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>

Tot slot:

Ja, ik weet dat je ook AddPlayerClass en AddStaticVehicle regels kan opslaan met het standaard commando /save

maar het ging me in eerste instantie om het opslaan van de losse x, y en z-coordinaten.

Binnenkort komt er een nieuwe versie met wat nieuwe functies en bugfixes.

Als je nog vragen, tips, verzoekjes, of wat dan ook hebt, dan zet je hier maar een berichtje of stuur me een pm.

Download:

SST5.pwn

SST5.amx

Download Oude Versie's:

Voor links van oude versies, moet je maar ff pm'en

Nou, veel plezier ermee! :)

Groetjes Sandra

Bewerkt: door =>Sandra<=

Featured Replies

Geplaatst:
  • Auteur
comment_841384
Is er een manier om die bug tegen te gaan ?

Tom :cya:

Nee, daar is niks aan te doen, het is nou eenmaal zo gemaakt.

Maar dan heb je toch heel veel coords nodig? Van elk coord an de muur? Of moet je gewon lopen en neem tie ze allemaal?

Nee, je kan alleen een vierkante/rechthoekige worldbounds neerzetten.

Dus je hebt maar 4 coördinaten nodig.

  • 2 weken later...
Geplaatst:
comment_847652

nog een paar kleine ideetjes, misschien is het wat

- Iets erin zetten dat je ook weer en tijd kunt veranderen zodat je je werk ook eens (letterlijk :D ) in een ander daglicht plaatst.

- Misschien iets dat je jezelf ook wapens kunt geven?

- Iets toevoegen dat je met het zetten van de marker op je map daarnaartoe geteleport word

- Het is mogelijk om wapens IN interiors via het script aan/uit te zetten, misschien ook leuk om iets te maken dat dat via een command kan?

Maar, dat zijn eigenlijk wel meer debug en test commands. Ik weet niet of dat de bedoeling is ervan.

Voor bij de teleportcommands:

Dat je een message toe kunt voegen die verschijnt bij het gebruiken bij de teleportcommand?

Een optie dat je een teleportcommand maakt waarbij je op een bepaalde plaats moet staan om te kunnen teleporten?

uuuhm,, ik heb misschien nog iets voor een tutorital, maar dat zal ik binnenkort wel PM-en anders ga ik weer off-topic lopen kletsen ;)

groetjes Ymosky

Geplaatst:
  • Auteur
comment_848928

Versie 5

Wat is nieuw:

- Nieuw teleport-commando mogelijkheid:

Je kan nu een teleport commando opslaan waarbij de speler op een bepaalde plaats moet staan om te kunnen teleporteren. (Naar het idee van Ymosky dus :) ) (De messages komen later).

Hoe werkt het:

- Ga eerst naar de eindbestemming van de nieuwe teleport.

- Typ daar /ssave [+eventueel commentaar]

- Kies in het menu voor de optie 'Save TeleportCommand' en vervolgens voor de optie 'Is player near point'

- Nu word je gevraagd de naam voor het commando in te typen. Doe dit dus in de chat maar ZONDER slash ervoor!!

- Nu moet je naar de plek toegaan waar de speler moet staan als die wilt teleporteren.

- Typ op die plek '/setpoint'

- Nu word je gevraagd om de straal in te voeren in de chat. (Ook hier geen slash gebruiken!!)

Met de straal word bedoeld hoeveel meter (coordinaten) de speler maximaal van dat punt verwijderd mag zijn.

- Als je dat hebt gedaan, is het commando klaar en opgeslagen in het bestand 'PlayerToPointTeleport.txt'

Let op: Je moet wel in de gamemode of filterscript waar je je zelfgemaakte commando's in gaat zetten, de PlayerToPoint-functie zetten, deze vind je onderaan dit bericht.

Overige Updates:

/giveplayerweapon [playerid] [wapen-id] [aantal kogels]

Geef een speler een wapen.

/setweather [weather-id]

Verander het weer-type.

/setdefaultweather [weather-id]

Slaat het weer-type op in het bestand 'Settings.txt'

Als je de filterscript opstart, dan zal je server met dit weer-type starten.

Let op: Werkt niet als je in de gamemode al een SetWeather(id); functie hebt staan bij OnGameModeInit!

/setdefaulttime [0-23]

Zelfde verhaaltje als /setdefaultweather, alleen gaat het in dit geval om de tijd.

/usetextdraw

Als je al een textdraw gebruik in je eigen gamemode, kan je niet de textdraws gebruiken die in deze tool zitten.

Met die textdraw bedoel ik dus de soort-van-infobox die aan en uit kan zetten met commando /showstats

Als dus zelf al textdraws gebruik, kan je de textdraws compleet uitschakelen met het commando /usetextdraw

Hiermee word in het bestand 'Settings.txt' de instelling bewaard.

Let op: de nieuwe instelling word pas actief na het reloaden van dit filterscript. (Gebruik: /rcon reloadfs SST5 )

/interiorweapons

Gebruik dit commando om wapens in interiors toe te staan of te verbieden.

Let op: Ook deze instelling word pas actief na het reloaden van dit filterscript. (Gebruik: /rcon reloadfs SST5 )

Commando-help

het commando /scommands is nu onderverdeeld in /scommands1 en /scommands2

Naam van Tool:

Om te voorkomen dat je telkens als je dit filterscript ingame wilt reloaden

/rcon reloadfs SandrasScriptTools5

moet typen, heb ik de naam maar wat ingekort naar

"SST5"

Het is helaas niet mogelijk om via een filterscript de tijd te veranderen.

Daarom geen /settime commando in dit filterscript. (alleen /setdefaulttime)

Je zou zelf >>dit<< commando in je gamemode kunnen zetten.

Hier de PlayerToPoint-functie die je in je script moet zetten waar je ook de nieuwe player-to-point-teleports neerzet:

Deze functie is gemaakt door 'Denver'

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;
}

Bekende bugs:

Ik ben vergeten om 2 commado's eruit te halen die ik erin had gestopt om de nieuwe teleportfunctie te testen :clown:

Als je nog meer bugs tegenkomt, moet je het maar ff zeggen :puh:

Download-link versie 5 + bugfix:

SST5.pwn

SST5.amx

Veel plezier ermee.

Groetjes Sandra :)

Bewerkt: door Sandra18[NL]

Geplaatst:
comment_849613

Ik heb helaas nog niet alles kunnen testen, maar in ieder geval mooi dat mn post toch nog nuttig was :)

Wel heb ik 2 dingetje:

Met het compilen kreeg ik op regel 1044 een error:

TextDrawSetString(Position[i], PositionString);

error 017: undefined symbol "TextDrawSetString"

Ik heb de hele regel maar verwijderd :puh:

Ik heb het in versie 0..5 nog niet gezien, maar met 0.4 was het zo dat de sommige bestanden NIET in de map "Sandra's Tools" kwamen maar gewoon in "Scriptfiles"

Verder ga ik hem nu iig wel gebruiken, mooi werk! :klap:

Ik wil het allemaal nog beter gaan testen, uitproberen, gebruiken en evt. ook inbouwen in mn script. Maar dat is werk voor na de kerst ;)

groetjes Ymosky

Geplaatst:
  • Auteur
comment_849617

Naar aanleiding van het bericht van Ymosky hierboven, een bugfix:

Wat is fixed:

- Files kwamen bij gebruik van sommige commands niet in de goed map terecht. Fixed

- Van de commentaar die bij gebruik van commando's zoals /st en /sp ingevoerd kan worden, verschenen de eerste paar letters niet. = Fixed

- 2 testcommando's van mij eruit gehaald

Over die error die jij krijgt bij de functie TextDrawSetString, dat is een probleem in je eigen include-files.

Want TextDrawSetString is een standaard sa-mp functie.

Download de include-bestanden eens opnieuw en probeer het dan nog eens :)

En ja, je kan dit filterscript naar je eigen gamemode importeren.

Het zijn maar iets meer dan 1300 regels, en zit niet super-ingewikkeld inelkaar.

Maarja, velen zeggen dat ik nogal ingewikkelde constructies gebruik waarbij je 'Sandra' moet heten om het te kunnen begrijpen :7 maar ik vind dat zelf nog wel meevallen :clown:

Maarja, als er nog meer bugs en/of problemen tegenkomt, dan hoor ik ze graag :)

Groetjes S-A

Edit1:

Ohja, download links zouden ook geen overbodige luxe zijn :duh:

Komt vast door de alcohol :bier::clown:

SST5.pwn

SST5.amx

Edit2:

uuuhm,, ik heb misschien nog iets voor een tutorital, maar dat zal ik binnenkort wel PM-en anders ga ik weer off-topic lopen kletsen ;)

groetjes Ymosky

Ben benieuwd :eten:

Bewerkt: door Sandra18[NL]

Geplaatst:
comment_851519

De error in functie: TextDrawSetString kwam inderdaad door mn a_samp include. Volgens mij had ik nog de inlcude van samp 0.2 ofzo :eten:

maargoed, is opgelost nu

Ingewikkelde constructies? Vind ik wel meevallen eigenlijk.

inbouwen doe ik nog ff niet, mn eigen game-mode is puur voor leren te scripten, dus wil ik bij alles wat ik erin zit begrijpen wat het doet/is ;)

Owja,, kzou nog pm-en :$

Hmmm, kweet nog niet. Opzich ook leuk om zelf te prutsen :clown:

Maar ik zal morgen (of overmorgen want ik moet weg)toch wel ff sturen, niet nu want het is 2 uur.

groetjes Ymosky

Geplaatst:
  • Auteur
comment_851520
Owja,, kzou nog pm-en :$

Hmmm, kweet nog niet. Opzich ook leuk om zelf te prutsen :clown:

Maar ik zal morgen (of overmorgen want ik moet weg)toch wel ff sturen, niet nu want het is 2 uur.

Naja, als je ergens niet uitkomt, of graag uitleg wilt over een bepaald iets, dan moet je maar contact met me opnemen, en wie weet komt er een nieuwe tutorial :D

  • 2 weken later...
Geplaatst:
comment_860695
Owja,, kzou nog pm-en :$

Hmmm, kweet nog niet. Opzich ook leuk om zelf te prutsen :clown:

Maar ik zal morgen (of overmorgen want ik moet weg)toch wel ff sturen, niet nu want het is 2 uur.

Naja, als je ergens niet uitkomt, of graag uitleg wilt over een bepaald iets, dan moet je maar contact met me opnemen, en wie weet komt er een nieuwe tutorial :D

Een paar berichten terug schreef je dat als je SetPlayerSkin gebruikt, je als je spawnt je oude skin terug krijgt.

Ik had hetzelfde probleem en heb er een fix omheen gegooid en wel zo:

public OnPlayerSpawn(playerid)
{
//Fixing skin bug
new PS = GetPlayerSkin(playerid);
SetPlayerSkin(playerid, PS);
// end of fix

--

Zoals je ziet prop je de code dus ergens in je OnPlayerSpawn callback, het ziet er heel clique uit, maar het werk perfect ;)

Cheers

Bewerkt: door Hannovd

  • 3 weken later...
Geplaatst:
comment_877222
download is niet meer beschikbaar. kun je het weer online zetten?

Oh,

ik heb er nieuwe links neergezet:

SST5.pwn

SST5.amx

bedankt!:D

EDIT: wanneer ik dat programma start waar die zegt wat geladen is enz.. dan geeft ie schermpje met error , en dat ik het kan verzenden naar microsoft enz.. t komt door jou bestanden , ik heb de naam al veranderd , maar t helpt niet:S snap er nix van.

Bewerkt: door NLfighter

Geplaatst:
comment_877352
EDIT: wanneer ik dat programma start waar die zegt wat geladen is enz.. dan geeft ie schermpje met error , en dat ik het kan verzenden naar microsoft enz.. t komt door jou bestanden , ik heb de naam al veranderd , maar t helpt niet:S snap er nix van.

ik denk dat je vergeten bent om in de map "Scriptfiles" een nieuwe map aan te maken met de naam:

Sandra's Tools

  • 1 maand later...
Geplaatst:
comment_905093

Ik probeer steeds de teleport functies te gebruiken, maar als ik de commando's gebruik krijg ik een "Unknown command" melding... Ik doe het als volgt:

- /ssave > Save Teleport Position

- /ssave > Save Teleport Command

- typ "pirateship" in het chatvenster

Dan gebruik ik de command /pirateship en krijg ik dus de Unknown Command melding. Doe ik iets fout?

Voor de rest werkt de tool prima :)

Edit: Ik moet dus de info die in de .txt bestanden zijn opgeslagen kopiëren naar het script. Alleen als ik het script wil compilen (ik gebruik Pawno) krijg ik errors en dus geen .amx bestand...

Edit2: Ik ben erin geslaagd om de fouten weg te werken (TeleportCommands en Positions onder public OnPlayerCommandText gezet), eens kijken of het nu werkt. >> Niet dus... Any help??

Edit3: Het werkt nu ineens wel, nadat ik het .amx bestand opnieuw had geladen, ondanks dat ik het spel opnieuw had opgestart. Maargoed, het werkt in ieder geval :D

Bewerkt: door Chanty

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...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.