Jump to content
View in the app

A better way to browse. Learn more.

GTAGames.nl - De Nederlandse Grand Theft Auto Community!

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

hii sa-mpers :D

ik wou ff weete een van jullie iets weet over het maken van een telport commando :tu:

en

ik wou ff wete of een van jullie iets weet over een filterscript voor gang

je weet mischien wel /gang join /gang create dat enz

alvast ty

Featured Replies

Over de gangs weet ik niets, maar over de teleports kan ik je wel wat vertellen.

Zoek in het script naar de 'OnPlayerCommandText' callback. Staat hij er niet tussen, zet onderaan je script dit stukje:

public OnPlayerCommandText(playerid, cmdtext[]) {

return 0;
}

Goed, nu je de callback hebt geactiveerd, is het tijd om er een commando in te zetten. Neem deze code over, en vul hem naar je eigen wens in.

Begin altijd met een 'if' functie, dit is het commando zelf.

if(strcmp("/teleport",cmdtext,10,true) == 0) {

Als je dit hebt gedaan, kun je nu daaronder de gevolgen inprogrammeren, in dit geval plaats je 'SetPlayerPos', en dan de parameters erachter.

SetPlayerPos(playerid,x,y,z); //Vervang x,y en z door je coörds

Sluit vervolgens het commando af met:

return 1;
}

Na elk commando sluit je hem hiermee af, return 0 komt als allerlaatst. :)

Als allerlaatst zal je code er zo uitzien:

public OnPlayerCommandText(playerid, cmdtext[]) {
if(strcmp("/teleport",cmdtext,10,true) == 0) {
SetPlayerPos(playerid,x,y,z);
return 1;
}
return 0;
}

Succes, mocht het nog wat onduidelijk zijn, hoor ik het graag. :)

Standaard teleport:

if(strcmp(cmd, "/teleport", true) == 0) 
{
SetPlayerPos(playerid, x, y, z);
SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
return 1;
}

Uitgebreide teleport (met voertuig teleport)

if(strcmp(cmd, "/teleport", true) == 0) 
{
if(IsPlayerInAnyVehicle(playerid))
{
	SetVehiclePos(GetPlayerVehicleID(playerid), x , y, z);
	SetVehiceZAngle(GetPlayerVehicleID(playerid), hoek);
	SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
}
else	
{
	SetPlayerPos(playerid, x, y, z);
	SetPlayerFacingAngle(playerid, kijkrichting);
	SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
}
return 1;
}

Je kan het zo gek niet bedenken :)

>>Gang-filterscript<<

Edit: Donwell was me voor

Edited by Sandra18[NL]

Eén ding wat er bij Donwell verkeerd is, is de indeling. Doordat alles op dezelfde 'hoogte' wordt getypt en niet met inspringingen wordt gewerkt zal je de melding 'loose indentation' krijgen. Met 'if' zal je na de 'if' altijd een accolade-open ( { ) zetten, en dan de code, die je een tab inspringt. Daarna sluit je hem met een sluit-accolade ( } ), die weer op dezelfde hoogte staat als de 'if'. Zoals Sandra het doet is dus goed, Donwell's code is dus wel goed, maar zal nog een inspringing in moeten ;)

Edited by VWO-er

Het is bovendien ook veel overzichtelijker

Dat kan zeker van pas komen als je per ongeluk een error krijgt die aangeeft dat je 'ergens' een haakje mist.

Voor zo'n klein stukje tekst is het nog niet zo'n probleem, maar als je een code van 400 regels hebt....

Door in te springen kan je makkelijk zien waar je een haakje mist.

P.s. Dit systeem heb ik ook van VWO-er geleerd hoor ^^

Edited by Sandra18[NL]

  • Author

ty jongens :dans: jullie zijn gewelig

edit: en meisje :cya:

