Beiträge von XonarZ

    new Float:literCount = floatstr(inputtext);

    Danke... klappt schon mal ... Ich habe noch eine Frage:


    Wenn ich als Beispiel: 1.05 eingebe, erkennt er es als 1.04 ... muss ich also den Wert Manuell erhöhen ?


    //EDIT Warum frage ich überhaupt, ich machs einfach ^^ (+0.01)
    //EDIT 2 Funktioniert nur nicht immer ^^ wenn ich nun 1.49 eingebe, kommt 1.50^^ brauche doch hilfe^^


    MfG
    XonarZ

    Warum wird immernur der erste Eintrag in der Datenbank Geladen?

    Mach das mal public mal so:



    //EDIT Seite lädt zu langsam ... statt die "0" ein "i"

    Ich habe nun einen gotocar befehl gemacht und bin wie folgt vorgegangen:


    Ich habe mich zum Auto Teleportiert (hat funktioniert, steht auch da)...
    Bin dann ins Interior rein gegangen und wieder raus ... Autos sind alle weg...


    mache ich gotocar mit der gleichen ID werde ich auch wieder an die gleiche Stelle Teleportiert... Ich habe mir sogar die vID und VirtualWorld ausgeben lassen vom Fahrzeug ... Es ist Virtual 0 und die vID ist halt auch das gleiche...


    Wie gesagt ich werde an die gleiche Stelle Teleportiert aber die Fahrzeuge sind nicht da... Ich hab mich sogar zu einem Fahrzeug geportet, welches im Script festgelegt ist ... Auch Fehlanzeige ...


    MfG
    XonarZ


    @Jeffry / @Kaliber ? :/


    //EDIT Ich konnte das Problem jetzt "beheben" indem ich von 0.3DL runter auf 0.3.7 gegangen bin ... Ich komme sowieso nicht ganz klar wie man so rotierendes Tachosystem macht...

    Nabend liebe Brotfische,


    ich hab da ein kleines Problem...


    Ich habe gerade festgestellt, dass wenn ich in ein Interior gehe und dann wieder raus gehe, dass die Fahrzeuge die vorher (vorm betreten) da standen, nun verschwunden sind.


    Ich habe mir nun nen Befehl gemacht (/getinfo) der mir x,y,z anzeigt sowie virtualworld und interior... Ich hab vorm betreten vw: 0 und interior: 0 (ist logisch bin ja draußen)
    im Interior hab ich dann vw: 1 und interior 6 und wenn ich wieder raus gehe habe ich wieder vw: 0 und interior: 0


    Aber die Fahrzeuge sind nicht da ? Jemand eine Idee ? Ich poste vorsichtshalber mein /enter und /exit^^



    MfG
    XonarZ

    Ich hab auch schon das nächste (wiederkehrende) problem :D



    Code
    if(strcmp(mInfo[vModel][fuelTyp], kraftstoff)){
    				    printf("mInfo: %s, Kraftstoff: %s", mInfo[vModel][fuelTyp], kraftstoff);
    				}else{
    				    printf("mInfo: %s, Kraftstoff: %s NICHT KORREKT", mInfo[vModel][fuelTyp], kraftstoff);
    				}

    Ich versteh das nicht xD...


    Ich möchte kontrollieren ob kraftstoff = mInfo[vModel][fuelTyp] ist wie rum man das macht ist ja eigentlich wurscht oder?


    Als ergebnis kommt allerdings (in der Konsole):


    mInfo: Benzin, Kraftstoff: Benzin NICHT KORREKT


    Warum ? xD es ist doch beides gleich lol ... Hoffe das ist eine kleine Scripting frage, ansonsten mach ich nen Beitrag auf.
    MfG
    XonarZ

    Ja, aber da fehlt die 3.
    Bei deinem strcmp sind die Klammern völlig falsch gesetzt und die if-Abfrage geht ins Leere...


    Machs doch 1:1 so, wie ich den Code gepostet habe, falls das überhaupt Strings sind.


    Falls es sich um Integer handelt, nutze Jeffrys Code ^^

    WoW ich muss noch eine menge lernen *facepalm* alter schwede ... bin ich dumm ... Danke euch beiden @Jeffry & @Kaliber


    Jetzt hab ich noch nen Warning:


    PS: Ja ich habe mein SetPVarInt mit listitem als inhalt ^^ listitem fängt ja bei 0 an^^


    //EDIT



    if(mInfo[vModel][fuelTyp] == Kraftstoff){
    Zu
    if(mInfo[vModel][fuelTyp] == GetPVarInt(playerid, "Kraftstoff")){

    Wird glaube nicht gehen oder? fuelTyp ist kein Integer sondern ein String fuelTyp[16]


    MfG

    Code
    ...selfmade.pwn(584) : error 033: array must be indexed (variable "Kraftstoff")
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.

    Ich stehe ganz schön oft auf dem schlauch -.-

    Kurze frage zum thema switch & case


    Code
    ocmd@2:ahelp, ah(playerid, params[]){
    	switch(pInfo[playerid][pAlevel]){
    	    new string[128];
    	    case 0: SCM(playerid, COLOR_RED, "[FEHLER] {FFFFFF}Du bist kein Teammitglied, daher hast du auch keine Commands :D");
    	    case 1:
    	        format(string, sizeof(string), "%sProbe Supporter: {FFFFFF});
    	        SCM(playerid, COLOR_WHITE, string);
    	}
    }

    Leider wirft das ja errors aus, geht das iwie? oder muss ich mit if(pInfo[playerid][pAlevel] == 1) usw arbeiten ?


    //EDIT mal abgesehen davon, dass ich einmal ein " zeichen vergessen habe^^


    MfG
    XonarZ

    Oh, natürlich, das habe ich übersehen:forward setKiloMeter();public setKiloMeter(){ printf("Call: %d", gettime()); new Float:km; for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || !pInfo[i][pLoggedIn])continue; if(GetPlayerState(i) != PLAYER_STATE_DRIVER) continue; new vID = GetPlayerVehicleID(i); if(!vID) continue; printf("vID: %d, Motor: %d", vID, motor[vID]); if(motor[vID] == 0 || motor[vID] == -1) continue; km = GetVehicleDistanceFromPoint(vID, v_oldPos[vID][0], v_oldPos[vID][1], v_oldPos[vID][2]) * 0.001; if(km > 0) { kmstand[vID] += km; printf("vID: %i, Total: %0.2f, Add: %0.2f, i: %i", vID, kmstand[vID], km, i); setVehicleKM(i, vID); GetVehiclePos(vID, v_oldPos[vID][0], v_oldPos[vID][1], v_oldPos[vID][2]); } } return 1;}


    Ja, das sollte passen

    Also wenn ich mich nicht täusche, und ich es richtig getest habe, dann bist du ein Schatz xD ... Allerdings frage ich mich: Seit wann gibt es die Funktion: "GetVehicleDistanceFromPoint" ? weil wenn man die bei pawno eingibt und dann eine Klammer auf macht, kommt keine Parameter liste^^


    MfG
    XonarZ

    Okay... Also leider hast du nen minimalen Denkfehler ^^ GetKilometers gibt es nicht mehr (include ist ja raus^^)
    beim Compilen:

    Code
    ...selfmade.pwn(922) : error 017: undefined symbol "GetKilometers"
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.


    Mein OnPlayerStateChange sieht nun so aus... ist das so richtig?:


    //EDIT oder ich hab den denkfehler^^

    Ab Total: 2.67 bin ich stehen geblieben und er hat weiter gezählt.


    Ja ich starte den nur bei OnGameModeInit ^^


    MfG
    XonarZ

    Gut erklärt, ich verstehe das Problem, kann es nur am Code nicht wirklich nachvollziehen.
    Kannst du es bitte mal so schreiben:
    forward setKiloMeter();public setKiloMeter(){ for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || !pInfo[i][pLoggedIn])continue; if(GetPlayerState(i) != PLAYER_STATE_DRIVER) continue; new vID = GetPlayerVehicleID(i); if(vID && GetKilometers(vID) > 0) { kmstand[vID] += GetKilometers(vID); printf("%d / vID: %i, Total: %0.2f, Add: %0.2f, i: %i", GetTickCount(), vID, kmstand[vID], GetKilometers(vID), i); setVehicleKM(i, vID); ResetMetersTraveled(vID); } } return 1;}


    Was wird dann im Log geprintet, wenn du obigen Fehlerfall nochmal durchspielst?


    Als ich dann mit "testuser" los gefahren bin, hing der Server komplett erst als ich den Server mit "testuser" verlassen habe, kamen die sachen ab Zeile 85


    MfG
    XonarZ

    Hab ich jetzt so probiert, wie du es vorgeschlagen hast...


    Leider ist es immer noch nicht so ganz... Ich versuchs mal zu Beschreiben xD^^ (vielleicht sollte ich ein Video machen xD)


    Wenn nur 1 Spieler Online ist, dann funktioniert es so wie es soll... Motor an und sobald man fährt, steigt der kmstand.


    Ab 2 Spieler:


    Spieler 1 Sitzt im Auto (Spieler 2 NICHT) und ist paar Meter gefahren (kmstand erhöht sich)
    Spieler 1 & 2 Sitzen jeweils in einem Auto als Fahrer. Der Motor bei Spieler 1 ist aus, fahre ich nun mit Spieler 2 los passiert gar nix. Wenn ich mit Spieler 1 Fahre, dann ist der KMStand auf einmal der, den Spieler 2 haben müsste (also wird kleiner).


    Man ist das kompliziert zu erklären oder / und ich bin einfach zu dumm :D

    Stehen die Werte fest im Code im Array, oder lädst du diese irgendwo extern her?Wenn sie fest drin stehen, dann brauchst du keine Zahl eintragen.


    Hast du eventuell eine Meldung bezüglich stack/heap size im Compiler (oder Warnungen)?

    Naja ich lade die Tankstellen für jeden Spieler unter OnPlayerConnect:


    Code
    new query[1024];
    	mysql_format(handle, query, sizeof(query), "SELECT * FROM tankstellen");
    	mysql_pquery(handle, query, "loadTankstellen", "i", playerid);
    	loadTankstellenIcons(playerid);

    Ich meine durch die 50 im tInfo funktioniert es nun ... Vielleicht gibts aber auch eine andere lösung :D


    MfG
    XonarZ

    Du musst hier sizeof (tInfo) verwenden :)


    #Handy

    Wenn ich das mache, dann bekomm ich beim Compilen ein Warning, ich vermute weil in meiner ersten Klammer beim "new tInfo..." keine Zahl drinne steht ...


    Ich lasse die Informationen aus der MySQL Datenbank in ein Enum speichern ...


    also musst ich bestimmt noch bei tInfo[][ENUMDATA] eine Zahl einfügen: tInfo[50][VEHDATA] oder?


    MfG
    XonarZ

    Danke dir ... aber ich kann nicht versichern, dass die Vehicle ID's gleich bleiben, da ich gerade noch am Anfang bin und vorallem, die KM Stände von Jobcars die ich später Implementiere sollen nicht gespeichert werden ... :whistling: