Jump to content

Het Scripting Problemen Topic


Azer

Recommended Posts

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]
Link to comment
Delen op andere websites

  • 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

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]
Link to comment
Delen op andere websites

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? :?

Link to comment
Delen op andere websites

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.

Link to comment
Delen op andere websites

%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);

Link to comment
Delen op andere websites

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]
Link to comment
Delen op andere websites

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]
Link to comment
Delen op andere websites

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]
Link to comment
Delen op andere websites

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.

Link to comment
Delen op andere websites

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.

Link to comment
Delen op andere websites

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]
Link to comment
Delen op andere websites

Gast
Dit onderwerp is gesloten.
  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.

×
×
  • Create New...