Wie bestehende CPs benutzen?

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Abend,
    habe mal wieder ein Problem: Undzwar habe ich gesehen, dass vor zwei Arenen ein Checkpoint ist.
    Dann hab ich mir überlegt, dass man ja in den Checkpoint geht und ins Interior der Arena geportet wird.
    Nur leider hab ich keine Ahnung, wie ich das machen soll.


    Ich weiß nur, dass man SetPlayerCheckpoint benutzt aber das ist doch nur, wenn man einen neuen Checkpoint machen will oder?


    /edit: 200ster Post :D

    • Bau dir einen kleinen Streamer, sollte kein Ding sein
    • Bau ein ID System ein
    • Benutze mehrere CP's gleichzeitig

    Sprich Checkpoint wird in bestimmter Distanz gesetzt & Zerstört sobald die Entfernung zu groß ist,
    dann setzt du ein paar Variablen & fragst ab & setzt je nach dem

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Diese Standard-GTA-Checkpoints...
    Da musst du einen Timer machen und abfragen, ob man dort ist, dann reinporten.

  • Ja wollte das mit OnPlayerEnterCheckpoint machen.
    Nur weiß ich nicht, wie ich hinbekomme, dass das Script weiß, dass ich genau den Checkpoint bei der SF Arena meine.
    Also ohne einen neuen Checkpoint zu erstellen.


  • public OnPlayerEnterCheckpoint()
    {
    if (IsPlayerInRangeOfPoint(playerid, 10.0, -2111.2424, -444.1721, 38.7344))
    SetPlayerPos(playerid, -1398.103515, 937.631164, 1036.479125);
    SetPlayerInterior(playerid, 15);
    }
    return 1;
    }


    Code
    C:\Users\Jens\Games\Rockstar Games\GTA San Andreas\Grand Theft Auto San Andreas\GTA San Andreas\gamemodes\JLSv.2.pwn(638) : error 017: undefined symbol "playerid"
    C:\Users\Jens\Games\Rockstar Games\GTA San Andreas\Grand Theft Auto San Andreas\GTA San Andreas\gamemodes\JLSv.2.pwn(639) : error 017: undefined symbol "playerid"
    C:\Users\Jens\Games\Rockstar Games\GTA San Andreas\Grand Theft Auto San Andreas\GTA San Andreas\gamemodes\JLSv.2.pwn(640) : error 017: undefined symbol "playerid"
    C:\Users\Jens\Games\Rockstar Games\GTA San Andreas\Grand Theft Auto San Andreas\GTA San Andreas\gamemodes\JLSv.2.pwn(642) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    4 Errors.


    playerid habe ich wer weiß wie oft im Script oO

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen

  • {OnGameModeInit()
    {
    SetTimer("checkpoint",1,1);
    }


    public checkpoint(playerid)
    {
    if(IsPlayerInRangeOfPoint(playerid,2.0.Float:x,Float:y,Float:z)
    {
    SetPlayerPos(playerid,Float:x,Float:y,Float:z);
    }
    }


    Du musst die Klasse checkpoint forwarden

  • Da die Funktionen jede MS aufgerufen werden sprich immer wieder das würde wie bei einer unendlichen While schleife enden irgendwann würde der Server hängen bleiben sprich
    zurückhängen, das wiederum löst laggs aus , bei mehreren Spielern wirkt sich das ganze schon gravierend aus

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Muss man das mit dem Timer machen?


    Also habs mit dem Timer ma reingemacht.

    Code
    C:\Users\Jens\Games\Rockstar Games\GTA San Andreas\Grand Theft Auto San Andreas\GTA San Andreas\gamemodes\JLSv.2.pwn(640) : error 001: expected token: ";", but found "{"
    C:\Users\Jens\Games\Rockstar Games\GTA San Andreas\Grand Theft Auto San Andreas\GTA San Andreas\gamemodes\JLSv.2.pwn(641) : error 010: invalid function or declaration
    C:\Users\Jens\Games\Rockstar Games\GTA San Andreas\Grand Theft Auto San Andreas\GTA San Andreas\gamemodes\JLSv.2.pwn(788) : warning 203: symbol is never used: "SFArena"
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    2 Errors.



    public SFArena
    {
    if(IsPlayerInRangeOfPoint(playerid, 2.0, -2111.2424, -444.1721, 38.7344);
    SetPlayerPos(playerid, -1398.103515, 937.631164, 1036.479125);
    SetPlayerInterior(playerid, 15);
    }

  • if(IsPlayerInRangeOfPoint(playerid, 2.0, -2111.2424, -444.1721, 38.7344);


    Somit würdest du dem Code sagen das hier ende ist somit würde es keine Aktion geben was in dieser Handlung ziemlich unlogisch erscheint


    if(IsPlayerInRangeOfPoint(playerid, 2.0, -2111.2424, -444.1721, 38.7344))

    Mfg. BlackFoX_UD_ alias [BFX]Explosion