Euhm, vraagje. Als je die teleport hebt gedaan, en je wil er nog 1 mag je dan gewoon het stukje nogmaals doen en eronder plakken? Dit stukje(maar dan aangepast. Onder een hetzelfde (aners aangepaste) stukje.

if(strcmp(cmd, "/teleport", true) == 0) 
{
SetPlayerPos(playerid, x, y, z);
SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
return 1;
}

@ Hieronder, oh. bedankt!

Edited by Rivel

Gewoon hetzelfde ja :Y Je moet alleen wel het commando veranderen waarmee deze code wordt geactiveerd, en de coördinaten en het bericht wat je krijgt als je dit commando doet.

Het stukje code ziet er dan zo uit:

if(strcmp(cmd, "/teleport 1", true) == 0)
{
SetPlayerPos(playerid, x, y, z);
SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
return 1;
}

if(strcmp(cmd, "/teleport 2", true) == 0)
{
SetPlayerPos(playerid, x, y, z);
SendClientMessage(playerid, COLOR_GREEN, "You have been teleported!");
return 1;
}

Groeten,

VWOer

Excuses voor kleine bump. Maar ik zette:

public OnPlayerCommandText(playerid, cmdtext[]) {
if(strcmp(cmd, "/ammunation", true) == 0)
{
SetPlayerPos(playerid, 286.378, -82.606, 1001.515);

return 1;
}

En dan krijg ik deze warning:

C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\Onafgewerkt\Desert DM.pwn(133) : error 017: undefined symbol "cmd"
C:\Documents and Settings\Michiel\Application Data\Microsoft\Internet Explorer\Quick Launch\Modding\SAMP\Onafgewerkt\Desert DM.pwn(139) : warning 217: loose indentation
Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

HOe kan ik dat in godsnaam verhelpen?

Alvast Bedankt!

Rivel

[...]
De fout is dat er dit staat:
public OnPlayerCommandText(playerid, cmdtext[]) {
if(strcmp(cmd, "/ammunation", true) == 0)
{
SetPlayerPos(playerid, 286.378, -82.606, 1001.515);

return 1;
}

En het moet zijn:

public OnPlayerCommandText(playerid, cmdtext[]) {
if(strcmp(cmdtext, "/ammunation", true) == 0)
{
	SetPlayerPos(playerid, 286.378, -82.606, 1001.515);

	return 1;
}

...omdat de variabele 'cmd' niet is gedefiniëerd. De 2e fout is de fout 'loose indentitation' waarmee bedoeld wordt dat de code niet goed is uitgelijnd. Als er namelijk een accolade { staat moet je inspringen. Het is niet alleen handig om te weten waar je de code weer moet afsluiten, dus de overzichtelijkheid, maar ook Pawno leest zo de code. Als het goed is is de fout nu verholpen ;)

@ hieronder: Dat gebeurde er dus zonet toen ik postte en FireFox flipte :ch:

Edited by VWO-er

[...]
De fout is dat er dit staat:
public OnPlayerCommandText(playerid, cmdtext[]) {
if(strcmp(cmd, "/ammunation", true) == 0)
{
SetPlayerPos(playerid, 286.378, -82.606, 1001.515);

return 1;
}

En het moet zijn:

public OnPlayerCommandText(playerid, cmdtext[]) {
if(strcmp(cmd[b]text[/b], "/ammunation", true) == 0)
{
	SetPlayerPos(playerid, 286.378, -82.606, 1001.515);

	return 1;
}

...omdat de variabele 'cmd' niet is gedefiniëerd. De 2e fout is de fout 'loose indentitation' waarmee bedoeld wordt dat de code niet goed is uitgelijnd. Als er namelijk een accolade { staat moet je inspringen. Het is niet alleen handig om te weten waar je de code weer moet afsluiten, dus de overzichtelijkheid, maar ook Pawno leest zo de code. Als het goed is is de fout nu verholpen ;)

Dankje het lukt. Maar:

cmd[b]text[/b]

Wat bedoel je hiermee?

@ Onder En boven. Bedankt!

Edited by Rivel

Ff een correctie voor VWO-er:

Zet geen tags voor dikgedrukt/onderstreept enzo in een code-blok om verwarring te voorkomen.

Anders krijg je

if(strcmp(cmd[b]text[/b], "/ammunation", true) == 0)

Het moet dus zijn:

public OnPlayerCommandText(playerid, cmdtext[]) 
{
if(strcmp(cmdtext, "/ammunation", true) == 0)
{
	SetPlayerPos(playerid, 286.378, -82.606, 1001.515);

	return 1;
}

Edited by Sandra18[NL]

  • Author

heeii ik wou jullie ff bedanke maar.. ik heb nu een teleport naar liberty city maar ik heb 2 problempjes :duh:

1 het teleport command werkt alleen maar binne als ik het buite doe dan word ik daar tusse die 2 brugge bij lv en sf gespawnt en a

2 als ik het binne doe dan hoor ik alleen een geluidje en zie ik zwart zwart en zwart :duh:

op hoop van zege >:puh::dans:

heeii ik wou jullie ff bedanke maar.. ik heb nu een teleport naar liberty city maar ik heb 2 problempjes :duh:

1 het teleport command werkt alleen maar binne als ik het buite doe dan word ik daar tusse die 2 brugge bij lv en sf gespawnt en a

2 als ik het binne doe dan hoor ik alleen een geluidje en zie ik zwart zwart en zwart :duh:

op hoop van zege >:puh::dans:

Het zou handig zijn als je je teleport-code hier neer zet.

Ik kan namelijk niet vanaf hier ruiken waar de fout zit :)

  • Author
heeii ik wou jullie ff bedanke maar.. ik heb nu een teleport naar liberty city maar ik heb 2 problempjes :duh:

1 het teleport command werkt alleen maar binne als ik het buite doe dan word ik daar tusse die 2 brugge bij lv en sf gespawnt en a

2 als ik het binne doe dan hoor ik alleen een geluidje en zie ik zwart zwart en zwart :duh:

op hoop van zege >:puh::dans:

Het zou handig zijn als je je teleport-code hier neer zet.

Ik kan namelijk niet vanaf hier ruiken waar de fout zit :)

ow... die was bij me vriend gemaakt :(

maar ik weet er al wat meer van van allerly hemels.

ik snap alleen niet hoe dat gaat met huisen ingaan ensow maar dat is voor latere zorg :D

eerst zorgen dat me cmd het doet ff kijke

het was jouw uitgebijde cmd voor met auto's duZz maar ik denk dat de fout licht by het wisselen van hemels :puh:

want als je naar liberty city gaat dan hoor je sown geloudje weet je dat hoor ik wel maar ik zie zwrt dit betekend

dat ik in de verkeerde hemel zit :duh:

dus ik weet het niet meer

p.s. ik weet dat van die hemelen omdat we (ik en me vriend) het met de teleporter van jacob hebbe gedaan :puh:

Ja, 'hemel' word meestal 'interior' genoemd.

Als je naar Liberty City wilt teleporteren, moet je

SetPlayerInterior(playerid, 1);

aan het commando toevoegen.

Want '1' is het interior-id van Liberty City.

Als je weer terug wilt teleporteren, dan moet je

SetPlayerInterior(playerid, 0);

gebruiken.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Recently Browsing 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.