[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Hab' folgendes Problem:
    Ich möchte in einem Include bestimmte Punkte hinterlegen.
    Bin bis jetzt so weit:
    // Punkte speichern: X, Y, Z, R (Rotation), Interior, Virtuelle Welt
    #define Float:POINTS \
    {\
    {123.0, 456.0, 789.0, 147.0, 0.0, 0.0}, /* Kommentar 1 */ \
    {123.0, 456.0, 789.0, 147.0, 0.0, 0.0} /* Kommentar 2 */ \
    }
    Doch irgendwie klappt das nicht so ganz...
    Die Werte für Interior und Virtuelle Welt werden im Script auf Integer gerundet... (Dort besteht also kein Problem)
    Das Problem besteht im eigentlichen Auslesen der Dateien.
    Über euere Hilfe würde ich mich sehr freuen...


    MFG
    freund17



    //EDIT
    Oder liegt es doch eher am Aufruf?
    public teleToPointWithVehicle(playerid, pointid)
    {
    teleWithVehicle(playerid, POINTS[pointid][0], POINTS[pointid][1], POINTS[pointid][2], POINTS[pointid][3], floatround(POINTS[pointid][4], floatround_floor), floatround(POINTS[pointid][5], floatround_floor));
    }
    (Forward wurde gesetzt)

    2 Mal editiert, zuletzt von freund17 ()

  • C:\Users\Test\Desktop\GTA SAN ANDREAS SERVER\gamemodes\Ant2.5.pwn(7862) : error 076: syntax error in the expression, or invalid function call
    C:\Users\Test\Desktop\GTA SAN ANDREAS SERVER\gamemodes\Ant2.5.pwn(9506) : error 076: syntax error in the expression, or invalid function call
    C:\Users\Test\Desktop\GTA SAN ANDREAS SERVER\gamemodes\Ant2.5.pwn(9514) : error 076: syntax error in the expression, or invalid function call
    C:\Users\Test\Desktop\GTA SAN ANDREAS SERVER\gamemodes\Ant2.5.pwn(28667) : warning 235: public function lacks forward declaration (symbol "OnPlayerPrivmsg")
    C:\Users\Test\Desktop\GTA SAN ANDREAS SERVER\gamemodes\Ant2.5.pwn(28728) : error 021: symbol already defined: "lspdtor3"
    C:\Users\Test\Desktop\GTA SAN ANDREAS SERVER\gamemodes\Ant2.5.pwn(28729) : error 076: syntax error in the expression, or invalid function call
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.



    hier die zeilen:


    lspdtor3 = CreateObject(988, 1560.2200927734, -1637.0727539063, 12.557918548584, 90, 0.000000, 179.36633300781);
    if (strcmp(cmdtext, "/ls3", true) == 0)
    {
    if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    {
    if(pdgatestatus == 0)
    {
    pdgatestatus = 1; //0 = Ausgangspositon 1 = Bewegt (Variable ganz oben deklariert)
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Der Aufzug fährt nun nach oben!");
    MoveObject(lspdtor3,1560.2200927734, -1637.0727539063, 12.557918548584, 3.5);
    lspdtortimer = SetTimer("lspdtor3", 9000, 0);
    }
    else
    {
    KillTimer(lspdtortimer);
    pdgatestatus = 0;
    SendClientMessage(playerid, COLOR_LIGHTBLUE,"Der Aufzug fährt wieder runter!");
    MoveObject (lspdtor3,1560.2736816406, -1637.0723876953, 27.200000762939, 2.5);
    return 1;
    }
    }
    return 1;
    }
    public lspdtor3()
    {
    MoveObject (lspdtor3,1560.2200927734, -1637.0727539063, 12.557918548584, 2.5);
    pdgatestatus = 0;
    return 1;
    }



    und:


    public OnPlayerPrivmsg(playerid, recieverid, text[])
    {
    return 0;
    }




    Danke schon mal im Vorraus...

  • Hi bei mir fehlen Sachen deswegen Chrasht mein Server immer da kommt immer ein Error mir hat man sagen lassen das fehlen objecte etc. woher bekomme ich sowas? Oder welche Datein müssen drinn sein das ich vergleichen kann.
    Wär echt nett danke <3

  • hier ein Beispiel, du musst die 2. Zeile benutzen und in deinen Befehl einfügen...:


    }
    if(strcmp(cmd, "/ram", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == 2 || PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pLeader] == 10)
    {
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
    {
    SetPlayerInterior(playerid,HouseInfo[i][hInt]);
    SetPlayerPos(playerid,HouseInfo[i][hExitx],HouseInfo[i][hExity],HouseInfo[i][hExitz]);
    GameTextForPlayer(playerid, "~r~Breached the door", 5000, 1);
    PlayerInfo[playerid][pInt] = HouseInfo[i][hInt];
    PlayerInfo[playerid][pLocal] = i;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " You are not a Cop / Soldier !");
    return 1;
    }
    }
    return 1;
    }



    und Lenni:


    Hi bei mir fehlen Sachen deswegen Chrasht mein Server immer da kommt immer ein Error mir hat man sagen lassen das fehlen objecte etc. woher bekomme ich sowas? Oder welche Datein müssen drinn sein das ich vergleichen kann.
    Wär echt nett danke <3


    das kommt drauf an was du benutzt. Wenn du einen GF benutzt, musst du die richtigen Scriptfiles haben die zu diesem GF gehören. Eine andere Möglichkeit warum dein Server Crasht is dass deine Filterscripts nicht stimmen. Check die mal...

  • Ich habe ein Problem.


    Bei meinem /tv ist die Kamera fix, man kann sie nicht bewegen. Wie könnte ich das ändern ?


    if(auswahl == 1)
    {
    if(IsPlayerConnected(zielid))
    {
    TogglePlayerControllable(playerid,0);
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, zielid);
    SetPlayerInterior(playerid,GetPlayerInterior(zielid));

    new string[128];
    new zielname[MAX_PLAYER_NAME];
    new Float:zielhealth;
    new Float:zielarmour;
    GetPlayerName(zielid,zielname,sizeof(zielname));
    GetPlayerHealth(zielid,zielhealth);
    GetPlayerArmour(zielid,zielarmour);
    format(string,sizeof(string),"Spieler: %s, Geld: %d, Health: %f, Armour: %f",zielname,GetPlayerMoney(zielid),zielhealth,zielarmour);
    SendClientMessage(playerid,grün,string);
    }
    else
    {
    SendClientMessage(playerid,rot,"Fehler: Es existiert niemand mit dieser ID");
    }
    }

  • Nabend,
    Ich hab gerade mal eine Fraktion erstellt und wollte, dass nur diese die Fahrzeuge fahren kann.
    Habe dann aber diesen Error bekommen:

    Zitat

    C:\Dokumente und Einstellungen\Dominik\Desktop\SAMP Server\Scripten\gamemodes\lol.pwn(746) : error 029: invalid expression, assumed zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    1 Error.


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    for(new c=0;c if(vehicleid == Ballascar[code=c])
    {
    if(gTeam[playerid] != TEAM_BALLAS
    {
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    SendClientMessage(playerid,COLOR_GREY,"Du bist kein Mitglied der Ballas!");
    return 1;
    }
    }
    return 1;
    }

    mfg Lambo =)

  • wollte mal fragen was der unterschied zwischen stock und public ist


    z.B.

    public ResetSpamm(playerid)
    {
    AccInfo[playerid][Spam] = 0;
    return 1;
    }


    stock ResetSpamm(playerid)
    {
    AccInfo[playerid][Spam] = 0;
    return 1;
    }

  • Stock , der Code darin wird erst überprüft sobald er verwendet wird sprich vorher wird der Code nicht durch genommen & bleibt wie Müll links liegen bzw. wird beim kompilieren
    nicht mit einbezogen wie Kommentare


    public - Sind Öffentliche Klassen sie als Einstiegspunkte genutzt werden & immer beachtet zudem können diese nur Integer Werte wiedergeben , Stocks & No Name Klassen dagegen können Array/Zeichenfolgen wiedergeben

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Soweit ich es mitbekommen habe ist die pLocal Variable ein eigenes Interior System so das wenn der Spieler an einem bestimmten Punkt eintritt ein Spezieller Wert gesetzt wird
    für was der genau verwendet wird kann ich dir nicht sagen jedoch denke ich das hängt mit dem System zusammen.


    die 3 am Anfang ist der Radius , zudem ist PlayerToPoint veraltet, du kannst die Funktion IsPlayerInRangeOfPoint seitens Sa-mp nutzen jedoch tauschen sich da die ersten 2 Parameter die 3 ins 2. Parameter & playerid ins erste

    Mfg. BlackFoX_UD_ alias [BFX]Explosion