Beiträge von Pille

    Oder du findest heraus ob sich das Auto im freien Fall befindet..
    Das kannst du, indem du die Koordinaten von GetVehicleVelocity analysierst.


    Musst ein bisschen rumprobieren ;)

    Du musst den Text splitten:


    if(strcmp(cmdtext,"/kick",true,5)==0) // die 5 bedeutet, dass nur die ersten 5 Zeichen überprüft werden
    [
    new string[5];
    strmid(string,cmdtext,6,strlen(cmdtext)); // Speichern des Parameters in "string"
    new id=strval(string); // String wird zu einem Integer
    Kick(id); // Kick ihn
    }


    //edit: Strtok funktioniert folgendermaßen:


    new cmdtext[128]="/veh 411 0 0"; // Das ist unser cmdtext
    new cmd[128];
    new idx; // Die zwei Variablen brauchen wir für strtok
    cmd = strtok(cmdtext, idx); // Das erste Wort wird in "cmd" gespeichert


    if(strcmp(cmd,"/veh",true)==0)
    {
    new model[32];
    model=strtok(cmdtext,idx); // Zweiter Parameter wird in "model" gespeichert
    new color[2][32];
    color[0]=strtok(cmdtext,idx); // Dritter Parameter wird in "color[0]" gespeichert
    color[1]=strtok(cmdtext,idx); // Vierter Parameter wird in "color[1]" gespeichert
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    CreateVehicle(strval(model),x,y,z,0,strval(color[0]),strval(color[1]));
    return 1;
    }


    Hier strtok:


    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }

    Debugge es doch:
    public OnPlayerDeath(playerid, killerid, reason)
    {
    new string[128];
    format(string,sizeof(string),"ID %i ist gestorben. Er hat %i Tode.",playerid,Death[playerid]);
    SendClientMessageToAll(-1,string);
    Death[playerid]+=1;
    format(string,sizeof(string),"Jetzt sind es schon %i.",Death[playerid]);
    SendClientMessageToAll(-1,string);
    return 1;
    }

    *ein Selfmade


    if(strcmp(cmdtext,"/kick",true,5)==0)
    [
    new string[5];
    strmid(string,cmdtext,6,strlen(cmdtext));
    new id=strval(string);
    Kick(id);
    }


    Ein ganz einfacher /kick-Befehl, bitteschön ;)

    Ich weiß auch nicht wie du das machst, ich erstelle Tabellen mit HeidiSQL.
    Das ist dasselbe wie navicat, nur kostenlos, sehr gutes Programm :thumbup:

    Du musst erst einmal eine Tabelle erstellen, wo Zahlen mit Nachkommastellen eingespeichert werden können.
    Wenn du das getan hast, musst du dir nur deinen Query zurechtbasteln:


    SQL
    UPDATE Tabelle SET x = 5.9823, y = 23892.8832, z = 12.8362 WHERE Name = 'Pille'

    new var;


    ocmd:test(playerid)
    {
    SetTimerEx("text1",100,true,"i",playerid);
    TextDrawColor(Background1, 0x00000000);
    TextDrawShowForPlayer(playerid,Background1);
    }


    forward text1(playerid);
    public text1(playerid)
    {
    TextDrawColor(Background1,RGBAToHex(0,0,0,var));
    TextDrawHideForPlayer(playerid,Background1);
    TextDrawShowForPlayer(playerid,Background1);
    var+=2;
    }


    stock RGBAToHex(r, g, b, a) //By Betamaster
    {
    return (r<<24 | g<<16 | b<<8 | a);
    }


    probeir das mal :)

    Zitat

    new query[275]; // Ein neuer Array
    format(query,sizeof(query),"CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(24),`Passwort` varchar(24),`Level` int(11),`Admin` int(11), `pX` float,PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;"); // Der Array wird hier wiedergegeben bzw. es wird etwas hineingeschrieben.
    mysql_query(query); // Mit dieser Funktion wird etwas an die Datenbank gesendet.


    Wozu den String umformatieren?


    mysql_query("CREATE TABLE IF NOT EXISTS `accounts` (`id` int(11) NOT NULL AUTO_INCREMENT, `Name` varchar(24),`Passwort` varchar(24),`Level` int(11),`Admin` int(11), `pX` float,PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");


    Zitat

    mysql_ReturnPasswort(SpielerName(playerid)


    Bei jeder Passworteingabe wird das Passwort aus der Datenbank herausgelesen, das ist nicht sehr ressourcenschonend.
    Besser wäre es beim CheckAccount das Passwort herauszulesen, zu speichern, falls der Account existiert,
    und falls nicht, 0 returnen zu lassen. So könnte man das effizient und 'ressourcenschonend' machen.


    Übrigens kann es passieren, falls ein User Zeichen wie ' oder " im Namen hat,
    dass dann sein Account nicht gespeichert wird. Dafür nutzt man mysql_real_escape_string bzw. mysql_query in Kombination mit %e.

    In deinem GTA-Ordner sind alle .txd's, du musst sie nur mit einem Programm öffnen,
    welche diese Dateien auslesen und anzeigen können :)