Zwischen Pickups porten

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
  • Mahlzeit.
    Ich hab nun folgende Frage zu der ich wohl Hilfe benötige.
    Und zwar habe ich für eine Fraktion eine Garage erstellt, als Interior, in der die Fahrzeuge geparkt werden sollen. Nun möchte ich gerne vor dem GEbäude, da wo das Garagentor ist ein Pickup (den Pfeil) hinmachen, wenn man sich dann reinstellt bzw. dranstellt und zb /testbefehl eingibt, dass man dann in die Garage gelangt, dort ins Pickup welches sich am Ausgang befindet.
    Ich könnte mir denken, dass das mit GetPlayerPos und SetPlayerPos iwas zu tun hat, bin mir aber nicht sicher. Wäre für jede Hilfe dankbar :)
    mfG, der Godplay
    //edit: natürlich soll der befehl dann nur für eine fraktion funktionieren. In meinem Fall ist es die Fraktionsid "18" :)

    Einmal editiert, zuletzt von Godplay ()

  • SetPlayerPos


    //ganz oben
    new eingang;
    new ausgang;
    //OnGameModeInit
    eingang = CreatePickup(...............);
    ausgang = CreatePickup(..............);
    //OnPlayerPickupPickup
    if(pickupid == eingang)
    {
    SetPlayerPos(playerid, X,Y,Z); // cords eintragen bei x,y,z
    return 1;
    }


    wenn der jetzt da rein läuft wird er ohne Befehl geportet.
    Mit Befehl musste so machen


    if(strcmp("/pdgarage", cmdtext,true) ==0)
    {
    if(IsPlayerConnected))
    {
    if(PlayerToPoint(2.0,playerid,x,y,z)) // cords reinsetzen wo pickup ist.
    {
    SetPlayerPos(playerid, x,y,z); // cords rein bei x,y,z bekommste ingame mit /save wird abgespeichert im gta ordner bei savepositions.txd
    }
    return 1;
    }
    }


    Mit ausgang ist das genau das gleiche ;)


    Powered by Windows 7


    Die HDD stimmt nich , hab 3 Festplatten drin.

  • Wenn du das mit dem Ausgang auch automatisch machen willst so ..
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == eingang)
    {
    SetPlayerPos(playerid, X,Y,Z);
    }
    else if(pickupid == ausgang)
    {
    SetPlayerPos(playerid, X,Y,Z);
    return 1;

    }


    für den ausgang kopierste einfach den befehl und ersetzt die cordinaten und beneennst den befehl um.


    Powered by Windows 7


    Die HDD stimmt nich , hab 3 Festplatten drin.

  • So hab es nun versucht nach der Beschreibung bestmöglich hinzubekommen und ich glaube es ist völliger Käse geworden denn ich habe 7 Errors :D
    Das sind die Errors
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3948) : error 017: undefined symbol "cmdtext"
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3952) : error 076: syntax error in the expression, or invalid function call
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3961) : warning 209: function "OnPlayerPickUpPickup" should return a value
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3961) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3963) : error 055: start of function body without function header
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3964) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3966) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(3970) : error 010: invalid function or declaration


    public OnPlayerPickUpPickup(playerid, pickupid)


    if(strcmp(cmdtext,"/ssgarage",true) ==0)
    {
    if(PlayerInfo[playerid][pMember] == 18 || PlayerInfo[playerid][pLeader] == 18)


    if(IsPlayerConnected)
    {
    if(PlayerToPoint(2.0,playerid, 92.31, 2018.63, 17.597992)) // cords reinsetzen wo pickup ist.
    {
    SetPlayerPos(playerid, 79.37, 2016.43, -2.519671); // cords rein bei x,y,z bekommste ingame mit /save wird abgespeichert im gta ordner bei savepositions.txd
    }
    return 1;
    }
    }
    if(strcmp(cmdtext,"/ssgarage",true) ==0)


    {
    if(IsPlayerConnected)
    {
    if(PlayerToPoint(2.0,playerid, 79.37, 2016.43, -2.519671)) // cords reinsetzen wo pickup ist.
    {
    SetPlayerPos(playerid, 92.31, 2018.63, 17.597992); // cords rein bei x,y,z bekommste ingame mit /save wird abgespeichert im gta ordner bei savepositions.txd
    }
    return 1;
    }
    }



    Und das der betreffende Bereich der "OnPlayerPickUpPickup"
    danke schonmal und mfG :P

  • Nur das mit dem pickup automatisch port kommt in ONpalyerPickupPickup.



    Die Befehle kommen unter
    public OnPlayerCommandText(playerid, cmdtext[])
    Mach aus OnPlayerPickupPickup wieder alles raus damit es wieder so aussieht.
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext,"/ssgarage",true) ==0)
    {
    if(PlayerInfo[playerid][pMember] == 18 || PlayerInfo[playerid][pLeader] == 18)
    {
    if(IsPlayerConnected))
    {
    if(PlayerToPoint(2.0,playerid, 92.31, 2018.63, 17.597992)) // cords reinsetzen wo pickup ist.
    {
    SetPlayerPos(playerid, 79.37, 2016.43, -2.519671); // cords rein bei x,y,z bekommste ingame mit /save wird abgespeichert im gta ordner bei savepositions.txd
    }
    return 1;
    }
    }
    }
    if(strcmp(cmdtext,"/sogarage",true) ==0)
    {
    if(IsPlayerConnected))
    {
    if(PlayerInfo[playerid][pMember] == 18 || PlayerInfo[playerid][pLeader] == 18)
    {
    if(PlayerToPoint(2.0,playerid, 79.37, 2016.43, -2.519671)) // cords reinsetzen wo pickup ist.
    {
    SetPlayerPos(playerid, 92.31, 2018.63, 17.597992); // cords rein bei x,y,z bekommste ingame mit /save wird abgespeichert im gta ordner bei savepositions.txd
    }
    return 1;
    }
    return 0;
    }
    }
    }


    Powered by Windows 7


    Die HDD stimmt nich , hab 3 Festplatten drin.

    Einmal editiert, zuletzt von Pand0r ()

  • Hab deinen COde nun so wie er hier steht ganz unten in den OnPlayerCommandText eingefügt und wieder hab ich viele Errors
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26870) : error 055: start of function body without function header
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26871) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26873) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26875) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26877) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26881) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26885) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26887) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26889) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26891) : error 010: invalid function or declaration
    C:\Dokumente und Einstellungen\TobsEn\Desktop\GM.pwn(26895) : error 010: invalid function or declaration


    Hast du da eine Erklärung? :/

  • Ehmm habe ne frage ich hab nen 0.3a server und ich habe alles
    genau gemacht usw.-.und keine errors nur das problem ist das
    das pickup nicht angezeigt wird..und da wo es eig..sein sollte klappt das porten auch nit :(
    hoffe einer kann mir helfen

    KleineHilfe 2.0

  • Hay ne danke habs schon aber kannst du ihr mir hier bei helfen?? also das hier möchte ich so haben
    das nur die fraktion id 2 sich porten kann wenn sie da druch läuft


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == eingang)
    {
    SetPlayerPos(playerid, 361.38125610352, -1486.7316894531, 75.930656433105); // cords eintragen bei x,y,z
    SendClientMessage(playerid, COLOR_RED, "Sie haben sich aufs FBI Dach geportet!");
    }
    return 1;
    }


    was muss ich da verändern??


    //Edit:
    Wollte jetzt das man auch von dem einen derekt wiede rzu rück kommt abe rhier ist ein fehler lo


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == ausgang)
    {
    SetPlayerPos(playerid, 297.70159912109, -1531.1268310547, 24.316345214844); // cords eintragen bei x,y,z
    SendClientMessage(playerid, COLOR_RED, "Du hast dich in die FBI Base geportet!");
    }
    return 1;
    }
    if(pickupid == eingang)
    {
    SetPlayerPos(playerid, 361.38125610352, -1486.7316894531, 75.930656433105); // cords eintragen bei x,y,z
    SendClientMessage(playerid, COLOR_RED, "Du hast dich aufs FBI Dach geportet!");
    }
    return 1;
    }


    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(1994) : warning 225: unreachable code
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(2823) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(2831) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(2924) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(3773) : error 010: invalid function or declaration
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(3778) : error 010: invalid function or declaration
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(6784) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(6904) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(6905) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(7002) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(7003) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(7004) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(7049) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(8840) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(8866) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(8871) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(9141) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(9222) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(15739) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(15765) : warning 217: loose indentation
    C:\Users\Patrick\Desktop\Samp server\gamemodes\GFF.pwn(6841) : warning 204: symbol is assigned a value that is never used: "eingang"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    diee warninkommen immer ka warum auch normal also wenn ich in ongamemode init was einfüge komme immer mehr warnings naja egal
    es geht um die errors ka hoffe einer kann mir helfen

    KleineHilfe 2.0

    Einmal editiert, zuletzt von YaBroo ()

  • ja richtig aber wenn ich hier gucke
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == ausgang)
    {
    SetPlayerPos(playerid, 297.70159912109, -1531.1268310547, 24.316345214844); // cords eintragen bei x,y,z
    SendClientMessage(playerid, COLOR_RED, "Du hast dich in die FBI Base geportet!");
    }
    return 1;
    }
    if(pickupid == eingang)
    {
    SetPlayerPos(playerid, 361.38125610352, -1486.7316894531, 75.930656433105); // cords eintragen bei x,y,z
    SendClientMessage(playerid, COLOR_RED, "Du hast dich aufs FBI Dach geportet!");
    }
    return 1;
    }


    sehe ich jkeine fehler :(

    KleineHilfe 2.0

    Einmal editiert, zuletzt von YaBroo ()

  • Kann man das auch machen das man wenn mann derekt geportet wird ein Text kommt
    den mal normal als Admin machen kann INgame mit /cnnn 1 [TEST] ??
    also das unten rechts ein text kommt?? geht des irgentwie?


    //edit miom probiere kurz
    GameTextForPlayer(playerid, "~w~bölaböa",5000,1); aus
    ok habs..sry ^^


    aba ich hab das jetzt


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == eingang)
    {
    SetPlayerPos(playerid, 361.38125610352, -1486.7316894531, 75.930656433105);
    GameTextForPlayer(playerid, "~r~F.B.I Dach",5000,1);
    }
    else if(pickupid == ausgang)
    {
    SetPlayerPos(playerid, 297.70159912109, -1531.1268310547, 24.316345214844);
    GameTextForPlayer(playerid, "~r~F.B.I Base",5000,1);
    }
    return 1;
    }


    und wenn ich rein laufe spawn ich derekt in der base ist ja logisch.. aba geht das irgentwie das man 5sek hat um von dem
    pickup runter zu gehn damit man nit derekt gespawnt wird??

    KleineHilfe 2.0