Beiträge von Insidia7

    Gefällt mir.
    Ist es auch möglich andere Iconklassen einzufügen?

    Ja, einfach im CSS eine weitere Klasse einfügen. (Gegebenenfalls kannst du dies auch anhand einer bereits bestehenden machen)

    Hätte man vom Aufbau (Mysqlverbindung auslagern, etc) noch etwas übersichtlicher gestalten können,
    aber für Personen die das gebrauchen können reicht es sicherlich.

    Sicherlich, jedoch ist der Weg, welches dieses Tutorial verfolgt, aus meiner Sicht ausreichend ersichtlich.

    Ich hab jetzt auf die schnelle nichts daüber gefunden.


    Wie kann ich realisieren, dass ein Textdraw nur solange angezeigt wird, solange der Spieler im PickUp steht.
    Oder eventuell eine Methode, welche dieser Nahe kommt.


    Vielen Dank schon im Vorraus!

    Das ganze wird sich wohl bei OnPlayerDeath() befinden. Dort suchst du den bereits vorhandenen Code betreffend der Pickups und startest noch eine If-Abfrage, ob die Variable pJailed true ist.


    Hallo!


    Die sehen nicht schlecht aus, allerdings glaube ich nicht dass man Banned mit drei n schreibt :D

    Hallo zusammen,


    Da ich im Showroom-Bereich keinen Thread öffnen kann, werde ich das Ganze einfach als Tutorial schreiben. Eventuell hilft es einigen Leuten, alle anderen können mich haten.


    In diesem Tutorial "bestücken" wir eine Map mithilfe des jQuery-Plugins "Craftmap " und Daten aus einer MySQL-Tabelle mit Parkstandorten von Fahrzeugen. Ihr könnt selbstverständlich auch anderen Daten abfragen und so z.B. Freie Häuser auf der Karte anzeigen, das ist euch überlassen.


    Eine solche Karte könnte so aussehen:


    Was benötigen wir?

    • Erweiterte Kentnisse in PHP & SQL
    • jQuery-Plugin Craftmap inklusive Demonstrationsdateien und natürlich jQuery selbst.(Welches alles im RAR-Archiv auf der Seite enthalten ist)
    • Ein wenig Hirnmasse
    • Ein Gamemode, der auf MySQL-Tabellen aufbaut(Mit einem Filesystem würde es auch gehen, jedoch ist mir das zu viel unnötige Arbeit)
    • Eine San-Andreas Karte, vorzugsweise gleich Diese


    Ich benutze für dieses Tutorial die bereits vorhandenen Demonstrationsdateien. Im Anhang findet sich der komplette Quellcode und eine abgeänderte Version der init.js und der demo1.css.


    Nun erstellen wir uns ein neues PHP-Dokument und füllen diese mit den nötigen Informationen:

    PHP
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Eine Testmap</title>
    <link href="css/default.css" rel="stylesheet" type="text/css" />
    <link href="css/demo1.css" rel="stylesheet" type="text/css" />
    <script src="js/jquery.js" type="text/javascript"></script>
    <script src="js/craftmap.js" type="text/javascript"></script>
    <script src="js/init.js" type="text/javascript"></script>
    </head>


    Nun kommt es ganz auf eure Tabellenstruktur an, und welche Daten ihr überhaupt aus der Datenbank auslesen wollt. Ein Beispiel wäre:
    Tabllenname: vehicles
    id | model | owner | x | y | z | angle | color1 | color2 | numplate | km | tank


    Als Erstes müsst ihr nun die Grundstruktur des Plugins "einhalten":



    Erklärung:
    Den Bodytag sollte ich euch nicht erklären müssen. Die Klasse wurde hier von der Demonstration übernommen. Als Imagesource müsst ihr nun eure Map angeben. In der oberen Division werden die Koordinaten und Daten zu diesen eingefügt. Unten kommen später die Verweise rein, um auch vernünftig zwischen den einzelnen Fahrzeugen(Oder was nun gewählt wurde) zu navigieren.



    Um nun überhaupt Daten aus der Datenbank zu lesen, müssen wir uns verbinden:


    Nun müssen wir ein entsprehcendes Query "erstellen":

    SQL
    SELECT * FROM `vehicles` WHERE (`owner`='1')


    Selbsterklärend, dennoch: Selektiert alle Spalten von der Tabelle "vehicles", welche dem Besitzer(Owner) mit der ID 1 gehört(Die ID z.B. in einer players Tabelle gespeichert).



    Erklärung:
    Folgt direkt nach der Verbindunsaufnahme zur Datenbank. Die Werte, welche mittels Query aus der Tabelle gelesen werden, werden ins Array $row gespeichert. Ich habe zur Vereinfachung die Werte nochmals in eine nächste Variable gespeichert, um sie später besser verwenden zu können. Als zweiter Schritt wird quasi ein Koordinatensystem über der Bild "aufgespannt" (-x-y,-x+y,+x+y,+x-y). Die Koordinaten werden in Pixel umgerechnet und entsprechend plaziert(2000er Werte - Bei dieser Karte sollte eigentlich alles 3000 sein, da ich aber ein anderes Marker-Image genommen habe, musst ich diese Werte ein wenig anpassen).


    Unten werden noch die Verweise geschrieben, welche mittels des Nummernschildes "unterschieden" werden können.


    Pastebin:
    Init.js
    index.php


    Credits:
    Marcin Dziewulsk - jQuery-Plugin CraftMap
    IanAlbert.com - San-Andreas Karte


    Virusscan:
    Tutorial.zip


    Abschluss:
    Ich hoffe ich konnte einigen von euch mit diesem Tutorial weiterhelfen, bei Fragen bitte hier in den Thread. Ich antworte auf keine PN's oder Nachrichten via IM.

    Hallo!


    Ist es möglich, den vorgegebenen Wert bei einer eNum zurückzuverfolgen:


    bsp:


    cData[vehicleid][cID]


    Ich möchte nun einen Befehl realisieren, der den Spieler in das Fahrzeug mit der angegebenen cID setzt und nicht einfach "von der vehicleid" ausgeht.


    Ich hoffe ihr versteht was ich damit meine.

    Ich versuche mein Glück nochmal, ich habe nach wie vor keine Lösung darauf gefunden.

    Ich habe wiedermal ein Problem:


    Wenn ich meine Fahrzeuge aus einer MySQL-Tabelle lade, werden die betreffenden Variabeln richtig gesetzt. Alle ausser die der ID-Spalte:



    while(mysql_fetch_row_format(Query,"|"))
    {
    id = 1;
    sscanf(Query, "p<|>iiiffffiii", cData[id][cID], cData[id][cModel], cData[id][cOwner], cData[id][cX], cData[id][cY], cData[id][cZ], cData[id][cA], cData[id][cColor1], cData[id][cColor2], cData[id][cTeam]);
    CreateVehicle(cData[id][cModel],cData[id][cX],cData[id][cY],cData[id][cZ],cData[id][cA],cData[id][cColor1],cData[id][cColor2], 60*10000);
    LoadedInfo[Vehicles] = id + 1;
    }


    Tabelle:
    id | model | owner | x | y | z | angle | color1 | color 2 | teamowner


    Enum:
    enum CarInfo
    {
    cID,
    cModel,
    cOwner,
    Float:cX,
    Float:cY,
    Float:cZ,
    Float:cA,
    cColor1,
    cColor2,
    cTeam
    }
    new cData[MAX_VEHICLES][CarInfo];


    Ich weiss das ich die rows eigentlich auch direkt in die enum laden kann, und nich in die einzelnen "Variabeln", aber das funktioniert auch nicht.



    http://www.speedshare.org/download.php?id=CD9CA7011


    Du kannst auch diese md5 Include nehmen.


    Anwendung:
    MD5_Hash(passwort);



    stock Register(playerid, pass[]){
    new query[256],Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
    mysql_real_escape_string(Name,Name);
    mysql_real_escape_string(pass,pass);
    format(query, sizeof(query), "INSERT INTO `Accounts` (`Name`, `Passwort`) VALUES ('%s', '%s')", Name, MD5_Hash(pass));
    mysql_query(query);
    return true;
    }


    stock mysql_ReturnPasswort(Name[]){
    new query[130], Get[130];
    mysql_real_escape_string(Name, Name);
    format(query,128,"SELECT `passwort` FROM `Accounts` WHERE `Name` = '%s'",Name);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return Get;
    }

    Guten Abend/Morgen,


    Ich hätte ein paar kurze Fragen:


    1. Wenn ich in meiner Datenbank eine Minute als "noch abzusitzende" Zeit angebe, also 3600ms, werde ich bereits kurz nach dem spawnen schon "befreit". Woran liegt das? Und existiert eine bessere Möglichkeit zu runden?


    innerhalb OnPlayerSpawn():

    if(pData[playerid][pJailtime] != 0) {
    if(pData[playerid][pJailid] == 1)
    {
    SetPlayerPos(playerid,3113.17,-852.35,11.24);
    knasttime = SetTimerEx("freedom", pData[playerid][pJailtime], false,"i", playerid);
    new knastzeit[128];
    new timesec,
    timemin;
    timesec = floatround(pData[playerid][pJailtime]/60,floatround_floor);
    timemin = floatround(timesec/60,floatround_floor);
    format(knastzeit,sizeof(knastzeit),"Du musst noch %i Sekunden (%i Minuten) absitzen.",timesec,timemin);
    SendClientMessage(playerid, 0xFFFFFF,knastzeit);
    } else {
    SetPlayerPos(playerid,3113.17,-852.35,11.24);
    knasttime = SetTimerEx("freedom", pData[playerid][pJailtime], false,"i", playerid);
    new knastzeit[128];
    new timesec,
    timemin;
    timesec = floatround(pData[playerid][pJailtime]/60,floatround_floor);
    timemin = floatround(timesec/60,floatround_floor);
    format(knastzeit,sizeof(knastzeit),"Du musst noch %i Sekunden (%i Minuten) absitzen.",timesec,timemin);
    SendClientMessage(playerid, 0xFFFFFF,knastzeit);
    }
    }


    2. Wie kann ich einen Command realisieren, der die verbleibende Zeit anzeigt? Einen Timer zu setzen wäre doch möglich, jedoch ists doch nicht gerade ressourcenschonend...?



    Vielen Dank schon im Vorraus!

    Hallo,


    Ich habe mich gefragt ob es in Pawn eine ähnliche Schleife bzw. Funktion gibt wie diese Schleife bei einer PHP-MySQL Abfrage:

    Zitat

    while ($row = mysql_fetch_assoc($result)) {
    echo
    $row["userid"];
    echo
    $row["fullname"];
    echo
    $row["userstatus"];
    }