Befehl zum Annehmen von Tour erstellen? Hilfe bitte.

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
  • ich ahbe das mal bei mir getestet mit deinen angaben und der CP wird mir angezeigt zwar net immer gleich aber er kommt... also ich wüsste nicht wo der fehler ist hast du denn auch den richtgen streamer fasll nötig?
    BZW. fahr mal nach dem du angenommen hast etwas rum evt komtm der CP ja dann XD


    /*
    * Copyright (C) 2016 Incognito


    hab den aktuellen von ihm. rlsd vor 28 - 29tagen der letzte streamer ..


    hmm .. ka kommt iwi nichts..

  • okay also wird dir der Cp nun angezeigt mit meiner .dll?

    Nein xD
    meine damit mit server.cfg das mein Streamer geladen wird^^


    //EDIT: 01:27 26.06.2016


    Der Checkpoint wird erstellt wenn ich bisschen rumfahre @Mogly1 .
    Hier Aktueller befehl:

    ocmd:agarbage(playerid,params[])
    {
    if(IsPlayerConnected(playerid))
    {
    //fahrzeug auch für den 2 sätzen lassen und anfrage auf 0 setzen lassen
    wurdeangefragt[playerid] = 0;
    wurdeangefragt[inviteID[playerid]] = 0;//]
    pMuellAuto[playerid] = pMuellAuto[inviteID[playerid]]; //pMuellAuto global unter den Includes mit MAX_PLAYERS deklarieren.



    //denke mal checkpoint
    new string[254];
    new rand = random(sizeof(bmx1));
    new Float:x1,Float:x2,Float:x3;
    // new float:x1,float:x2,float:x3;//Somit sollte es random sein aber für beide trotzdem gleuch ^^
    x1=bmx1[rand][0];//ZEILE: 127506
    x2=bmx1[rand][1];//ZEILE: 127507
    x3=bmx1[rand][2];//ZEILE: 127508
    bmxo[playerid] = CreateDynamicCP(x1,x2,x3,3,-1,-1,playerid,10000.0);//ZEILE: 127510
    bmxo[inviteID[playerid]] = CreateDynamicCP(checkpointgarbage[inviteID[playerid]],x1,x2,x3,3);//ZEILE: 127509
    //beide sind dabei
    istdabei[playerid]=1;
    istdabei[inviteID[playerid]]=1;
    //text
    format(string,sizeof(string),"Du hast die Anfrage von %s erfolgreich Angenommen!",Spielername(inviteID[playerid]));
    SendClientMessage(playerid,COLOR_BLUE,string);
    format(string,sizeof(string),"%s hat erfolgreich die Einladung Angenommen!",Spielername(playerid));
    SendClientMessage(inviteID[playerid],COLOR_BLUE,string);
    return 1;
    }
    return 1;
    }

    Allerdings hab ich ein anderes Problem


    Aber es Passiert nichts im Checkpoint (teste den Job alleine) invite mich selbst als Partner.
    Vorhin hat es einmal geklappt als ich in den Checkpoint gegangen bin das ich einen müllsack hatte und abgeben konnte danach konnte ich aber nichts mehr raus holen also müllsäcke..
    Was ist am Code falsch den ich auf seite 1 iwo gepostet habe .. Checkpoint wird ja jetzt erstellt.
    @Jeffry

  • bmxo[playerid] = CreateDynamicCP(x1,x2,x3,3,-1,-1,playerid,10000.0);//ZEILE: 127510
    bmxo[inviteID[playerid]] = CreateDynamicCP(checkpointgarbage[inviteID[playerid]],x1,x2,x3,3);//ZEILE: 127509
    zu:
    bmxo[playerid] = CreateDynamicCP(x1,x2,x3,3,-1,-1,playerid,10000.0);//ZEILE: 127510
    bmxo[inviteID[playerid]] = CreateDynamicCP(x1,x2,x3,3,-1,-1,inviteID[playerid],10000.0);//ZEILE: 127509


    Außerdem solltest du es wirklich mit einem zweiten Spieler testen, sonst wird das bei den Tests nicht immer richtig klappen, da du zwei Checkpoints an der gleichen Position hast, aber nur einen Wert in der Variable, da playerid und inviteID[playerid] die gleiche ID haben.
    Nutze dafür einen zweiten PC oder ein zweites Windows-Benutzerkonto (Benutzer wechseln, wenn du im Spiel bist, nicht abmelden).


    Teste es dann nochmal.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • So hab es mit nem Kollegen getestet ..


    - Nur der Invitete Spieler sieht den Checkpoint bzw. bekommt ihn gesetzt.
    - Wenn der der den Checkpoint hat in den CP rein rennt passiert nichts..
    - Manchmal kann es vor kommen das ein Müllsack kommt z.B. heute morgen ging es bis zu einen Müllsack danach auch nicht mehr obwohl noch 6 drinne waren.
    @Jeffry

    ocmd:agarbage(playerid,params[])
    {
    if(IsPlayerConnected(playerid))
    {
    //fahrzeug auch für den 2 sätzen lassen und anfrage auf 0 setzen lassen
    wurdeangefragt[playerid] = 0;
    wurdeangefragt[inviteID[playerid]] = 0;//]
    pMuellAuto[playerid] = pMuellAuto[inviteID[playerid]]; //pMuellAuto global unter den Includes mit MAX_PLAYERS deklarieren.



    //denke mal checkpoint
    new string[254];
    new rand = random(sizeof(bmx1));
    new Float:x1,Float:x2,Float:x3;
    // new float:x1,float:x2,float:x3;//Somit sollte es random sein aber für beide trotzdem gleuch ^^
    x1=bmx1[rand][0];//ZEILE: 127506
    x2=bmx1[rand][1];//ZEILE: 127507
    x3=bmx1[rand][2];//ZEILE: 127508
    bmxo[playerid] = CreateDynamicCP(x1,x2,x3,3,-1,-1,playerid,10000.0);//ZEILE: 127510
    bmxo[inviteID[playerid]] = CreateDynamicCP(x1,x2,x3,3,-1,-1,playerid,10000.0);//ZEILE: 127509
    // bmxo[playerid] = CreateDynamicCP(x1,x2,x3,3,-1,-1,playerid,10000.0);//ZEILE: 127510
    // bmxo[inviteID[playerid]] = CreateDynamicCP(checkpointgarbage[inviteID[playerid]],x1,x2,x3,3);//ZEILE: 127509
    //beide sind dabei
    istdabei[playerid]=1;
    istdabei[inviteID[playerid]]=1;
    //text
    format(string,sizeof(string),"Du hast die Anfrage von %s erfolgreich Angenommen!",Spielername(inviteID[playerid]));
    SendClientMessage(playerid,COLOR_BLUE,string);
    format(string,sizeof(string),"%s hat erfolgreich die Einladung Angenommen!",Spielername(playerid));
    SendClientMessage(inviteID[playerid],COLOR_BLUE,string);
    return 1;
    }
    return 1;
    }

  • Sorry, das ging beim Copy Paste unter, mein Fehler.


    Der Checkpoint muss so aussehen:
    bmxo[playerid] = CreateDynamicCP(x1,x2,x3,3,-1,-1,playerid,10000.0);//ZEILE: 127510
    bmxo[inviteID[playerid]] = CreateDynamicCP(x1,x2,x3,3,-1,-1,inviteID[playerid],10000.0);//ZEILE: 127509


    Teste es dann nochmal.

  • So .. jetzt bekommen beide einen CP jeder konnte jeweils einen Müllsack vom CP nehmen und in das Müllauto nehmen und jetzt ist kein neuer CP da. Aber es sind noch 4 Müllsäcke vorhanden laut Chat ^^

  • Wie sieht dein Code von OnPlayerEnterDynamicCP aus?


    public OnPlayerEnterDynamicCP(playerid, checkpointid)
    {
    if(checkpointid == bmxo[playerid])
    {
    SetPlayerAttachedObject(playerid,0,1264,6,0.165999,0.003000,-0.184999,0.000000,0.000000,0.000000,0.498999,0.466999,0.489000);
    ApplyAnimation(playerid,"CARRY","liftup",4.1,0, 0, 0, 1, 1);
    ClearAnimations(playerid,1);
    SetPlayerSpecialAction(playerid,25);
    new Float:vX,Float:vY,Float:vZ;
    GetPosVorVeh(pMuellAuto[playerid], -5.0, vX, vY, vZ);
    DestroyDynamicCP(bmxo[playerid]);
    bmxo[playerid] = -1;
    fahrzeug[playerid] = CreateDynamicCP(vX,vY,vZ,4.0,-1,-1,playerid,30.0);
    TogglePlayerDynamicCP(playerid,fahrzeug[playerid],1);
    new rand1 = 5+random(3);
    muellsacke[pMuellAuto[playerid]] = rand1;
    return 1;
    }
    else if(checkpointid == fahrzeug[playerid])
    {
    if(kubik[pMuellAuto[playerid]] == 5.0)
    {
    SendClientMessage(playerid,COLOR_RED,"Das Fahrzeug ist voll, benutze /garbagestop");
    ClearAnimations(playerid,1);
    SetPlayerSpecialAction(playerid,0);
    RemovePlayerAttachedObject(playerid, 0);
    kubik[pMuellAuto[playerid]] = 0;
    DestroyDynamicCP(fahrzeug[playerid]);
    fahrzeug[playerid] = -1;
    }
    else
    {
    if(muellsacke[pMuellAuto[playerid]] == 1)
    {
    muellsacke[pMuellAuto[playerid]] = 0;
    ClearAnimations(playerid,1);
    SetPlayerSpecialAction(playerid,0);
    RemovePlayerAttachedObject(playerid, 0);
    DestroyDynamicCP(fahrzeug[playerid]);
    fahrzeug[playerid] = -1;
    kubik[pMuellAuto[playerid]] += 0.5;
    new rand = random(sizeof(bmx1));
    bmxo[playerid] = CreateDynamicCP(bmx1[rand][0],bmx1[rand][1],bmx1[rand][2],5.0,-1,-1,playerid,1000.0);
    return 1;
    }
    else
    {
    new string[123],string2[123];
    ClearAnimations(playerid,1);
    SetPlayerSpecialAction(playerid,0);
    kubik[pMuellAuto[playerid]] += 0.5;
    muellsacke[pMuellAuto[playerid]] -= 1;//HIER
    RemovePlayerAttachedObject(playerid, 0);
    format(string,sizeof(string),"Kubik: %0.1f/15.0",kubik[pMuellAuto[playerid]]);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    format(string2,sizeof(string2),"Müllsäcke: %d",muellsacke[pMuellAuto[playerid]]);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string2);
    DestroyDynamicCP(fahrzeug[playerid]);
    fahrzeug[playerid] = -1;
    bmxo[playerid] = CreateDynamicCP(globalVar[playerid][0],globalVar[playerid][1],globalVar[playerid][2],4.0,-1,-1,playerid,30.0);
    return 1;
    }
    }
    }
    return 1;
    }

  • Füge bei deinem Befehl, nach dem CreateDynamicCP, das hier ein:
    globalVar[playerid][0] = x1;
    globalVar[playerid][1] = x2;
    globalVar[playerid][2] = x3;
    globalVar[inviteID[playerid]][0] = x1;
    globalVar[inviteID[playerid]][1] = x2;
    globalVar[inviteID[playerid]][2] = x3;


  • ocmd:agarbage(playerid,params[])
    {
    if(IsPlayerConnected(playerid))
    {
    //fahrzeug auch für den 2 sätzen lassen und anfrage auf 0 setzen lassen
    wurdeangefragt[playerid] = 0;
    wurdeangefragt[inviteID[playerid]] = 0;//]
    pMuellAuto[playerid] = pMuellAuto[inviteID[playerid]]; //pMuellAuto global unter den Includes mit MAX_PLAYERS deklarieren.



    //denke mal checkpoint
    new string[254];
    new rand = random(sizeof(bmx1));
    new Float:x1,Float:x2,Float:x3;
    // new float:x1,float:x2,float:x3;//Somit sollte es random sein aber für beide trotzdem gleuch ^^
    x1=bmx1[rand][0];//ZEILE: 127506
    x2=bmx1[rand][1];//ZEILE: 127507
    x3=bmx1[rand][2];//ZEILE: 127508
    bmxo[playerid] = CreateDynamicCP(x1,x2,x3,3,-1,-1,playerid,10000.0);//ZEILE: 127510
    bmxo[inviteID[playerid]] = CreateDynamicCP(x1,x2,x3,3,-1,-1,inviteID[playerid],10000.0);//ZEILE: 127509
    globalVar[playerid][0] = x1;
    globalVar[playerid][1] = x2;
    globalVar[playerid][2] = x3;
    globalVar[inviteID[playerid]][0] = x1;
    globalVar[inviteID[playerid]][1] = x2;
    globalVar[inviteID[playerid]][2] = x3;
    // bmxo[playerid] = CreateDynamicCP(x1,x2,x3,3,-1,-1,playerid,10000.0);//ZEILE: 127510
    // bmxo[inviteID[playerid]] = CreateDynamicCP(checkpointgarbage[inviteID[playerid]],x1,x2,x3,3);//ZEILE: 127509
    //beide sind dabei
    istdabei[playerid]=1;
    istdabei[inviteID[playerid]]=1;
    //text
    format(string,sizeof(string),"Du hast die Anfrage von %s erfolgreich Angenommen!",Spielername(inviteID[playerid]));
    SendClientMessage(playerid,COLOR_BLUE,string);
    format(string,sizeof(string),"%s hat erfolgreich die Einladung Angenommen!",Spielername(playerid));
    SendClientMessage(inviteID[playerid],COLOR_BLUE,string);
    return 1;
    }
    return 1;
    }


    jetzt erscheint bei mir
    Dieser befehl exisitiert nicht^^


    also : /agarbage

  • Das weiß ich selber nicht habe den Job von Breadfish also den Code du hattest mal einem geholfen..
    Dann kann ich ja eig. globalVar wie die anderen erstellen lassen bmx1 oder?