Beiträge von Traxter

    Guten Abend liebe Brotler :)


    Ich hab gestern endlich mein carsystem fertiggestellt (kaufen,verkaufen,parken etc) Das einzige was mir jetzt noch fehlt ist eine möglichkeit Fahrzeuge abzuschliessen und das bringt mich ins grübeln. Wie genau muss ich das anstellen ? Muss dafür eine zusätzliche datei vom script erstellt werden in dem steht welche fahrzeuge abgeschlossen sind welche dann beim einsteigen in ein fahrzeug abgefragt wird oder wie mache ich es das man als user dem fahrzeug einen "status" zuteilt damit niemand mehr einsteigen kann ?



    Ich erwarte jetzt zwar nicht das jemand mir das haarklein erklärt aber so kleine anregungen wären ganz nett oder verweise auf forumsseiten die diesbezüglich lehrreich sind.Über die sufu findet man ja leider auch teilweise viel irrleitendes Material.



    MfG


    Traxter

    Farbe ??? >>>> Tuning ftw !

    --------------------------------
    Edit:


    So problem gelöst !


    new tmpname[MAX_PLAYER_NAME], gettmp[80];
    GetPlayerName(i, tmpname, sizeof(tmpname));
    format(gettmp, sizeof(gettmp), "%s", tmpname );
    dini_Set(save,"carowner",gettmp);



    Jetzt wird der Name in der Ini gespeichert, allerdings ohne das der String vorher an die pInfo übergeben wird - wenn ich das mache werden jedesmal nur irgendwelche hyroglyphen abgespeichert. Daher habe ich den string direkt gespeichert ohne ihn vorher an die pInfo zu übergeben ! Sehr mysteriös.......



    Vor allem so umständlich, man erstellt einen string um ihn in einen weiteren String zu wandeln und ihn dann abzuspeichern :thumbdown:
    Von y_less gibts ne feine sache "ReturnUser(playerid)" und schon hat man den Usernamen aber als ich die uf.inc eingebunden habe die dazu nötig war gabs 1000 Warnings und Errors 8|



    CLOSED 8)

    timmt, dini_Set muss es heissen aber Name wird immernoch nicht gespeichert.....


    carowner=
    vehmod=522
    vehx=537.063476
    vehy=-1315.179321
    vehz=16.808099
    veha=1.884899


    Jetzt schauts so aus....

    Neue Frage:) Hoffe diesmal kann mir jemand helfen :)


    Ich möchte das in der player ini der name des Spielers gespeichert wird aber hierbei wird irgendwie immer nur die länge des Spielernames als Integer gespeichert.
    Was mache ich hier falsch ?(


    new tmpname[20];
    pInfo[i][carowner] = GetPlayerName(i,tmpname,sizeof(tmpname));
    dini_IntSet(save,"carowner",pInfo[i][carowner]);



    Normal bräuchte ich tmpname nicht aber nur GetPlayerName(i); ist ja nicht möglich.............



    MfG


    Traxter

    Ich würde mal sagen das liegt an den distanzeinstellungen.Wenn man sich auf der map mit normaler Geschwindigkeit bewegt werden die objekte ja je nachdem wie der radius eingestellt ist nach und nach geladen, aber wenn man sich direkt in den radius hineinportet muss mit einem schlag die ganze umgebung geladen werden.Das gilt wohl für gestreamte objekte genauso wie für die standard sa mapopjekte.


    Und Rechner bzw die leistung der Grafikkarte spielt da sicher auch noch eine Rolle.




    Ich benutze einsteins objektstreamer und habe da keine probleme, wobei ich denke das es nichts mit dem streamer zu tun hat sondern an sa bzw samp selbst liegt.

    Hallo erstmal :


    Also jeder User hat parallel zur user ini eine car ini in der die jeweiligen vehicle daten gespeichert werden.Beim Autokauf läuft es wie geschmiert, daten werden gespeichert.Aber beim connecten wird das car einfach nicht erstellt, habe kein ahhnung woran es liegen könnte da eigentlich alles soweit richtig ist


    Bin echt schon am verzweifeln und für jede Hilfe dankbar.....


    EDIT:
    Habe es jetzt so versucht, zwar keine Fehler im Code aber car wird nicht geladen ?(



    new ownername[20], ininame[80];
    GetPlayerName(playerid, ownername, sizeof(ownername));
    format(ininame, sizeof(ininame), "Spielerautos/%s.ini", ownername );
    if(!dini_Exists(ininame))
    {
    new modid, Float:X, Float:Y, Float:Z, Float:ZA;
    modid = dini_Int(ininame,"modid");
    X = dini_Float(ininame,"F_Xaxe");
    Y = dini_Float(ininame,"F_Yaxe");
    Z = dini_Float(ininame,"F_Zaxe");
    ZA = dini_Float(ininame,"F_Zangle");
    CreateVehicle(modid, X, Y, Z ,ZA, 85, 85, -1);
    return 1;
    }



    EDIT:
    Versuch Nr.2
    Ebenfalls keine Fehler aber dennoch wird kein car erstellt :( Hoffe jemand kann mir da weiterhelfen...............



    new modid;
    new Float:X;
    new Float:Y;
    new Float:Z;
    new Float:ZA;
    new ininame[128];
    new ownername[MAX_PLAYER_NAME];
    format(ininame,sizeof(ininame),"Spielerautos/%s.ini",ownername);
    modid = dini_Int(ininame, "modid");
    X = dini_Float(ininame, "F_Xaxe");
    Y = dini_Float(ininame, "F_Yaxe");
    Z = dini_Float(ininame, "F_Zaxe");
    ZA = dini_Float(ininame, "F_Zangle");
    CreateVehicle(modid, X, Y, Z, ZA, 0, 1, 60);




    MfG Traxter

    Auf so eine Antwort habe ich gewartet auch wenn ich dafür mein system jetzt etwas umändern muss.Der übersicht wegen hatte ich es ja so gemacht das zusätzlich zu user.ini noch eine usercar.ini für den jeweiligen user erstellt wird die eben auch den usernamen trägt in der nur die vehicle daten stehen - beim autokauf sollte dann überprüft werden ob bereits eine usercar.ini des spieler existiert und wenn das der fall ist eben kein autokauf mehr möglich sein. Beim autoverkauf sollte dann die usercar.ini in den neuen besitzer umbenannt werden oder halt beim verkauf im autohaus die ini gelösch werden sodass keine ini des verkäufers mehr existiert und somit ein neuer kauf möglich ist.So hatte ich mir das im Kopf etwas zurechtgelegt :)



    Aber der Tip von Fischer ist super, werd ich gleich mal ausprobieren denn damit gehts genausogut und das car ist an den user gebunden :)


    Edit:


    Korn - Da ich enum/PInfo habe auch sehr hilfreich / danke :)

    Jap genau, aus dem Grund die ini - kommt der User wieder on wird das Fahrzeug anhand der vorhandenen Daten in der ini wieder "erstellt".



    Aber mich würde interessieren wie man dam Script grundsätzlich sagt welches Fahrzeug wem gehört.Wenn ich das weiß kann ich mir alles andere sicher selbst logisch ableiten, daher sprach ich von einem denkanstoss :)

    Nabend zusammen,


    Ich habe schon die ganze letzte Nacht an einem eigenen Carsystem gearbeitet. Ich bin jetzt soweit das der User ein Fahrzeug kaufen kann und daraufhin eine ini mit dem Spielernamen angelegt wird in dem dann alle Fahrzeugdaten des gekauften Fahrzeuges gespeichert werden (carpos,zangle,carid,modid,tankstatus,vehiclehealth)


    Als nächstes werde ich mich an das spawnen des fahrzeuges machen sobald der User on kommt was aber eigentlich kein problem sein sollte.



    Mein problem liegt nun darin das Fahrzeug an den User zu binden und da bräuchte ich einen kleinen denkanstoss ?( Denn wenn das Fahrzeug nach dem connecten spawnt ist ja jedesmal die carid anders, zusätzlich soll das Fahrzeug auch off gehen wenn der User off geht - daher muss ich es ja irgendwie an ihn "binden".



    Wäre nett wenn jemand vielleicht ein paar brauchbare Tipps für mich hätte.



    MfG



    Traxter

    Die letzte Frage in diesem Thread ist zwar schon uralt aber so brauch ich nicht exra einen Thread aufmachen und vielleicht wird diese Frage ja beantwortet.Das gleiche problem habe ich auch, bei mir funktionieren alle ein und ausgänge - nur einer nicht obwohl alles in ordnung ist.



    Ich geh in den 24/7 rein und wieder raus - dann gehe ich nochmal rein und plötzlich ist der ausgang weg.



    Hatte jemand schonmal dieses problem und/oder weiß Rat ?



    EDIT:


    Mein problem ist identisch mit dem hier:


    Teleport Eingänge #Icon Verschwunden?!?



    Da es offensichtlich an den innenräumen selbst liegt und auch noch viele andere diese problem gehabt haben müssten weiß doch sicher mittlerweile jemand eine Lösung ?




    MfG


    Traxter

    Jop das mein ich, wenns aber bei deinem Kumpel lief und du die amx datei unverändert in deinen gamemode ordner vom server clienten gepackt hast müsste es ja eigentlich gehen. Kann man jetzt ohne den code zu sehen schlecht sagen was da falsch is. An dem Server clienten wirds wohl kaum liegen.......


    Aber du sagtest du hättest selbst was mit reingepackt, funktionieren nur die objekte nicht die du nachträglich reingepackt hast oder auch welche die schon drin waren ?

    Wieviele Objekte haste du denn Schätzungsweise in deinem GM ? Vielleicht sind es schon zuviele, wenn das der Fall ist brächtest du einen Object Streamer.Aber bevor man das in Betracht ziehen kann beantworte am besten erstmal die Frage^^



    Achja......Hast du alles unter OnGameModeInit ?

    Genau, verschachteln wollte ich aber ohne bei jeder if anweisung angeben zu müssen was er machen soll.Aber das scheint so wie ich es mir gedacht habe nicht zu gehen,also werd ich so machen wie man es machen soll :D



    EDIT:


    Habs hinbekommen, einfach alle Koords als IsAtFishplace bei den publics gebunden udn bei der If abfrage folglicherweise If is @ blablub.


    Funktioniert einwandfrei.



    thx @ all

    du brauchst für jedes {auch ein } ;)


    Das weiß ich auch ;)


    Hatte aber gehofft das man einfach ganz viele aufmachen und ganz am ende zumachen um zu signalisieren das alles zusammen gehört.Aber das geht wohl nicht...



    Denn ich finde es sehr iritierend das man jedes else if zumachen soll weil ein return die funktion doch sozusagen schliesst.





    aber da ich jetzt ers sehe dass du die ans ende gesetzt hast :
    Du musst hinter jedem if auch stehen haben, was er machen soll, wenn diese bedingung erfüllt wird ^^ oder einfacher du definierst die orte als IsAtAngel oder so dann ist das nen bissel überschaubarer als hinter jedem else if zu schreiben was er machen muss ;)


    Ja genau, nach jedem else solle normal stehen was passieren soll,genauso kenn ichs ja auch^^.Habe aber versucht das zu umgehen indem ich ganz oft mit
    { aufgemacht und erst ganz am ende alle zugemacht habe.Dann mach ichs jetzt einfach mit IsAt blablabla udn fasse alle zusammen.Mal schauen obs so besser geht.

    Nabend zusammen,


    Und zwar habe ich ein kleines problem mit meinem fischscript, das gleiche probleme bei playertopoint hatte ich schon öfters bei anderen dingen weshalb ich mich immer auf 2 beschränkt habe da man in eine if abfrage ja 2 koords nebeneinander packen kann aber was mache ich wenn ich mehrere brauche wie in meinem bespiel ? :)


    Bekomme massig errors und fehlermeldungen die sich durchs ganze script ziehen sobald ich mehrere koords mit else if benutze. Was mache ich hier falsch ?



    if(!strcmp(strget(cmdtext, 8), "/angeln"))
    {
    if(PlayerToPoint(1.0,playerid,403.8672,-2088.7969,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,398.7162,-2088.7979,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,396.1608,-2088.7981,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,391.0623,-2088.7983,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,383.4910,-2088.7983,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,375.0091,-2088.7983,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,369.8763,-2088.7983,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,367.3260,-2088.7983,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,362.1486,-2088.7983,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,354.5433,-2088.7981,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,349.9588,-2072.4565,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,349.9336,-2067.3796,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,349.9225,-2064.8132,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,349.8976,-2059.6997,7.8359))
    {
    else if (PlayerToPoint(1.0,playerid,349.8628,-2052.1328,7.8359))
    {
    new kg = random(100) + 1;
    new fishmessage[50];
    pInfo[playerid][gefischt] +=1;
    dini_IntSet(save,"gefischt",pInfo[playerid][gefischt]);
    pInfo[playerid][fischmenge] +=kg ;
    dini_IntSet(save,"fischmenge",pInfo[playerid][fischmenge]);
    format(fishmessage, sizeof(fishmessage), "Du hast einen %d kg schweren Fisch geangelt.", kg );
    SendClientMessageToAll(COLOR_HELLBLAU, fishmessage);
    }}}}}}}}}}}}}}}
    return 1;
    }



    Danke schonmal im vorraus.



    MfG


    Traxer

    Wie du sagtest alles GF, das alles zu analysieren wäre zuviel arbeit für einen non GF´ler da ich selbst kein GF scripte.



    Müsste mal ein GF experte seinen Senf dazu geben.............der blickt da schneller durch.