Beiträge von IPrototypeI

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    Deine erste abfrage ist totaler mist.



    if(dialogid==63)
    {
    if(response)
    {
    if(inputtext[0])return PlayAudioStreamForPlayer(playerid,inputtext);
    }
    }


    da zum einen der zweite funktionsparameter ein string ist und kein integer um zusätzlich noch abzufragen ob die eingabe nicht leer ist kannst du den ersten index abfragen ob dieser einen anderen wert als 0 hat da 0 = false zurück gibt und 1 und höher true.


    Beim zweiten Problem redest du von Race Checkpoints erstellst du deine checkpoints auch mit SetPlayerRaceCheckpoint
    http://wiki.sa-mp.com/wiki/SetPlayerRaceCheckpoint


    und nicht SetPlayerCheckpoint

    Vielleicht ist die Anzahl der CreatDynamicObjects schon überlasstet.
    Änder mal alles auf CreateObject!


    Anscheinend ist dir die Funktion eines streamers nicht bewusst lass mich dir mal kurz erklären wie ein streamer funktioniert:


    In samp sind maximal 1000 Objekte bis jetzt möglich es gibts natürlich workarounds die es möglich machen mehr Objekte zu erstellen jedoch wird das ganze für dne client instabil, die folge er crasht.
    Nun kommen wir mal zu dem Slotprinzip hinter den Objekten , jeder spieler verfügt 1000 Slots für Objekte , wovon ein slot durch das erstellen eines Objektes besetzt wird. Sind somit die 1000
    Slots voll können keine Objekte mehr für den Spieler erstellt werden. Nun kommen wir auf den unterschied zwischen CreatePlayerObject und CreateObject zu sprechen.
    CreatePlayerObject ist clientseitig somit für das Objekt jeweils nur für den Spieler erstellt damit arbeiten auch die streamer, da diese einfach überprüfen ob Objekte in der nähe vom Spieler sind
    erstellen diese falls, welche vorhanden sind und löschen diese wenn der Spieler weit genug entfernt ist beim streamerplugin ist es eine distanz von 300.0 Längenheiten.
    Erstellst du nun ein Objekt mit CreateObject wird es Serverseitig erstellt und somit wird für jeden Spieler 1 Slot belegt ob dieser in der nähe ist oder nicht.


    Fazit: mit CreateObject kannst du nur maximal 1000 Objekte erstellen und mit CreatePlayerObject deutlich mehr (jedoch sind auch hier nur 1000 Objekte im umkreis des Spielers möglich).
    Das Problem hier ist das hier zu viele Objekte via CreateObject erstellt werden daher diese noch zu CreateDynamicObject ändern danach sollte alles funktionieren.


    Ps: Ja das Streamerplugin arbeitet wie jeder streamer bis auf den streamer von Kaliber(was auch bullshit ist) mit CreatePlayerObject

    ein mainmenu wird normal mit einer Liste gemacht um das beispiel von [SponsEu] Black anzupassen:


    Für 3 Menupunkte


    Code
    <div id ="menu" >
    	<ul>
    		<li><a href="#"> Beispiel1 </a></li>
    		<li><a href="#"> Beispiel1 </a></li>
    		<li><a href="#"> Beispiel1 </a></li>
    	</ul>
    </div>



    css code

    Code
    #menu > ul > li {
       display: inline-block; 
    }
    #menu ul {
    	list-style: none outside none;
    }


    Code
    #menu li {
        padding: ...;
    }


    kannst du den abstand von listitem einstellen.

    Wenn ich mir die opcodes anschaue gibt es kein unterschied was darauf verweißt


    main()
    {
    for(new i; i != 10; ++i){ }
    }




    main()
    {
    for(new i; i != sizeof(ar); ++i){ }
    }


    Nehme doch einfach die distanz teile diese durch 100000
    => 100000 => 100 kilometer


    danach multiplizierst du die strecke mit 18.7 der verbrauch.


    beispiel mit 10 kilometer
    printf("%f",0,05116/100000*18.7);


    diesen code musst auch innerhalb des timers haben da 0,05116 die ermittelte distanz sein sollte welche du über
    GetDistanceFromPointToPoint zurück bekommst

    Ok danke dir, hatte auch bereits eine Lösung im Englischen Forum gefunden.
    Falls es wen interessiert:


    Nur das der Typ wohl das falsche meint
    0.3x pawno compiler Es gibt eine neuere Version von Pawno, dieser wird jedoch nicht genutzt es ist und bleibt die 1.0
    Version, ebenso die damit verbundenen anwendungen wie die pawncc.exe ist die selbe. Es ändert sich nur je nach Version falls neue
    funktionen hinzukommen die includes da neue natives, parameter, defines hinzugefügt werden.

    Das einzige was du dazu addierst ist die zurück gelegte Entfernung , was du auch machen könntest um das realistischer umzusetzen ist die Strecke für 1 meter in samp umzurechnen das könntest du anhand der golden gate bridge machen.


    _d += GetDistanceFromPointToPoint(OldPos[playerid][0],OldPos[playerid][1],OldPos[playerid][2],_x,_y,_z);


    um das natürlich umzurechnen in kilometer kannst du es ja durch 1000 teilen



    Beispiel:

    printf("%06.3f Kilometer",_d/1000);


    .3f ist ein formatierter platzhalter sodass 3 kommastellen angezeigt werden und 6 werte vor dem Komma reserviert sind
    so wird 10.123 als
    000010.123 angezeigt

    Wie kann ich diesen beheben? Auf einem Blanc Script passt alles.
    Mein Aktuelles Script habe ich halt komplett geupdatet, damit alles auf 0.3z abgestimmt ist,
    dennoch will der public nicht so richtig :S


    Dein Pawno bezieht die Includes aus dem falschen ordner. Daher starte Pawno von dem Ordner aus von mit den aktuellsten includes und öffne danach ein skript.
    Weil in der a_samp.inc ist der zusätzliche parameter enthalten

    Das ganze würde ich aufbauen wie ein Slotsystem.
    Mit dem erhöhen einer variabel liegst du ganz richtig einfach beim auslesen den wert für den index erhöhen.


    Falls ein haus neu hinzugefügt wird kannst du zum beispiel durch die slots durchgehen und überprüfen ob dieser frei ist zum beispiel ob H_id 0 ist falls du ab 1 startest.
    sollte das sein so fühlst du diesen Slot mit werte.

    Ich frag mich was daran so kompliziert wäre einfach den datentyp einer tabelle auf date oder timestamp zu stellen und das ganze via mysql zu machen. Du möchtest eventuell einen wert setzen in der tabelle ob der spieler online oder offline ist, was du jedoch momentan noch nicht machst.


    new query[128];
    format(query, 128, "UPDATE accounts SET `LastOnline` = NOW() WHERE name='%s'", SpielerName(playerid));
    mysql_query(query);








    @Slash™
    mysql_retrieve_row();
    wird dazu genutzt um zum nächsten datensatz zu springen, falls man mehrer werte auslesen möchte, daher hat es die selbe funktion wie
    mysql_fetch_row oder mysql_fetch_row_format außer das bei dieser funktion der datensatz nicht als string ausgelesen wird.

    Du solltest noch abgleichen ob es das fahrzeug ist in dem du sitzt in deiner for-schleife.
    hier wird ja abgeprüft ob es dein Fahrzeug ist


    if(!IsPrivateCar(parkID))return SendClientMessage(playerid,COLOR_RED,"You can only use this command in your own vehicle.");


    Hier wäre es vllt nicht schlecht wenn du über diese funktion direkt die slotid des fahrzeuges in dem array
    cInfo zurück geben würdest aber ob du das machst ist deine sache.



    Wie bereits erwähnt fehlt lediglich die abfrage in der for-schleife ob es das fahrzeug ist in dem du sitzt.
    for(new i=0; i<sizeof(cInfo); i++) {
    if(cInfo[i][id_x] != parkID)continue;