Beiträge von Brinegd

    Funktion OnPlayerDisconnect(playerid, reason)
    {
    GetPlayerPos(playerid, Spieler[playerid][lastX], Spieler[playerid][lastY], Spieler[playerid][lastZ]);
    SpielerSpeichern(playerid);
    DestroyVehicle(Auto[playerid]);
    return 1;
    }


    und der ganze aufbau:
    stock SpielerSpeichern(playerid)
    {
    new accpfad[40];
    format(accpfad, sizeof(accpfad), ""#ACCOUNTVERZEICHNIS"%s.ini", SpielerName(playerid));
    dini_IntSet(accpfad, "Adminlevel", Spieler[playerid][sAdmin]);
    dini_IntSet(accpfad, "Level", Spieler[playerid][sLevel]);
    dini_IntSet(accpfad, "Kills", Spieler[playerid][sKills]);
    dini_IntSet(accpfad, "Tode", Spieler[playerid][sTode]);
    dini_IntSet(accpfad, "Geld", GetPlayerMoney(playerid));
    dini_IntSet(accpfad, "Fraktion", Spieler[playerid][sFraktion]);
    dini_IntSet(accpfad, "Rang", Spieler[playerid][sRang]);
    dini_IntSet(accpfad, "Zigaretten", Spieler[playerid][sZigaretten]);
    dini_IntSet(accpfad, "SFPass", Spieler[playerid][sSFPass]);
    GetPlayerHealth(playerid, Spieler[playerid][sLeben]);
    dini_FloatSet(accpfad, "Leben", Spieler[playerid][sLeben]);
    dini_FloatSet(accpfad,"lastX", Spieler[playerid][lastX]);
    dini_FloatSet(accpfad,"lastY", Spieler[playerid][lastY]);
    dini_FloatSet(accpfad,"lastZ", Spieler[playerid][lastZ]);
    dini_IntSet(accpfad, "Perso", Spieler[playerid][sPerso]);
    dini_IntSet(accpfad, "Skin", Spieler[playerid][sSkin]);
    //Float:LVID,
    //Float:LVP,
    //Float:LVZA,
    //Float:LVXYF
    }


    stock CreateAccount(playerid)
    {
    new accpfad[40];
    format(accpfad, sizeof(accpfad), ""#ACCOUNTVERZEICHNIS"%s.ini", SpielerName(playerid));
    dini_IntSet(accpfad, "Adminlevel", 0);
    dini_IntSet(accpfad, "Geld", 0);
    dini_IntSet(accpfad, "Level", 1);
    dini_IntSet(accpfad, "Kills", 0);
    dini_IntSet(accpfad, "Tode", 0);
    dini_IntSet(accpfad, "Fraktion", 0);
    dini_IntSet(accpfad, "Rang", 0);
    dini_IntSet(accpfad, "Zigaretten",0);
    dini_IntSet(accpfad, "SFPass",1);
    dini_IntSet(accpfad, "Perso",0);
    serverkasse -= StartGeld;
    SetPVarInt(playerid, "FirstSpawn", 1);
    dini_IntSet(accpfad, "Skin",78);
    }


    stock SpielerLaden(playerid)
    {
    new accpfad[40];
    format(accpfad, sizeof(accpfad), ""#ACCOUNTVERZEICHNIS"%s.ini", SpielerName(playerid));
    Spieler[playerid][sAdmin] = dini_Int(accpfad, "Adminlevel");
    Spieler[playerid][sGeld] = dini_Int(accpfad, "Geld");
    Spieler[playerid][sLevel] = dini_Int(accpfad, "Level");
    Spieler[playerid][sKills] = dini_Int(accpfad, "Kills");
    Spieler[playerid][sTode] = dini_Int(accpfad, "Tode");
    Spieler[playerid][sFraktion] = dini_Int(accpfad, "Fraktion");
    Spieler[playerid][sRang] = dini_Int(accpfad, "Rang");
    Spieler[playerid][sZigaretten] = dini_Int(accpfad, "Zigaretten");
    Spieler[playerid][sSFPass] = dini_Int(accpfad, "SFPass");
    Spieler[playerid][lastX] = dini_Float(accpfad, "lastX");
    Spieler[playerid][lastZ] = dini_Float(accpfad, "lastZ");
    Spieler[playerid][lastY] = dini_Float(accpfad, "lastY");
    GivePlayerMoney(playerid, Spieler[playerid][sGeld]);
    Spieler[playerid][sPerso] = dini_Int(accpfad, "Perso");
    SetPlayerSkin(playerid, Spieler[playerid][sSkin]);
    }

    Hi Brotfische, keine Ahnung wieso er das nicht macht.
    Ich denke mal das ist alles richtig, warum gibt er mir z.B. das Geld nicht, oder warum gibt er nicht mir mein Skin..
    Hier ein paar stellen aus dem Script hier ist einmal das mit dem Skin
    dini_IntSet(accpfad, "Skin", Spieler[playerid][sSkin]);
    das ist bei Spielerspeichern, also beim verlassen..
    Bei Spielerladen steht das:
    SetPlayerSkin(playerid, Spieler[playerid][sSkin]);
    das klappt nicht, bei der regi steht das:
    dini_IntSet(accpfad, "Skin",78);
    da sollte am anfang eigentlich skin id 78 immer sein tut es aber nicht.
    und das mit geld:
    bei regi
    dini_IntSet(accpfad, "Geld", 0);
    bei speichern:
    dini_IntSet(accpfad, "Geld", GetPlayerMoney(playerid));
    und bei laden:
    GivePlayerMoney(playerid, Spieler[playerid][sGeld]);


    irgendein vorschlag warum er mir z.b. das geld nicht gibt..


    params ist nicht definiert, musste du definieren.
    zeig die mal zeile wo der error ist..

    ocmd:persoabholencheck(playerid)
    {
    if(Spielerlaeuft[playerid] == 1)
    {
    SendClientMessage(playerid,Hellblau,"STADTHALLE: Du kannst dein Personalausweis abholen!");
    }
    else
    {
    SendClientMessage(playerid,Hellblau,"STADTHALLE: Dein Personalausweis ist noch nicht fertig.");
    }
    }
    hab den benutzt davor hab ich ihn beantragt, es kam raus:
    'Dein Personalausweis ist noch nicht fertig.'


    Ich versuche es eben mit SetTimerEx.. ich schreibe obs klappt.

    Was meinst du mit reagiren ?
    Kommt die TBox sofort nach dem du den Personalausweis kaufst.


    Ich vermute es liegt daran das du den Timer auf 3 Sekunden eingestellt hast.
    3000 Millisekunden sind 3 Sekunden.
    5 Minuten sind 300000 Millisekunden.


    Nein ich habe 3 Sekunden zum Testzweck eingestellt also ich will doch nicht 5 Minuten warten.
    Nein die TBox kommt überhaupt nicht, also keine Reaktion. ich mach mal eben ein befehl das der mir sagt ob ich die genehmiung für den perso hab

    Hi, mein Timer reagiert für den Personalausweis nicht.. folgendes habe ich definiert:
    forward PersoabholenTimer(playerid);
    wo ich den Timer aufrufe ist hier:
    {
    SetTimer("PersoabholenTimer",3000,0);
    SendClientMessage(playerid,Hellblau,"STADTHALLE: Dein Pass wurde beantragt, komm in 5 Minuten wieder um dein Personalausweis abzuholen!");
    Persoabholen[playerid] = 0;
    }


    und der Timer selber:
    Funktion PersoabholenTimer(playerid)
    {
    ShowTBox(playerid,"Stadthalle","Dein Personalausweis ist fertig, du kannst ihn in der Stadt gegen 45$ tauschen",5);
    Persoabholen[playerid] = 1;
    }


    warum reagiert er nicht und zeigt mir die TBox?

    Hallo ihr Brotfische, warum reagieren meine Checkpoints erst nach 10 sekunden oder wenn ihr erst 100x in die checkpoints reinlaufe, z.B. das erste:
    Funktion OnPlayerEnterCheckpoint(playerid)
    {
    new veh = LastVehicleID[playerid];
    new Float:vcoord[3]; GetVehiclePos(veh,vcoord[0],vcoord[1],vcoord[2]);
    new Float:size[3]; GetVehicleModelInfo(GetVehicleModel(veh), VEHICLE_MODEL_INFO_SIZE, size[0],size[1],size[2]);
    new Float:vangle; GetVehicleZAngle(veh,vangle);
    if(MuellmannCP[playerid] == 1 && IsPlayerInRangeOfPoint(playerid,10.0,1650.7561,-1867.5532,13.3828) && Spielerlaeuft[playerid] == 1)
    {
    vcoord[0] = floatadd(vcoord[0],(-size[0]* floatsin(-vangle,degrees)));
    vcoord[1] = floatadd(vcoord[1],(-size[1]* floatcos(-vangle,degrees)));
    if(IsPlayerInRangeOfPoint(playerid,3.0,vcoord[0],vcoord[1],vcoord[2])) //return 1;
    SetPlayerCheckpoint(playerid,vcoord[0],vcoord[1],vcoord[2],3.5);
    MuellmannCP[playerid] = 2;
    //return 0;
    return 1;
    }


    bitte um hilfe.. das ist erst passiert als ich die checkpoints in die größe 1 umgeändert habe..

    Hallo ihr Brotfische, warum reagieren meine Checkpoints erst nach 10 sekunden oder wenn ihr erst 100x in die checkpoints reinlaufe, z.B. das erste:
    Funktion OnPlayerEnterCheckpoint(playerid)
    {
    new veh = LastVehicleID[playerid];
    new Float:vcoord[3]; GetVehiclePos(veh,vcoord[0],vcoord[1],vcoord[2]);
    new Float:size[3]; GetVehicleModelInfo(GetVehicleModel(veh), VEHICLE_MODEL_INFO_SIZE, size[0],size[1],size[2]);
    new Float:vangle; GetVehicleZAngle(veh,vangle);
    if(MuellmannCP[playerid] == 1 && IsPlayerInRangeOfPoint(playerid,10.0,1650.7561,-1867.5532,13.3828) && Spielerlaeuft[playerid] == 1)
    {
    vcoord[0] = floatadd(vcoord[0],(-size[0]* floatsin(-vangle,degrees)));
    vcoord[1] = floatadd(vcoord[1],(-size[1]* floatcos(-vangle,degrees)));
    if(IsPlayerInRangeOfPoint(playerid,3.0,vcoord[0],vcoord[1],vcoord[2])) //return 1;
    SetPlayerCheckpoint(playerid,vcoord[0],vcoord[1],vcoord[2],3.5);
    MuellmannCP[playerid] = 2;
    //return 0;
    return 1;
    }


    bitte um hilfe.. das ist erst passiert als ich die checkpoints in die größe 1 umgeändert habe..


    Versuch ich mal, hat wer noch Vorschläge wie ich da vorgehen sollte?

    Die Funktion wird so nicht Funktionieren da diese nichts zurückgibt. Du rechnest mit Variablen aber danach kommt nichts und somit ist der Wert (wie alle variablen die nicht initialisiert wurden) 0. LastVehicleXYF hätte einfach mit dem Float: tag vershen werden müssen und es sollte klappen wie es vorher war


    Und wie soll ich das dann sonst machen? ^^

    Funktion GetXYInFrontOf(&Float:a, &Float:x, &Float:y,Float:distanc );
    GetXYInFrontOf(&Float:a, &Float:x, &Float:y, Float:distanc)
    {
    x += (distanc * floatsin(-a, degrees));
    y += (distanc * floatcos(-a, degrees));
    return;
    }


    so isses richtig.
    danke an alle ^^


    €dit: Noch eine kleine Frage an alle:
    Weiß wer vielleicht wie ich das mache das wenn ich aussteige aus dem Fahrzeug und in ein Checkpoint laufe hinter dem Fahrzeug ein Checkpoint erscheint?

    Hi! Kurze Frage warum krieg bei der Zeile eine Tag Mismatch problem?:
    LastVehicleXYF[playerid] = GetXYInFrontOf(fR,fX,fY,5.0);
    alles was ich dort habe:


    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
    new Float:fX,Float:fY,Float:fZ,Float:fR;
    new veh = GetPlayerVehicleID(playerid);
    LastVehicleID[playerid] = GetPlayerVehicleID(playerid);
    LastVehiclePos[playerid] = GetVehiclePos(veh,fX,fY,fZ);
    LastVehicleZAngle[playerid] = GetVehicleZAngle(veh,fR);
    LastVehicleXYF[playerid] = GetXYInFrontOf(fR,fX,fY,5.0);
    Spielerlaeuft[playerid] = 0;
    }


    Ich weiß es hat was mit der 5.0 zu tun, leider weiß icht nicht wie das beheben könnte


    Hörst du mal auf so auffällig zu lügen?
    Du hast bestimmt ein Rank in dem Server oder bist Co-Owner, sagst nur damit der Server gut aussieht.
    Wenn das wirklich so ist.
    0815 _ Server ohne Zukunft..