[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
  • public OnPlayerText(playerid, text[])
    {
    new string[145],Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    if(GetPVarInt(playerid,"NeedMedic") == 1)
    {
    SendClientMessage(playerid,ROT,"Du kannst wärend du tot bist nicht reden.");
    return 0;
    }
    if(SpielerInfo[playerid][pLogIn] == 0)
    {
    SendClientMessage(playerid,ROT,"Du kannst nicht schreiben du bist nicht eingeloggt.");
    return 0;
    }
    if(SpielerInfo[playerid][pPrisonTime] >= 1)
    {
    SendClientMessage(playerid,ROT,"Du kannst im Prison nicht reden.");
    return 0;
    }
    format(string,sizeof(string),"%s sagt: %s",SpielerName(playerid),text);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerInRangeOfPoint(i,20,X,Y,Z))
    {
    SendClientMessage(i,WEIS,string);
    }
    }
    return 0;
    }
    Versuche es so.

  • Spoiler anzeigen

    Ganz kurz und schnell:
    Bin ich gerade blind oder so? :D
    Wo ist denn der Fehler?

    Spoiler anzeigen
    Also playerJobDraw existiert bereits, also das Textdraw ist im Script erstellt.

    Spoiler anzeigen
    Fehler:

    error 017: undefined symbol "playerJobDraw"
    warning 215: expression has no effect
    error 001: expected token: ";", but found "]"
    error 029: invalid expression, assumed zero
    fatal error 107: too many error messages on one line

    Spoiler anzeigen
    Der Code:

    PlayerTextDrawShow(playerid,playerJobDraw[playerid][0]);

    Spoiler anzeigen
    komplette Funktion
    public BaumEnde(playerid)
    {
    new string[25];
    SetPlayerPosEx(playerid,2351.2058,-651.9976,128.0547);
    TogglePlayerSpectating(playerid,0);
    SetCameraBehindPlayer(playerid);
    grossBaum[playerid] = 1;
    PlayerTextDrawShow(playerid,playerJobDraw[playerid][0]);
    PlayerTextDrawShow(playerid,playerJobDraw[playerid][1]);
    PlayerTextDrawShow(playerid,playerJobDraw[playerid][2]);
    PlayerTextDrawShow(playerid,playerJobDraw[playerid][3]);
    format(string,sizeof(string),"Job: ~y~Holzfaeller/in~w~~n~grosser Baum: ~g~0/1");
    PlayerTextDrawSetString(playerid,playerJobDraw[playerid][3],string);
    PlayerTextDrawShow(playerid,playerJobDraw[playerid][4]);
    format(string,sizeof(string),"Faelle nun den Baum!");
    PlayerTextDrawSetString(playerid,playerJobDraw[playerid][4],string);
    return true;
    }


    Okay habs behoben, war ein Flüchtigkeitsfehler von mir gewesen. :S:D

  • Blinkersystem Funktioniert nicht wie ich es will.. Wenn Blinke dann wird der Textdraw nicht in Farbe gezeigt bzw. der textdraw soll mitblinken und den Sound solange abspielen bis man eben wieder den blinker abschaltet oder wenn es geht am besten wenn das auto abbiegt oder wendet.


    if(IsPlayerInAnyVehicle(playerid))
    {
    new carid = GetPlayerVehicleID(playerid);
    new model = (GetVehicleModel(carid)-400);
    if(!IsPlayerInAnyVehicle(playerid) && !IsVehicleACar(carid)) return 1;
    if(GetPlayerVehicleSeat(playerid) != 0)return 1;
    if(GetVehicleModel(carid) == 509 || GetVehicleModel(carid) == 481 || GetVehicleModel(carid) == 510 || IsVehAFlugzeug(carid) || IsVehAHelicopter(carid) || IsVehABoot(carid)) return 1;
    if(GetPlayerState(playerid) == 2)
    {
    if((newkeys == KEY_LOOK_RIGHT))//Rechter Blinker
    {
    DestroyObject(LightsObject[carid][0]);
    DestroyObject(LightsObject[carid][1]);
    LightsObject[carid][0] = -1;
    LightsObject[carid][1] = -1;
    if(Signal[carid] == 2)
    {
    SignalTick[carid][0] = 0;
    SignalTick[carid][1] = -1;
    PlayerSignalOFF(playerid);
    Signal[carid] = 0;
    }
    else
    {
    if(Signal[carid] == 1)
    {
    TextDrawShowForPlayer(playerid, SignalDraw[0]);
    TextDrawHideForPlayer(playerid, SignalDraw[2]);
    }
    LightsObject[carid][0] = CreateObject(19294, 0, 0, 0, 0, 0, 0);
    LightsObject[carid][1] = CreateObject(19294, 0, 0, 0, 0, 0, 0);
    AttachObjectToVehicle(LightsObject[carid][0], carid, LightsPos[model][0], LightsPos[model][1], LightsPos[model][2], 0, 0, 0);
    AttachObjectToVehicle(LightsObject[carid][1], carid, LightsPos[model][3], LightsPos[model][4], LightsPos[model][5], 0, 0, 0);
    PlayerSignalON(playerid, 1, true);
    GetVehicleZAngle(carid, SignalAngle[carid]);
    SignalTick[carid][0] = 0;
    SignalTick[carid][1] = -1;
    Signal[carid] = 2;
    }
    return 1;
    }
    else if((newkeys == KEY_LOOK_LEFT))//Linker Blinker
    {
    DestroyObject(LightsObject[carid][0]);
    DestroyObject(LightsObject[carid][1]);
    LightsObject[carid][0] = -1;
    LightsObject[carid][1] = -1;
    if(Signal[carid] == 1)
    {
    SignalTick[carid][0] = 0;
    SignalTick[carid][1] = -1;
    PlayerSignalOFF(playerid);
    Signal[carid] = 0;
    }
    else
    {
    if(Signal[carid] == 2)
    {
    TextDrawShowForPlayer(playerid, SignalDraw[1]);
    TextDrawHideForPlayer(playerid, SignalDraw[3]);
    }
    LightsObject[carid][0] = CreateObject(19294, 0, 0, 0, 0, 0, 0);
    LightsObject[carid][1] = CreateObject(19294, 0, 0, 0, 0, 0, 0);
    AttachObjectToVehicle(LightsObject[carid][0], carid, -LightsPos[model][0], LightsPos[model][1], LightsPos[model][2], 0, 0, 0);
    AttachObjectToVehicle(LightsObject[carid][1], carid, -LightsPos[model][3], LightsPos[model][4], LightsPos[model][5], 0, 0, 0);
    PlayerSignalON(playerid, 0, true);
    GetVehicleZAngle(carid, SignalAngle[carid]);
    SignalTick[carid][0] = 0;
    SignalTick[carid][1] = -1;
    Signal[carid] = 1;
    }
    return 1;
    }
    }
    }


    stock PlayerSignalON(playerid, signal, light)
    {
    new signal2, light2;
    if(signal == 0) signal2 = 1;
    else signal2 = 0;
    if(light == 0) light2 = 1;
    else light2 = 0;
    TextDrawShowForPlayer(playerid, SignalDraw[signal2]);
    TextDrawHideForPlayer(playerid, SignalDraw[signal2 + 2]);


    ToggleTextDrawForPlayer(playerid, SignalDraw[signal], light2);
    ToggleTextDrawForPlayer(playerid, SignalDraw[signal + 2], light);


    PlayerPlaySound(playerid, 1131, 0.0, 0.0, 0.0);
    return 1;
    }


    stock PlayerSignalOFF(playerid)
    {
    TextDrawShowForPlayer(playerid, SignalDraw[0]);
    TextDrawShowForPlayer(playerid, SignalDraw[1]);
    TextDrawHideForPlayer(playerid, SignalDraw[2]);
    TextDrawHideForPlayer(playerid, SignalDraw[3]);
    return 1;
    }


    stock UpdateSignal( playerid, status, stick, endtick )
    {
    new signal = ( status - 1 );
    if(!endtick)
    {
    PlayerSignalOFF(playerid);
    }
    else if(stick == 17)
    {
    PlayerSignalON(playerid, signal, true);
    }
    else if(stick == 8)
    {
    PlayerSignalON(playerid, signal, false);
    }
    return 1;
    }


    stock ToggleTextDrawForPlayer(playerid, Text:textdraw, toggle)
    {
    if(toggle) TextDrawShowForPlayer(playerid, textdraw);
    else TextDrawHideForPlayer(playerid, textdraw);
    return 1;
    }


    Tut mir leid aber kann kein thread öffnen weis nicht wieso.. deswegen wollte ich hier mal fragen wo mein fehler ist


  • fobj1 = CreateObject(10230, 2930.95, -2279.76, 7.92, 0.00, 0.00, 359.38);
    fobj2 = CreateObject(10231, 2930.19, -2281.15, 8.19, 0.00, 0.00, 359.58);
    fobj3 = CreateObject(1497, 2978.13, -2278.97, 10.99, 0.00, 0.00, 269.31);

    MoveObject(fobj1, 2530.95, -2279.78, 7.92, 3.5);
    MoveObject(fobj2, 2530.19, -2281.15, 8.19, 3.5);
    MoveObject(fobj3, 2578.13, -2278.97, 10.99, 3.5);



    Sobald das Objekt fertig bewegt wurde, verschwindet es einfach 8|
    Wie kann das passieren?

  • Beitrag von Pascal. ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • hey ich habe eine frage ich habe ein /motor befehl und wenn ich 2 drücke dann führt er den Motor befehl aus aber
    ocmd:motor(playerid,params[])


    if(newkeys & KEY_SUBMISSION) return ocmd_motor(playerid, "");


    ich habe jeze ein befehl mit 2 varrianten
    also wie mache ich das bei soeinem befehl das wenn ich H drücke er den befehl ausführt ?


    ocmd@2:gate,tor(playerid,params[])


    Jeffry:
    Kaliber.:

  • Beitrag von Pascal. ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • habe das jetze so aber es geht nur wenn ich nicht Im Fahrzeug sitze aber wieso ?
    ich bin mit mein Car zum Tor gefahren da habe ich H Gedrückt aber geht ging nicht ich bin ausgestiegen und habe H Gedrückt dann ging es aber wieso ?
    if(newkeys & KEY_CTRL_BACK)
    {
    for(new i = 0; i < sizeof(Schranken); i++)
    {
    for(new t = 0; t < sizeof(Tore); t++)
    {
    return ocmd_gate(playerid, "");
    }
    }
    }