Jump to content

Het Scripting Problemen Topic


Recommended Posts

Geplaatst: (bewerkt)

ik had zo een teleport gemaak, dat als ik te voet ben, ik ergens naartoe kan,

en als ik in een wagen zit, dat ik dan niet kan teleporteren.

maar is het dan ook mogelijk om het wel mogenlijk te maken om je met een wagen

te teleporteren, als die wagen een pcj 600 is :?

(sorry voor rare zinsbouw, maar ik kan het niet beter uitleggen ^_^ )

dus te voet of met een pcj 600 (id 461) kan je er wel naartoe, maar met een andere

wagen niet :)

deze script had ik al:

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/buildingjump", true) == 0)
{
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
        SendClientMessage(playerid, 0xAA3333AA, "Vehicles may not be teleported to BuildingJump.");
		SendClientMessage(playerid, 0xAA3333AA, "Please leave your vehicle here.");
    }
    else
    {
        SetPlayerPos(playerid,-2882.8174,-3074.8611,79.6127);
        SetPlayerFacingAngle(playerid,270.0000);
        SetCameraBehindPlayer(playerid);
        SendClientMessage(playerid, 0xFF6600AA, "You have been teleportated to -BuildingJump-");
	}
	return 1;
}

ik heb het al eens proberen te maken, maar die command werkt niet juist: ik kon namelijk toch met

gewone auto's er naartoe gaan :muur:

alvast bedankt! :puh:

Bewerkt: door [wwg] Pulverizer_Be [ldr]
  • Reacties 838
  • Created
  • Laatste reactie

Top Posters In This Topic

  • Sandra

    115

  • opacool6

    79

  • Big Boss

    57

  • Remi-X

    55

Top Posters In This Topic

Posted Images

Geplaatst: (bewerkt)

public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/buildingjump", true) == 0)
{
	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
	{
		if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 461)
		{
			SetVehiclePos(GetPlayerVehicleID(playerid),-2882.8174,-3074.8611,79.6127);
SetVehicleZAngle(GetPlayerVehicleID(playerid),270.0000);
			SetCameraBehindPlayer(playerid);
			SendClientMessage(playerid, 0xAA3333AA, "You have been teleportated to -BuildingJump-");
		}	
		else
		{
			SendClientMessage(playerid, 0xAA3333AA, "You can only teleport with a pcj600 or on foot.");
		}
	}
	else
	{
		SetPlayerPos(playerid,-2882.8174,-3074.8611,79.6127);
		SetPlayerFacingAngle(playerid,270.0000);
		SetCameraBehindPlayer(playerid);
		SendClientMessage(playerid, 0xFF6600AA, "You have been teleportated to -BuildingJump-");
	}
	return 1;
}

klik >>hier<< voor een beter uitgelijnde versie

Bewerkt: door Sandra18[NL]
Geplaatst:

als ik /bigjump typ, dan blokkeert de server :{

maar in pawno geeft hij geen fouten.

    if(strcmp(cmdtext, "/bigjump", true) == 0) // Tele 2 BigJump
   {
       if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
       {
           SetVehiclePos(GetPlayerVehicleID(playerid),-594.1223,904.4135,427.5000);
           SetVehicleZAngle(GetPlayerVehicleID(playerid),135.0000);
           SetCameraBehindPlayer(playerid);
           SendClientMessage(playerid, 0xFF6600AA, "You have been teleportated to -BigJump-");
           SendClientMessageToAll(0xAFAFAFAA,"%s has teleported to -BigJump.");
       }
       else
       {
           SetPlayerPos(playerid,-594.1223,904.4135,427.0000);
           SetPlayerFacingAngle(playerid,135.0000);
           SetCameraBehindPlayer(playerid);
           SendClientMessage(playerid, 0xFF6600AA, "You have been teleportated to -BigJump-");
           SendClientMessage(playerid, 0xAA3333AA, "(You need a vehicle for this stunt)");
           SendClientMessageToAll(0xAFAFAFAA,"%s has teleported to -BigJump.");
       }
       return 1;
}

zonder die "%s has teleported to -BigJump." werkt het wel, maar hoe moet ik dat dan wel typen

zodat het werkt? :?

Geplaatst:

als ik /bigjump typ, dan blokkeert de server :{

maar in pawno geeft hij geen fouten.

    if(strcmp(cmdtext, "/bigjump", true) == 0) // Tele 2 BigJump
   {
       if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
       {
           SetVehiclePos(GetPlayerVehicleID(playerid),-594.1223,904.4135,427.5000);
           SetVehicleZAngle(GetPlayerVehicleID(playerid),135.0000);
           SetCameraBehindPlayer(playerid);
           SendClientMessage(playerid, 0xFF6600AA, "You have been teleportated to -BigJump-");
           SendClientMessageToAll(0xAFAFAFAA,"%s has teleported to -BigJump.");
       }
       else
       {
           SetPlayerPos(playerid,-594.1223,904.4135,427.0000);
           SetPlayerFacingAngle(playerid,135.0000);
           SetCameraBehindPlayer(playerid);
           SendClientMessage(playerid, 0xFF6600AA, "You have been teleportated to -BigJump-");
           SendClientMessage(playerid, 0xAA3333AA, "(You need a vehicle for this stunt)");
           SendClientMessageToAll(0xAFAFAFAA,"%s has teleported to -BigJump.");
       }
       return 1;
}

zonder die "%s has teleported to -BigJump." werkt het wel, maar hoe moet ik dat dan wel typen

zodat het werkt? :?

MIsschien mag je die % niet gebruiken. Probeer die eens weg te laten en gewoon ''Has'' te zetten.

Geplaatst:

%s moet gebruikt worden in de functie format. Je moet dit dus doen onder de vorm:

new text[], playerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
format(text, sizeof(text), "%s blablabla...", playerName);

Dat moet je dus erbij zetten voor de regel:

SendClientMessageToAll(0xAFAFAFAA,"%s has teleported to -BigJump.");

En die regel moet je dan ook nog even wijzigen zodat er staat:

SendClientMessageToAll(0xAFAFAFAA, text);

Geplaatst: (bewerkt)

werkt niet :cry: xD

dus nu heb ik dit:

    if(strcmp(cmdtext, "/bigjump", true) == 0)
   {
       if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
       {
       	new text[], playerName[MAX_PLAYER_NAME];
		GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
		format(text, sizeof(text), "%s has teleported to -BigJump-", playerName);
           SetVehiclePos(GetPlayerVehicleID(playerid),-594.1223,904.4135,427.5000);
           SetVehicleZAngle(GetPlayerVehicleID(playerid),135.0000);
           SetCameraBehindPlayer(playerid);
           SendClientMessage(playerid, 0xFF6600AA, "You have been teleportated to -BigJump-");
           SendClientMessageToAll(0xAFAFAFAA, text);
       }
       else
       {
           SetPlayerPos(playerid,-594.1223,904.4135,427.0000);
           SetPlayerFacingAngle(playerid,135.0000);
           SetCameraBehindPlayer(playerid);
           SendClientMessage(playerid, 0xFF6600AA, "You have been teleportated to -BigJump-");
           SendClientMessage(playerid, 0xAA3333AA, "(You need a vehicle for this stunt)");
       }
       return 1;
}

en ik krijg deze errors:

C:\Games\GTA San Andreas\GTA San Andreas\server\gamemodes\WWG.pwn(802) : error 009: invalid array size (negative, zero or out of bounds)
C:\Games\GTA San Andreas\GTA San Andreas\server\gamemodes\WWG.pwn(802) : error 029: invalid expression, assumed zero
C:\Games\GTA San Andreas\GTA San Andreas\server\gamemodes\WWG.pwn(802) : error 017: undefined symbol "playerName"
C:\Games\GTA San Andreas\GTA San Andreas\server\gamemodes\WWG.pwn(802) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.

wat doe ik dan mis?

Bewerkt: door [wwg] Pulverizer_Be [ldr]
Geplaatst: (bewerkt)

en hoe weet je dan dat dat 128 moet zijn?

128 was maar een voorbeeld.

het kan net zo goed 256 of 1542434 zijn.

Maar dat getal geeft het aantal tekens (letters) aan dat in die regel (een string word dat ook wel genoemd) komen.

Het maximaal aantal tekens dat je per regel naar de chat kan sturen, is 128.

Het script houdt dan dus 128 bytes (of bits) vrij voor die regel.

Bewerkt: door Sandra18[NL]
Geplaatst: (bewerkt)

dus het makkelijkste is dat ik altijd 128 gebruik? (als ik nog meerdere strings toevoeg)

of mag ik geen 2x hetzelfde gebruiken?

Bewerkt: door [wwg] Pulverizer_Be [ldr]
Geplaatst:
dus het makkelijkste is dat ik altijd 128 gebruik? (als ik nog meerdere strings toevoeg)

of mag ik geen 2x hetzelfde gebruiken?

Jawel hoor, je mag wel twee keer 128 gebruiken, daar is niks mis mee. Het is alleen verkeerd als je twee keer dezelfde string definiëert, dat kan niet. Je kan dus wel dit hebben...

new test[128];
new nogeen[128];

...maar niet dit..

new test[128];
new test[128];

...omdat 'test' al bestaat.

Geplaatst:

oh, maar dat mag dan wel als ik bij de ene hoofdletters gebruik, en bij de andere geen hoofdletters?

dat is dan ook zogezegd verschillend?

Geplaatst:

Pawno is niet hoofdlettergevoelig, ik heb het net getest, dus je kan 'test', 'Test', 'TEST' of iets anders gewoon tegelijk gebruiken. Let wel dat je code dan een stuk minder overzichtelijk wordt, dan dat je ze twee verschillende namen geeft. Als je dit niet doet dan zit je gauw te twijfelen waar je nu wel/niet hoofdletters gebruikte.

Geplaatst: (bewerkt)
Pawno is niet hoofdlettergevoelig, ik heb het net getest, dus je kan 'test', 'Test', 'TEST' of iets anders gewoon tegelijk gebruiken. Let wel dat je code dan een stuk minder overzichtelijk wordt, dan dat je ze twee verschillende namen geeft. Als je dit niet doet dan zit je gauw te twijfelen waar je nu wel/niet hoofdletters gebruikte.

oh, bij mij is die wel hoofdlettergevoelig, want als ik een normale letter verander in een hoofdletter, dan

geeft hij een error

maar bedankt he ^_^

Bewerkt: door [wwg] Pulverizer_Be [ldr]
Gast
Dit onderwerp is gesloten.
  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.

×
×
  • Create New...