Beiträge von Traxter

    Ja das gleiche problem hatte ich auch mit meinem carsystem , die fahrzeugidentifikation erflogte durch den usernamen aber beim connecten wurde der einfach nicht geladen.Dann hab ich auf zahlen umgestellt und alles lief perfekt.



    Wenn es wirklich so ist wie du sagst dann erklärt sich damit einiges.Aber vielleicht meldet sich ja mal einer von den 1k+ postern zu Wort^^





    EDIT: Da wird gespeichert.


    pInfo[giveplayer][fraktion] = LEADER_TAXI; dini_Set(save,"fraktion","LEADER_TAXI");}




    Wenn ich jemanden zum leader mache wird es in der pinfo sowie in der dini gespeichert und er kann seine leaderrechte uneingeschränkt nutzen aber nach ein reconnect gehts dann nicht mehr. Ergo wird es wohl so sein das "fraktion" nicht geladen wird.

    Âlso wenn ich das richtig verstanden habe sind Integer Zahlen und worte sind keine Integer^^


    Mal ein kleiner auszug meiner dini


    fraktion=LEADER_LSPOLICE
    Payday=29
    Level=0
    Skin=101
    Geld=2892
    Haftzeit=0
    fischmenge=0



    Mein problem ist also, ich kann zahlen speichern und Laden, worte speichern aber diese nicht laden^^


    Zahlen lädt man mit dini_Int und Worte lädt man normalerweise mit dini_Get wenn ich da richtig informiert bin.Wenn es einer besser weiß bitte melden :(
    Denn das laden von klartex will einfach nicht.........

    So ähnlich hatte ich es auch schon auprobiert und habe sicherheitshalber deins dann auch nochmal 1 zu 1 getestet.



    Zwar kein Error aber funktioniert nicht :(

    Servus, hoffe mir kann bei diesem kleinen problem jemand helfen.
    Es geh um das laden der daten im login script.




    pInfo[playerid][fraktion] =dini_Get(save, "fraktion");



    error 006: must be assigned to an array
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    1 Error.



    Mit dini_Int geht würde es gehen aber da die fraktion als klartext gespeichert wird kann ich es ja nicht als Integer laden sondern muss es mit Get laden oder ? Weil wie man sieht bekomme ich mit Get einen Error :/ Oder habe ich da was falsch verstanden ?



    MfG


    Traxter

    Nachdem ich gestern das mit dem Tuning speichern hinbekommen habe, suche ich imo nach einer möglichkeit die Lackierung auch zu speichern denn leider gibt es ja nur ChangeVehiclePaintjob.Wie aber kann ich den paintjob abfragen ? Habe schon die sufu benutzt und das dt carsystem studiert aber iwie bin ich daraus nicht schlau geworden.



    Wäre sehr dankbar wenn mir da jemand weiterhelfen könnte :?:



    MfG


    Traxter

    Achso ne das laden der componenten habe ich noch nicht eingebaut aber das ist ja das kleinste problem, habe einfach erstmal die speicherfunktion eingebaut - dann in die werkstatt gefahren, das fahrzeug komplett getuned und dann geschaut was in der ini gespeichert wird.



    Aber dort sind dann nur diese 3 ID´s gespeichert worden wie man sieht.

    Habe mich jetzt noch nicht so intensiv mit dem speichern von tuning componenten beschäftigt aber so nebenbei gerade mal einen versuch gestartet.Das mit den slots verstehe ich noch nicht so ganz, vielleicht kann mir das ja jemand verständlich machen :)





    public OnVehicleMod(playerid,vehicleid,componentid)
    {
    new curcar = pInfo[playerid][carid];
    if(IsPlayerInVehicle(playerid,curcar))
    {
    pInfo[playerid][comp1] = GetVehicleComponentInSlot(pInfo[playerid][carid],1);
    pInfo[playerid][comp2] = GetVehicleComponentInSlot(pInfo[playerid][carid],2);
    pInfo[playerid][comp3] = GetVehicleComponentInSlot(pInfo[playerid][carid],3);
    pInfo[playerid][comp4] = GetVehicleComponentInSlot(pInfo[playerid][carid],4);
    pInfo[playerid][comp5] = GetVehicleComponentInSlot(pInfo[playerid][carid],5);
    pInfo[playerid][comp6] = GetVehicleComponentInSlot(pInfo[playerid][carid],6);
    pInfo[playerid][comp7] = GetVehicleComponentInSlot(pInfo[playerid][carid],7);
    pInfo[playerid][comp8] = GetVehicleComponentInSlot(pInfo[playerid][carid],8);
    pInfo[playerid][comp9] = GetVehicleComponentInSlot(pInfo[playerid][carid],9);
    pInfo[playerid][comp10] = GetVehicleComponentInSlot(pInfo[playerid][carid],10);
    dini_IntSet(save,"comp1",pInfo[playerid][comp1]);
    dini_IntSet(save,"comp2",pInfo[playerid][comp2]);
    dini_IntSet(save,"comp3",pInfo[playerid][comp3]);
    dini_IntSet(save,"comp4",pInfo[playerid][comp4]);
    dini_IntSet(save,"comp5",pInfo[playerid][comp5]);
    dini_IntSet(save,"comp6",pInfo[playerid][comp6]);
    dini_IntSet(save,"comp7",pInfo[playerid][comp7]);
    dini_IntSet(save,"comp8",pInfo[playerid][comp8]);
    dini_IntSet(save,"comp9",pInfo[playerid][comp9]);
    dini_IntSet(save,"comp10",pInfo[playerid][comp10]);
    }
    return 1;
    }


    Ini Ergebnis


    comp1=0
    comp2=1088
    comp3=1090
    comp4=0
    comp5=1166
    comp6=0
    comp7=0
    comp8=0
    comp9=0
    comp10=0




    Warum bleiben da soviele Slots frei wenn ich das car komplett getuned habe ?



    Danke schonmal im vorraus.



    MfG


    Traxter

    So, das mit dem neuen pawno hatte ich auch schon rausgefunden - hatte erst nicht daran gedacht das es ja immer beim server clienten dabei is.Das problem wäre also schon mal gelöst.



    Aber ich verstehe nicht warum das Playerfahrzeug nicht abgeschlossen wird wenn das Fahrzeug beim connect geladen wird und ein timer es direkt abschliesst.Ist es richtig das Fahrzeuge nun ähnlich wie objeckte bei einem object streamer - gestreamt werden ? Und bei jedem streamin muss es neu abgeschlossen werden ? Oder wie darf man dieses callback verstehen ? Mein problem is glaube ich imo nur wie ich mit diesem callback umgehen soll....................



    EDIT:


    Ich werde mal etwas konkreter: Das hat unter 0.2 einwandfrei funktioniert und jetzt nicht mehr.
    Das Fahrzeug wird mittels OnPlayerConnect erstellt und sollte eigentlich abgeschlossen werden, passiert aber nicht.



    if(pInfo[playerid][car] == 1)
    {
    new newcar = CreateVehicle(pInfo[playerid][vehmod],pInfo[playerid][vehx],pInfo[playerid][vehy],pInfo[playerid][vehz],pInfo[playerid][veha],75,1,-1);
    pInfo[playerid][carid] = newcar; dini_IntSet(save,"carid",pInfo[playerid][carid]);
    pInfo[playerid][locked] = 1; dini_IntSet(save,"locked",pInfo[playerid][locked]);
    SetTimer("lock",1000,0);
    }}



    //------------------------------lock--------------------------------------------
    public lock(playerid)
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    SetVehicleParamsForPlayer(pInfo[i][carid],i,0,1);
    }
    return 1;
    }

    Guten Abend zusammen :)



    Ich habe ich ein bekanntes problem. Und zwar das schliessen der fahrzeuge unter 0.3. Bei mir ist es so das jedes usercar aus den user inidaten erstellt und zeitgleich die carid des fahrzeuges in der ini gespeichert wird. Dann kommt ein timer der nach 1000ms verzögerung die carid aus der ini abruft und die türen schliesst. Beim kauf oder abschleppen eines fahrzeuges ist es die selbe methode aber beides funktioniert nicht mehr.Ebenso wenn ein fahrzeug zerstört wird, spawnt es wieder mit offenen türen.



    Ich hab zwar etwas von OnVehicleStreamIn gehört aber was genau muss ich bei diesem callback dann anwenden ? Einfach stupide playerparams setzen ginge ja nicht da dann alle fahrzeuge auf dem server geschlossen würden sobald sie spawnen, oder ?. Vielleicht kann mir da ja jemand einen tip geben :)



    Unter 0.2 funktionierte mein car bzw in dem fall das lock system reibungslos aber nun leider nicht mehr :/




    MfG


    Traxter




    EDIT:


    Alternativ wäre es auch gut zu wissen wo ich das neue pawno bzw die neuen pawno includes herbekomme. Wäre sehr dankbar wenn mir das jemand verraten würde :)

    Ah ok......das klingt logisch.



    Werde es mal ausprobieren.


    EDIT:-------------------------------



    Ok hat funktioniert, habe jetzt fürs lock noch einen timer erstellt der die schleife erst 1 sek danach startet damit die vehicleparams gesetzt werden.


    Vielen Dank :thumbup:

    Doch die wird hier benutzt, ich werde natürlich die schleife nochmal rausnehmen und testen was dann ist aber vielleicht sieht ja so schon jemand wo der Fehler steckt.



    SetVehicleParamsForPlayer(pInfo[playerid][carowner],i,0,1);


    Servus,


    In meinem Bikeshop hat sich ein fehler eingeschlichen den ich eben erst bemerkt habe da ich an etwas anderem gearbeitet habe und der shop eigentlich problemlos funktionierte.


    Und zwar werden jetzt plötzlich immer genausoviele bikes von dem ausgewählten erstellt wie der spieler Geld hat. Wenn man zb eine Sanchez für 3178 $ kauft und 32k auf der hand hat , werden 10 Stück davon erstellt. Eben habe ich mir spasseshalber mal 1 Million gegeben woraufhin das spiel natürlich abgestürzt ist :D



    Kannn jemand den Fehler hier zufälig erkennen ?



    public OnPlayerSelectedMenuRow(playerid, row)
    {
    new Menu:CurrentMenu = GetPlayerMenu(playerid);
    if(CurrentMenu == bikeshop)
    {
    switch(row)
    {
    case 0: //Sanchez
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerMoney(playerid) >= 3178 )
    {
    HideMenuForPlayer(bikeshop,playerid);
    pInfo[playerid][carowner] = CreateVehicle(468,570.8260,-1300.2391,16.8252,15.6507,75,1,-1);
    PutPlayerInVehicle(playerid, pInfo[playerid][carowner], 0);
    SetVehicleParamsForPlayer(pInfo[playerid][carowner],i,0,1);
    pInfo[playerid][locked] = 1; dini_IntSet(save,"locked",1);
    GivePlayerMoney(playerid,-3178);
    pInfo[playerid][kaufpreis] = 3178; dini_IntSet(save,"kaufpreis",3178);
    SetTimer("bikesave",1000,0);
    }}}
    case 1: //FCR-900
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerMoney(playerid) >= 4888 )
    {
    HideMenuForPlayer(bikeshop,playerid);
    pInfo[playerid][carowner] = CreateVehicle(521,570.8260,-1300.2391,16.8252,15.6507,75,1,-1); //
    PutPlayerInVehicle(playerid, pInfo[playerid][carowner], 0);
    SetVehicleParamsForPlayer(pInfo[playerid][carowner],i,0,1);
    pInfo[playerid][locked] = 1; dini_IntSet(save,"locked",1);
    GivePlayerMoney(playerid,-4888);
    pInfo[playerid][kaufpreis] = 4888; dini_IntSet(save,"kaufpreis",4888);
    SetTimer("bikesave",1000,0);
    }}}
    case 2: //PCJ-600
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerMoney(playerid) >= 6679 )
    {
    HideMenuForPlayer(bikeshop,playerid);
    pInfo[playerid][carowner] = CreateVehicle(461,570.8260,-1300.2391,16.8252,15.6507,75,1,-1); //
    PutPlayerInVehicle(playerid, pInfo[playerid][carowner], 0);
    SetVehicleParamsForPlayer(pInfo[playerid][carowner],i,0,1);
    pInfo[playerid][locked] = 1; dini_IntSet(save,"locked",1);
    GivePlayerMoney(playerid,-6679);
    pInfo[playerid][kaufpreis] = 6679; dini_IntSet(save,"kaufpreis",6679);
    SetTimer("bikesave",1000,0);
    }}}
    case 3: //Wayfarer
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerMoney(playerid) >= 9999 )
    {
    HideMenuForPlayer(bikeshop,playerid);
    pInfo[playerid][carowner] = CreateVehicle(586,570.8260,-1300.2391,16.8252,15.6507,75,1,-1); //
    PutPlayerInVehicle(playerid, pInfo[playerid][carowner], 0);
    SetVehicleParamsForPlayer(pInfo[playerid][carowner],i,0,1);
    pInfo[playerid][locked] = 1; dini_IntSet(save,"locked",1);
    GivePlayerMoney(playerid,-9999);
    pInfo[playerid][kaufpreis] = 9999; dini_IntSet(save,"kaufpreis",9999);
    SetTimer("bikesave",1000,0);
    }}}
    case 4: //NRG-500
    {
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerMoney(playerid) >= 14689 )
    {
    HideMenuForPlayer(bikeshop,playerid);
    pInfo[playerid][carowner] = CreateVehicle(522,570.8260,-1300.2391,16.8252,15.6507,75,1,-1); //
    PutPlayerInVehicle(playerid, pInfo[playerid][carowner], 0);
    SetVehicleParamsForPlayer(pInfo[playerid][carowner],i,0,1);
    pInfo[playerid][locked] = 1; dini_IntSet(save,"locked",1);
    GivePlayerMoney(playerid,-14689);
    pInfo[playerid][kaufpreis] = 14689; dini_IntSet(save,"kaufpreis",14689);
    SetTimer("bikesave",1000,0);
    }}}
    case 5: //Verlassen
    {
    HideMenuForPlayer(bikeshop,playerid);
    }}}



    MfG


    Traxter

    Die stehen da und Punkte auf der Karte werden ebenfalls angezeigt falls du mich meintest. Falls nicht, bei ihm kann man ja sehen das sie dort stehen, sitzt doch einer drin wie man an dem orangenen namen erkennen kann :)




    Demnach müsste das derby interior ja über sf liegen und beim spawnen fallen sie offensichtlich bis nach sf durch^^ Ich würde es mal mit SetVehicleVirtualWorld versuchen.........kann nicht schaden.