Beiträge von Dudalus

    Wenn jemand die Zeit hat, die Koordinaten des Strassennetztes zu finden und einen schnellen Wegfindungsalgorithmus schreibt, sollte dies möglich sein (Siehe Link oben mit Youtube Video auf Stackoverflow, das scheint aber zu langsam zu sein).


    Edit:


    Externer Inhalt
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    [media]

    Hallo


    Ich würde aus der Spielervariable einen Boolean machen. Dann sähe es so aus (Habe es ein wenig abgeändert). Andere Spieler bekommen die Nachricht nur, wenn auch ihr Umgebungschat an ist.



    new bool:uc[MAX_PLAYERS]; // variable is oben im script


    public OnPlayerText(playerid, text[])
    {
    if(uc[playerid]) // 1
    {
    new string[128]; // Die Messagebox in SA-MP kann maximal 128 Zeichen darstellen
    new Float:pos[3]; // Floatarray
    GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
    for(new i = 0; i <MAX_PLAYERS; i++)
    {
    if(IsPlayerInRangeOfPoint(i, 25.0, pos[0], pos[1], pos[2]))
    {
    format(string,sizeof string,"(( [UC]: %s: %s {FFFFFF}))",SpielerName(playerid),text1);
    SendClientMessage(i,weiss,string);
    }
    }
    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp("/uc", cmdtext, true, 10) ==0)
    {
    if(!uc[playerid]) // Anmachen
    {
    uc[playerid] = true;
    SendClientMessage(playerid,gelb,"Du hast den Umgebungschat eingeschaltet");
    }
    else
    {
    uc[playerid] = false;
    SendClientMessage(playerid,gelb,"Du hast den Umgebungschat ausgeschaltet");
    }
    }
    return 1;
    }


    Gruss

    Hallo


    Ich habe die Tage etwas auf Stackoverflow zum Thema GPS System gesehen, was man umbauen könnte, sprich das Fahrzeug wird rumgeportet. Werde dir gleich den Link raussuchen.


    Gruss


    Edit:
    Also das Ganze stammt von nem Thema zur Wegberechnung auf stackoverflow.com. Seine Funktion war für einen SA-MP Server geplant. Man könnte diese Funktion aber nun auch umbauen (sofern man die Erlaubnis hat/hätte - keine Ahnung):


    Hier mal der Link: http://stackoverflow.com/quest…-algorithm-for-gps-system


    Der Code ist auf Googleprojects. Die Frage ist nur, ob der Algorithmus nicht zu langsam ist

    Hallo


    Spieler ist ja ein String, welcher den Pfad (Inklusive Dateinamen des Spielers) darstellt. Stimmt dieser (sprich ist die Datei vorhanden und Geld als Tag auch) und hast Du wirklich Geld/Bares auf der Hand ?

    Nein, Du verstehst mich falsch. Nur print(f)'s an gewissen Stellen, um zu sehen, ob und wenn ja es in OnPlayerStateChange abschmiert, sprich als Eingrenzung.


    Edit: Den Expander habe ich nicht gesehen - sorry

    Hau mal ein paar printf (ASSERT gibts ja nicht ;( ) in das Callback und versuch den Fehler zu reproduzieren. Du kannst auch mal das Callback posten

    Hallo


    Du hast falsch eingerückt, der zweite DialogID Vergleich war im !response. Zum Thema response. Du kannst das durch ein if(response) {} else {} ersetzen. Nimm mal das und sag obs geht:



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid==DIALOG_DS)
    {
    if(response==1)
    {
    DMLER[playerid] = 0;
    new Text3D:DM = Create3DTextLabel("DM'ler!", 0xFF2800FF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(DM, playerid, 0.0, 0.0, 0.7);
    else
    {
    STUNTLER[playerid] = 1;
    new Text3D:Stunt = Create3DTextLabel("Stunt'ler!", BLAU, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(Stunt, playerid, 0.0, 0.0, 0.7);
    }
    }
    if(dialogid==DIALOG_TELE)
    {
    if(response==1)
    {
    if(listitem==0)
    {
    SetPlayerPos(playerid,1543.7886,-1353.6300,329.4738);
    }
    }
    }
    return 1;
    }


    Gruss


    Edit: Dumme Tabs

    Ich werde dir keinen weiteren Link posten, ich sag dir nur Eines:


    Code
    Erweiterte Suchfunktion --> Suchen nach "dini login" im Forenteil (Häckchen Foren ankreuzen) "Tutorial" --> Autor GoldHamster


    Wenn Du jetzt etwas überlegst, kannst Du auch nach dem Autor suchen. Ich muss hinzufügen, dass Du mit deiner Einstellung nirgends hinkommen wirst. Du musst fähig sein, etwas suchen zu können und wenn wir über ein DINI Loginsystem reden, muss gesagt werden, dass es dies (leider) wie Sand am Meer gibt


    Gruss


    Edit: Rechtschreibung

    Hallo


    Benchmarks sind immer so eine Sache. Sie sind erst aussagekräftig ab circa 1000- 10'000 Iterationen. Zu beachten sind Serverhardware und Auslastung. Nun aber zurück zum Thema


    HSA und SII sind sicher super Systeme. Zu beachten ist, dass Y_INI auf YSI von Y_Less aufbaut. Man kann es als Fluch oder Segen betrachten. Die Frage bei Y_INI ist, ob Du YSI dabei haben willst (was Du bei Y_INI müsstest). Auf der anderen Seite bietet YSI super Funktionen, wie das vergeben einer UniqueID für Spieler in Dateien. Mit dieser ID kann dann gearbeitet werden, sprich Du müsstest nur begrenzt die SpielerID verwenden, was gewisse Sachen (zum Beispiel Angebotssysteme) enorm vereinfacht.


    Zusammengefasts kann man sagen, SII und HSA sind 2 schnelle und einfache Systeme während Y_INI (mit YSI) ein System darstellt, welches dir super Möglichkeiten zur Benutzerverwaltung gibt. Ich würde YSI nur verwenden, wenn Du auch andere Funktionen aus der Library verwenden kannst, drum nim dir 30 Minuten und schau das Ganze mal an.


    Entscheiden musst Du schlussendlich, auch daran was dir zusagt


    Links:
    YSI: http://forum.sa-mp.com/showthread.php?t=321092
    YSI Wiki http://wiki.sa-mp.com/wiki/YSI:Main_Page


    Gruss

    Hallo


    Bitte benutze in deinem Script mal mysql_debug(true) und schick uns dann die letzten Auszüge aus der mysql_log.txt. Zu klären sind folgende Punkte:


    • Was crasht (Server oder MySQL Plugin, was eher unwahrscheinlich ist)
    • Wenn etwas crasht, was ? Am Besten ein Blankscript erstellen und mal die MySQL Connection durchtesten
    • Wenn es am MySQL liegt, kann es sein, dass die Verbindung beim Hoster abbricht ?
    • Wenn es am Script liegt, versuch ein paar Log Messages zu verwenden und schau, ob er zB plötzlich in einer Timerfunktion abstürzt. Wenn er zum Beispiel genau nach 60 oder 3600 Sekunden abstürzt, kann das ein Indiz für ein Fehler in einer Timerfunktion sein


    Gruss

    Hallo


    Also Du benötigst folgende Funktion:


    http://wiki.sa-mp.com/wiki/GetPlayerWeaponData


    Nun, angenommen der Spieler läuft in die Desert rein und kauft sie, dann ziehst Du ihm das Geld ab und das war's. Wenn er sie aber nun nicht kauft, kommt der wichtige Punkt. Du musst schauen, wieviel Munition bekommst Du, wenn Du waffenlos (!) in die Desert läufst. Weisst Du diese Zahl, benutzt die oben genannte Funktion, liesst die Waffen aus und ziehst von der Desert(Munition) den Wert ab, denn Du ja festgestellt hast. Du könntest auch alle Waffen resetten und die Waffen dann neu gebenm, einfach die Desert berücksichtigen.


    Sollte das ganze etwas unklar sein, sag es ruhig. Dann liefere ich dir ein Pseudocode-Beispiel


    Gruss