Benötige kleine Hilfe

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
  • Guten Tag liebe Community...


    Ich habe mal ne Frage...


    Ich habe einen Truckerjob erstellt und es hackt an 2 Sachen...


    Der Checkpoint soll er gesetzt werden, wenn:


    Er bei /beladen im Truck sitzt und den Anhänger hinten dran hat...


    Schnipsel:


    truck [1] = AddStaticVehicle(450,-1858.3893,134.6849,15.7569,268.7884,0,0); // Anhänger
    truck [2] = AddStaticVehicle(450,-1855.3984,143.8939,15.7597,259.4307,0,0); // Anhänger
    truck [3] = AddStaticVehicle(450,-1853.4817,154.6834,15.7558,262.6503,0,0); // Anhänger
    truck [4] = AddStaticVehicle(515,-1843.9670,153.0890,16.1389,263.2096,4,9); // Truck
    truck [5] = AddStaticVehicle(515,-1845.9943,141.7670,16.1403,259.7192,4,9); // Truck
    truck [6] = AddStaticVehicle(515,-1848.7808,134.2507,16.1396,267.9629,4,9); // Truck


    if(strcmp(cmdtext, "/beladen", true) ==0)
    {
    if(IsPlayerInJob(playerid,1))
    {
    if(IsPlayerInRangeOfPoint(playerid,50,-1827.7311,136.9194,15.7548))
    {
    SetPlayerCheckpoint(playerid,642.4318,872.6925,-42.8114,20);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht am Beladungspunkt!");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Trucker!");
    }
    return 1;
    }
    if(strcmp(cmdtext, "/abladen", true) ==0)
    {
    if(IsPlayerInJob(playerid,1))
    {
    if(IsPlayerInRangeOfPoint(playerid,5,642.4318,872.6925,-42.8114))
    {
    SendClientMessage(playerid,GRÜN,"Du hast die Lieferung abgeliefert!");
    SendClientMessage(playerid,GRÜN,"Dein Verdienst: 2500$");
    GivePlayerMoney(playerid,2500);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht am Ablieferungspunkt!");
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Trucker!");
    }
    return 1;
    }

  • Also ich wollts nun so machen, aber i-wie klappts nicht...


    Edit, so habs nun so gemacht:


    if(strcmp(cmdtext, "/beladen", true) ==0)
    {
    if(IsPlayerInJob(playerid,1))
    {
    if(IsPlayerInTruck(playerid))
    {
    if(IsPlayerInRangeOfPoint(playerid,50,-1827.7311,136.9194,15.7548))
    {
    SetPlayerCheckpoint(playerid,642.4318,872.6925,-42.8114,20);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht am Beladungspunkt!");
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Trucker!");
    }
    return 1;
    }


    public IsPlayerInTruck(playerid)
    {
    if(truck[1]||truck[2]||truck[3]||truck[4]||truck[5]||truck[6] == GetPlayerVehicleID(playerid))
    return 0;
    }


    Warning:
    C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(1541) : warning 209: function "IsPlayerInTruck" should return a value
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.

    Einmal editiert, zuletzt von TakeItEasy ()

  • Errorzeile =


    public IsPlayerInTruck(playerid)//1537
    {//1538
    if(truck[1]||truck[2]||truck[3]||truck[4]||truck[5]||truck[6] == GetPlayerVehicleID(playerid))//1539
    return 1;//1540
    }//1541


    Wäre beides gut, da ich den kack Warning nicht wegbekomme -.-'


    Edit:
    1541 ist die Zeile, wo der Error anscheinend ist...

  • anstelle von return 1, muss da return 0; Hin...

    Zita aus dem Livestream chat von Internetlink von BigYoda ;)


    Zitat

    BigYoda: Ink sagt: "Ach OnGamemodeInit brauchen wir nicht löschen" Yoda: "Was ist das andere für ein Kram?". Ink: "Egal lösch einfach alles". Tutorial Ende :D





    DDG is Back


    Froum: DDG Forum
    Server IP: 85.25.20.59:7777
    Team Speak 3: 85.25.20.59

  • Also deine Abfrage kann gar nicht klappen, weil er höchstens für truck[1] bis truck[6] überprüft, ob der Wert Wahr ist.


    [color=#1E39F6]public IsPlayerInTruck(playerid)
    {
    switch(GetPlayerVehicleID(playerid))
    {
    case truck[1]..truck[6]: return true;
    }
    return false;
    }



    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ganz oben im Script:


    new truck[6];


    /----------------------------------------------------------------/


    Bei OnGameModeInit()



    truck[1] = AddStaticVehicle(450,-1858.3893,134.6849,15.7569,268.7884,0,0); // Anhänger
    truck[2] = AddStaticVehicle(450,-1855.3984,143.8939,15.7597,259.4307,0,0); // Anhänger
    truck[3] = AddStaticVehicle(450,-1853.4817,154.6834,15.7558,262.6503,0,0); // Anhänger
    truck[4] = AddStaticVehicle(515,-1843.9670,153.0890,16.1389,263.2096,4,9); // Truck
    truck[5] = AddStaticVehicle(515,-1845.9943,141.7670,16.1403,259.7192,4,9); // Truck
    truck[6] = AddStaticVehicle(515,-1848.7808,134.2507,16.1396,267.9629,4,9); // Truck


    /-----------------------------------------------------------------------------------/


    Irgendwo am besten am Ende:



    public IsPlayerInTruck(playerid)
    {
    if(truck[1 ]|| truck[2] || truck[3] || truck[4] || truck[5] || truck[6] == GetPlayerVehicleID(playerid)){
    }
    return 1;
    }


    xD So geht es zumindest bei mir ohne Errors :P

  • ich hab es doch so:


    new truck [7];
    forward IsPlayerInTruck(playerid);


    truck [1] = AddStaticVehicle(450,-1858.3893,134.6849,15.7569,268.7884,0,0); // Anhänger
    truck [2] = AddStaticVehicle(450,-1855.3984,143.8939,15.7597,259.4307,0,0); // Anhänger
    truck [3] = AddStaticVehicle(450,-1853.4817,154.6834,15.7558,262.6503,0,0); // Anhänger
    truck [4] = AddStaticVehicle(515,-1843.9670,153.0890,16.1389,263.2096,4,9); // Truck
    truck [5] = AddStaticVehicle(515,-1845.9943,141.7670,16.1403,259.7192,4,9); // Truck
    truck [6] = AddStaticVehicle(515,-1848.7808,134.2507,16.1396,267.9629,4,9); // Truck


    public IsPlayerInTruck(playerid)
    {
    if(truck[1]||truck[2]||truck[3]||truck[4]||truck[5]||truck[6] == GetPlayerVehicleID(playerid)){
    }
    return 1;


    }


    if(strcmp(cmdtext, "/beladen", true) ==0)
    {
    if(IsPlayerInJob(playerid,1))
    {
    if(IsPlayerInTruck(playerid))
    {
    if(IsPlayerInRangeOfPoint(playerid,50,-1827.7311,136.9194,15.7548))
    {
    ShowPlayerDialog(playerid,DIALOG_TRUCKER,2,"Beladung","Arbeiten\nAussteigen","Auswählen","Cancel");
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist nicht am Beladungspunkt!");
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du bist kein Trucker!");
    }
    return 1;
    }


    Es kommt mitlerweile kein Error mehr, aber ich kanns trotzdem noch in jedem beliebigen Wagen eingeben und es funktioniert...
    also /beladen ?( ?( ?(

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Junge, hast du überhaupt meinen post oben beachtet? xD Dein IsPlayerInTruck macht Fehler. Wozu schreibe ich die Lösung hin.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • public IsPlayerInTruck(playerid)
    {
    switch(GetPlayerVehicleID(playerid))
    {
    case truck[1]||truck[2]||truck[3]||truck[4]||truck[5]||truck[6]: return true;
    }
    return false;
    }
    [pwn]C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(1573) : error 008: must be a constant expression; assumed zero
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    ?( ?(

  • Das liegt daran, dass deine Abfrage dumm ist...

    public IsPlayerInTruck(playerid)
    {
    for(new i=0;i<sizeof(truck);i++) {
    if(GetPlayerVehicleID(playerid))==truck[i]) {
    return 1;
    break;
    {
    }
    return 0;
    }


    Edit: soo..

    PAWNit gratis nutzen?
    Geschenkcode: 2017VQXPKB8V3KA

    Hier könnte Ihre Werbung stehen.

  • Alter Schwede...


    Benötige kleine Hilfe

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Templer...
    Deiner geht nicht. siehe paar beiträge oben...


    @ auke...


    C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(473) : error 017: undefined symbol "sscanf"
    C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(474) : error 017: undefined symbol "Spielername"
    C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(492) : error 017: undefined symbol "sscanf"
    C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(502) : error 017: undefined symbol "sscanf"
    C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(593) : error 033: array must be indexed (variable "IsPlayerInTruck")
    C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(655) : error 017: undefined symbol "Spielername"
    C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(1572) : error 029: invalid expression, assumed zero
    C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(1572) : warning 215: expression has no effect
    C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(1572) : error 001: expected token: ";", but found ")"
    C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(1572) : error 029: invalid expression, assumed zero
    C:\Users\Felix\Desktop\selfmade\gamemodes\Selfmade.pwn(1572) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    10 Errors.


    8|


    Edit, weiß keiner wie ich
    IsPlayerInTruck 
    machen kann? ?(

    Einmal editiert, zuletzt von TakeItEasy ()

  • Nunja, habs nun so einigermaßen hinbekommen...
    Aber wie mach ich das denn, dass der den Checkpoint abbricht, wenn er aussteigt? ?(