Beiträge von TPO

    Ah sorry verschrieben^^


    Meine: Bei mir gehen wenn ich deine Version nehme immer die PickUps weg wenn ich sie einsammel deswegen habe ich die Oben genannte Version benutzt von mir. Aber naja kann auch falsch liegen...

    Sorry aber es nervt mich bisschen.. kenne auch die Funktion /cam1/6 im Area 51 aber das ist ja eine andere. Wenn ich schon den Code poste und der keine 17Zeilen lang ist kann man sich den doch wenigstens kurz angucken...^^

    Doch die Funktion kenn ich auch noch. Das ist wirklich der Befehl fürs Area...


    Nein ist es nicht!
    Boah dann mache ich halt eben aus /cam > /furzblabla ...


    Ich frage was das für ne Funktion ist???
    if (strcmp(cmd, "/furzblabla", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /cam [1/2/3/4]");
    return 1;
    }
    Unspec[playerid][sCam] = strval(tmp);
    format(string, sizeof(string), "Switching to cam %d",Unspec[playerid][sCam]);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    return 1;
    }

    Kann doch garnicht sein!
    Dort ist weder IfPlayerToPoint noch irgendwelche Cam Koordinaten drine. Also muss es ja was anderes sein...


    Und denke nicht das die Army Kameras für JEDEN User drine sind dort ist auch kein if gTeam oder if Admin drine!

    Was bringt diese Funktion? (Bitte GENAU erklären!)
    if (strcmp(cmd, "/cam", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /cam [1/2/3/4]");
    return 1;
    }
    Unspec[playerid][sCam] = strval(tmp);
    format(string, sizeof(string), "Switching to cam %d",Unspec[playerid][sCam]);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    return 1;
    }

    Tockra bin mir nun nicht sicher 1oo% aber glaube habe immer die oben beschriebene benommen da dort die PickUps nach dem auf Picken nicht weggehen ist son SA:MP Bug da sie neuspawnen sofort. xP

    Drück mal STRG+F im Script (Pawno) und gibt in das Feld: DisableInteriorEnterExits(); dann auf weiter und wenn es zweimal drine ist lösch es einmal oder lass es wenn es nicht geht ganz draußen.

    Guten Tag, schnelle rede kurzer Sinn: Einloggen bedeutet auf dem Script = Tod wieso? Registration = Tod = KH/NoTutorial. Das nervt brauche hilfe weiß nicht welchen Scriptausschnitt ich posten soll^^


    OnPlayerSpawn?
    OnPlayerDeath?
    OnPlayerConnect?



    SuFu benutzt nichts gefunden bin ich zu Doof war mir 1oo% sicher solche Threads gibts schon oO.


    Code
    Versucht:
    Tod nach login
    Login = Tod
    Login Tod
    Tod Login
    Login gleich Tod
    Nach Einloggen Tod

    Meine beiden Goto/Gethere Commands aus dem GF ist genau so gut^^
    Der Goto um dich zu jemd. zu Porten:
    if(strcmp(cmd, "/goto", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /goto [ID/Name]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    plo = ReturnUser(tmp);
    if (IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(Spectate[playerid] != 255)
    {
    Spectate[playerid] = 256;
    }
    GetPlayerPos(plo, plocx, plocy, plocz);
    if(PlayerInfo[plo][pInt] > 0)
    {
    SetPlayerInterior(playerid,PlayerInfo[plo][pInt]);
    PlayerInfo[playerid][pInt] = PlayerInfo[plo][pInt];
    PlayerInfo[playerid][pLocal] = PlayerInfo[plo][pLocal];
    }
    if(PlayerInfo[playerid][pInt] == 0)
    {
    SetPlayerInterior(playerid,0);
    }
    if(plocz > 530.0 && PlayerInfo[plo][pInt] == 0)
    {
    SetPlayerInterior(playerid,1);
    PlayerInfo[playerid][pInt] = 1;
    }
    if (GetPlayerState(playerid) == 2)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
    TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
    }
    else
    {
    SetPlayerPos(playerid,plocx,plocy+2, plocz);
    }
    SendClientMessage(playerid, COLOR_GRAD1, " Du hast dich Teleportiert");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist nicht Online.", plo);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }




    Um jemd. zu dir zu porten per /get:
    if(strcmp(cmd, "/get", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /get [ID/Name]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    plo = ReturnUser(tmp);
    if (IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if (PlayerInfo[plo][pAdmin] > 1337)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst keine Admins porten!");
    return 1;
    }
    if (PlayerInfo[playerid][pAdmin] >= 3)
    {
    GetPlayerPos(playerid, plocx, plocy, plocz);
    if(PlayerInfo[playerid][pInt] > 0)
    {
    SetPlayerInterior(plo,PlayerInfo[playerid][pInt]);
    PlayerInfo[plo][pInt] = PlayerInfo[playerid][pInt];
    PlayerInfo[plo][pLocal] = PlayerInfo[playerid][pLocal];
    }
    if(PlayerInfo[playerid][pInt] == 0)
    {
    SetPlayerInterior(plo,0);
    }
    if(plocz > 930.0 && PlayerInfo[playerid][pInt] == 0)
    {
    SetPlayerInterior(plo,1);
    PlayerInfo[plo][pInt] = 1;
    }
    if (GetPlayerState(plo) == 2)
    {
    TelePos[plo][0] = 0.0;
    TelePos[plo][1] = 0.0;
    new tmpcar = GetPlayerVehicleID(plo);
    SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
    }
    else
    {
    SetPlayerPos(plo,plocx,plocy+2, plocz);
    }
    SendClientMessage(plo, COLOR_GRAD1, " Du wurdest Teleportiert");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), " %d is not an active player.", plo);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }

    Erstmal nur ein einfacher ein/ausgang zum Beispiel mit einem "i" als Pickup:
    Damit alle alten Eingänge/Ausgänge die von SA:MP dasind entfernt werden oben ins Script:
    DisableInteriorEnterExits();


    Oben bei den forwards fügst du folgendes ein:
    forward UserEingangAusgang(playerid);


    Oben bei den new's fügst du folgendes ein:
    new UserEingangAusgangTimer;


    Bei den OnGameModeInit fügst du folgendes ein:
    CreatePickup(X,Y,Z,H); //Eingangs Pickup draußen vor der Tür
    CreatePickup(X,Y,Z,H); //Ausgangs Pickup drine an der Tür


    Bei den OnGameModeExit fügst du folgendes ein:
    KillTimer(UserEingangAusgangTimer);


    Und ganz nach unten im Script:
    public UserEingangAusgang(playerid)
    {
    if (PlayerToPoint(1, playerid, X,Y,Z,H)) //Eingang - Wenn der Spieler da ist passiert folgendes...
    {
    SetPlayerInterior(playerid, INTERIORID); //Interior ID wird auf ID X gesetzt
    SetPlayerPos(playerid, X,Y,Z,H); //Koordinaten wohin sich der Spieler begibt wenn er drine ist.
    SetPlayerFacingAngle(playerid, 0.0); //Blickrichtung wohin er guckt sobald er drine ist
    }
    else if (PlayerToPoint(1, playerid, X,Y,Z,H)) //Ausgang
    {
    SetPlayerInterior(playerid, 0); //Interior ID wird auf ID 0 gesetzt (Free World)
    SetPlayerPos(playerid, X,Y,Z,H); //Koordinaten wohin sich der Spieler begibt wenn er draußen ist.
    SetPlayerFacingAngle(playerid, 0.0); //Blickrichtung wohin er guckt sobald er draußen ist
    }
    return 1;
    }



    Wenn du mehrer Eingänge ausgänge machen willst einfach:
    z.B Zivispawn Eingang und Police Department Eingang.
    public UserEingangAusgang(playerid)
    {
    //Los Santos Police Department Ein/Ausgang
    if (PlayerToPoint(1, playerid, 1555.1205, -1675.6710, 16.1953)) // PD Eingang
    {
    SetPlayerInterior(playerid, 6);//Interior umstellen damit er im Interior was sieht in der Normalen Welt auf 0
    SetPlayerPos(playerid, 246.7840, 63.9002, 1003.6406); //Dort hin wer er geportet beim reingehen
    SetPlayerFacingAngle(playerid, 0.0);//Damit er in die richtige Richtung guckt
    }
    else if (PlayerToPoint(1, playerid, 246.7282, 62.7136, 1003.6406)) // PD Ausgang
    {
    SetPlayerInterior(playerid, 0);//Interior umstellen damit er im Interior was sieht in der Normalen Welt auf 0
    SetPlayerPos(playerid, 1552.4490, -1674.9897, 16.1953);//Dort hin wer er geportet beim reingehen
    SetPlayerFacingAngle(playerid, 90.0);//Damit er in die richtige Richtung guckt
    }
    //Los Santos Zivispawn Ein/Ausgang
    else
    if (PlayerToPoint(1, playerid, 1111.0206,-1796.9290,16.5938)) // Zivispawn Eingang
    { //Wenn du ein Text beim betreten willst einfach die Folgende Zeile hinzufügen:
    SendClientMessage(playerid,COLOR_WHITE,"Willkommen in der Zivispawn Halle");
    SetPlayerInterior(playerid,18);//Interior umstellen damit er im Interior was sieht in der Normalen Welt auf 0
    SetPlayerPos(playerid,1289.1001,-50.0995,1002.4922);//Dort hin wer er geportet beim reingehen
    SetPlayerFacingAngle(playerid,0.0);//Damit er in die richtige Richtung guckt
    }
    else if (PlayerToPoint(1, playerid, 1307.5702,-55.9294,1002.4971)) // Zivispawn Ausgang
    {//Wenn du ein Text beim verlassen willst einfach die Folgende Zeile hinzufügen:
    SendClientMessage(playerid,COLOR_WHITE,"Willkommen vor der Zivispawn Halle in Los Santos!");
    SetPlayerInterior(playerid,0);//Interior umstellen damit er im Interior was sieht in der Normalen Welt auf 0
    SetPlayerPos(playerid,1108.6257,-1796.3427,16.5938);//Dort hin wer er geportet beim reingehen
    SetPlayerFacingAngle(playerid,90.0); //Damit er in die richtige Richtung guckt
    }
    return 1;
    }


    Dazu die passenden PickUps:
    CreatePickup(1239, 23, 1111.0206,-1796.9290,16.5938); // Zivispawn Eingang
    CreatePickup(1239, 23, 1307.5702,-55.9294,1002.4971); // Zivispawn Ausgang
    CreatePickup(1239, 23, 1555.1205, -1675.6710, 16.1953); // PD Eingang
    CreatePickup(1239, 23, 246.7282, 62.7136, 1003.6406); // PD Ausgang


    Nun soll auch ein 3D TextLabel beim PickUp mit bestimmtem Text sein:
    Erstmal die Farbe Weiß Definieren oben im Script bei den #defines:
    #define COLOR_WHITE 0xFFFFFFAA


    Nehmen wir mal die alten Koordinaten vom LSPD Ein/Ausgang und Zivispawn Ein/Ausgang
    Die Pickups waren diese:
    CreatePickup(1239, 23, 1111.0206,-1796.9290,16.5938); // Zivispawn Eingang
    CreatePickup(1239, 23, 1307.5702,-55.9294,1002.4971); // Zivispawn Ausgang
    CreatePickup(1239, 23, 1555.1205, -1675.6710, 16.1953); // PD Eingang
    CreatePickup(1239, 23, 246.7282, 62.7136, 1003.6406); // PD Ausgang


    Dazu einfach auch unter OnGameModeInit unter die PickUps oder über direkt:
    Create3DTextLabel("Los Santos Zivispawn Eingang", COLOR_WHITE,1111.0206,-1796.9290,16.5938, 15, 0, 1);
    Create3DTextLabel("Los Santos Zivispawn Ausgang", COLOR_WHITE,1307.5702,-55.9294,1002.4971, 15, 0, 1);
    Create3DTextLabel("Los Santos Police Department Eingang", COLOR_WHITE,1555.1205, -1675.6710, 16.1953, 15, 0, 1);
    Create3DTextLabel("Los Santos Police Department Ausgang", COLOR_WHITE,246.7282, 62.7136, 1003.6406, 15, 0, 1);


    Erklärung zu den 3D TextLabeln:
    Create3DTextLabel("Los Santos Zivispawn Eingang", COLOR_WHITE,1111.0206,-1796.9290,16.5938, 15, 0, 1);
    Create3DTextLabel //- Erstellt das Label
    Los Santos Zivispawn Ausgang //- Text auf dem Label
    COLOR_WHITE //- Farbe (Muss definiert sein per #define)
    1307.5702// - xRoute/Position auf der Karte
    -55.9294// - yRoute/Position auf der Karte
    1002.4971// - zRoute/Position auf der Karte
    15 //- Radius von wie weit der Text sichbar sein soll
    0 //- Unbekannt
    1 //- Unbekannt



    Wie bekommt man die Positionen raus?
    Du gehst einfach Ingame an die gewünschte Position wo du z.B das PickUp haben willst und gibts einfach brauchst kein Filterscript/Script etc. dafür geht von SA:MP aus auf jedem Server /save NAME ein um die Position/Die Koordinaten zu speichern. Zum Beispiel: Du fährst zum BSN willst dort ein Pickup vor dem BSN eingang und gibst dort einfach ein /save BSN Eingang dann gehst du in den GTA San Andreas Ordner und dort ist die Datei "Savepositions" diese Datei öffnest du einfach mit WordPad oder mit nem Editor und dort drine steht etwas wie (im Beispiel LSPD Eingang:)
    AddPlayerClass(272,1554.6833,-1675.6157,16.1953,90.7358,0,0,0,0,0,0); // LSPD Eingang


    Das kommt weil ich Ingame am LSPD Eingang "/save LSPD Eingang" eingetippt habe. Nun die erklärung was was ist von den vielen zahlen:
    (272,1554.6833,-1675.6157,16.1953,90.7358,0,0,0,0,0,0)


    272 = Skin ID vom Spieler den du Ingame anhattest.
    1554.6833 = xRoute/Position auf der Karte
    -1675.6157 = yRoute/Position auf der Karte
    16.1953 = zRoute/Position auf der Karte
    90.7358= hRoute/Position auf der Karte
    0,0,0,0,0,0 = Welche Waffen der Spieler mit wieviel Munition hat
    ((Waffe1, Munition1, Waffe2, Munition2, Waffe3, Munition3))

    Im Script:


    Oben bei den Forwards:
    forward UserEingangAusgang(playerid);


    Bei den News:
    new UserEingangAusgangTimer;


    Die Koordinaten selbst eintragen! Unter OnGameModeINit:
    CreatePickup(X,Y,Z,H); //Eingangs Pickup vorm BSN an der Tür
    CreatePickup(X,Y,Z,H); //Ausgangs Pickup drine im BSN an der Tür


    Unter OnGameModeExit:
    KillTimer(UserEingangAusgangTimer);


    Und ganz nach unten im Script:
    public UserEingangAusgang(playerid)
    {
    if (PlayerToPoint(1, playerid, X,Y,Z,H)) //Eingang - Wenn der Spieler da ist passiert folgendes...
    {
    SetPlayerInterior(playerid, INTERIORID); //Interior ID wird auf ID X gesetzt
    SetPlayerPos(playerid, X,Y,Z,H); //Koordinaten wohin sich der Spieler begibt wenn er drine ist.
    SetPlayerFacingAngle(playerid, 0.0); //Blickrichtung wohin er guckt sobald er drine ist
    }
    else if (PlayerToPoint(1, playerid, X,Y,Z,H)) //Ausgang
    {
    SetPlayerInterior(playerid, 0); //Interior ID wird auf ID 0 gesetzt (Free World)
    SetPlayerPos(playerid, X,Y,Z,H); //Koordinaten wohin sich der Spieler begibt wenn er draußen ist.
    SetPlayerFacingAngle(playerid, 0.0); //Blickrichtung wohin er guckt sobald er draußen ist
    }
    return 1;
    }

    Wie stelle ich die PayDay Mindestspiel Zeit ein damit man mind. so und soviele Minuten Spielen musste um Payday zu erhalten im GF?


    Fand nur die Zeile hier:
    if(PlayerInfo[i][pPayDay] < 6) { PlayerInfo[i][pPayDay] += 1; } //+ 5 min to PayDay anti-abuse


    Geben tuht es das ja schon sonst würde der Satz nicht drine sein:
    {
    SendClientMessage(i, COLOR_LIGHTRED, "* You haven't played long enough to obtain a PayDay.");
    }