Beiträge von ∂єя вαηgєя

    if(HausDaten[i][interior] == 0)continue; if(!IsPlayerInRangeOfPoint(playerid,1.5,HausDaten[i][ax],HausDaten[i][ay],HausDaten[i][az]))continue; strmid(HausDaten[i][Besitzer],cmd,0,MAX_PLAYER_NAME,MAX_PLAYER_NAME); format(cmd,sizeof cmd,"Besitzer : %s\nScore : %d\nKosten : %d$",cmd,HausDaten[i][play_time],HausDaten[i][kosten]); Update3DTextLabelText(HausDaten[i][lbl_haus],0xFF0000FF,cmd); SaveCache(); break; } return 1;


    Mach mal das Rot makierte so:

    return 0;


    Kp vlt gehts ja :D

    new GMTEXT[MAX_PLAYER_NAME];
    GMTEXT = "";
    GM3D[playerid] = Create3DTextLabel(GMTEXT,COLOR_RED1,0,0,0,70.5,1);
    Attach3DTextLabelToPlayer(GM3D[playerid], playerid, 0.0, 0.0, 0.45);
    }


    Ist nicht unter einer If Schleife, somit macht er das immer sobald er oben die ifs durch hat...


    Könntest du mir ein Beispiel zeigen? (Bin noch ein Anfänger :D)

    Bin noch ein Anfänger aber kannst das mal versuchen
    if(GetVehicleModel(vehicleid) == 548 && ispassenger == 1)
    {
    PutPlayerInVehicle(playerid, vehicleid, 1);
    TogglePlayerControllable(playerid, 1);
    InCargo[playerid] = vehicleid;
    }
    if(GetVehicleModel(vehicleid) == 417 && ispassenger == 1)
    {
    PutPlayerInVehicle(playerid, vehicleid, 1);
    TogglePlayerControllable(playerid, 1);
    InLevi[playerid] = vehicleid;
    }
    if(PlayerInfo[playerid][pAdmin] == 0)
    {
    if(GetVehicleModel(vehicleid) == 432 || GetVehicleModel(vehicleid) == 425 || GetVehicleModel(vehicleid) == 520)
    {
    if(IsPlayerInFrac(playerid,3)|| PlayerInfo[playerid][pLeader] == 7//Dein FRAKTION ID) { }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Fraktions Mitglied der DEIN Fraktion NAME!");
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    }
    }

    Ich hoffe ich könnte dir helfen :)

    //Skin1 Test
    if(strcmp(cmd, "/skin", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerToPoint(3, playerid,1089.91,-1791.17,13.66))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_WHITE, "Hilfe : /skin [item number]");
    SendClientMessage(playerid, COLOR_GREEN, "|_______ R~M Uniform _______|");
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "| 1: Skin 1 (125)");
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "| 2: Skin 2 (126)");
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "| 3: Skin 3 (117)");
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "| 4: Skin 4 (98)");
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "| 5: Skin 5 (59)");
    SendClientMessage(playerid, COLOR_LIGHTGREEN, "| 6: Skin 6 (272)");
    //SendClientMessage(playerid, COLOR_LIGHTGREEN, "| 7: Skin 7 (285)");
    //SendClientMessage(playerid, COLOR_LIGHTGREEN, "| 8: Zivi Skin");
    return 1;
    }
    new item = strval(tmp);
    if (item == 1)
    {
    if(PlayerInfo[playerid][pMember] == 0||PlayerInfo[playerid][pLeader] == 0)
    {
    SetPlayerSkin(playerid, 125);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s wechselt seine Kleidung..", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    }
    else if (item == 2)
    {
    if(PlayerInfo[playerid][pMember] == 0||PlayerInfo[playerid][pLeader] == 0)
    {
    SetPlayerSkin(playerid, 126);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s wechselt seine Kleidung..", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    }
    else if (item == 3)
    {
    if(PlayerInfo[playerid][pMember] == 0||PlayerInfo[playerid][pLeader] == 0)
    {
    SetPlayerSkin(playerid, 117);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s wechselt seine Kleidung..", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    }
    else if (item == 4)
    {
    if(PlayerInfo[playerid][pMember] == 0||PlayerInfo[playerid][pLeader] == 0)
    {
    SetPlayerSkin(playerid, 98);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s wechselt seine Kleidung..", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    }
    else if (item == 5)
    {
    if(PlayerInfo[playerid][pMember] == 0||PlayerInfo[playerid][pLeader] == 0)
    {
    SetPlayerSkin(playerid, 59);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s wechselt seine Kleidung..", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    }
    else if (item == 6)
    {
    if(PlayerInfo[playerid][pMember] == 0||PlayerInfo[playerid][pLeader] == 0)
    {
    SetPlayerSkin(playerid, 272);
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* %s wechselt seine Kleidung.", sendername);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "Nicht Verfügbar");
    return 1;
    }
    }
    if (PlayerToPoint(3, playerid,-1791.17,13.66))
    { //endet skin1 test!!
    Wo liegen die Fehler?
    Kann mir einer helfen? :)

    Der würde vermutlich bis zu einem Restart bleiben.
    Wenn du willst, dass er verschwindet, musst du einen Timer einbauen, der
    das Pickup wieder zerstört.


    */Edit:
    Man könnte das Pickup auch nach dem Aufsammeln verschwinden lassen.
    Als Beispiel.


    Wie könnte ich dort ein Timer einbauen?

    public OnPlayerDeath(playerid, killerid, reason) { new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); CreatePickup(model,1,x,y,z,); //modelid musst du dir raussuchen return 1; }


    Wie lang bleibt der Totenkopf ? Der soll ja auch ma verschwinden :).

    So mir fehlt nur noch das das neon gespeichert wird, dann begebe ich mich an der numplate funktion.


    Dieprese die ihr eingestellt habt bleiben erhalten,sofern ihr die scriptfiles nicht ausstauscht, werden euere configs mit eueren Preisen in die mysql tabelle übernommen.
    Bisher gibt es ekine weiteren Bugs mehr, sofern mir nichts dazwichen kommt sollte der release nicht so lange dauern.
    Zwei Minuspunkte gibts bei der neuen version:
    -Ihr werdet warscheinlich alle Tuner selbst erstellen müssen da ich keine defaults mit gebe, ist aber genauso einfach wie das erstellen von Resprayern, also nur Name und Porstion angeben.
    -Tuner sind bisher nur für autos. nicht für Motorräder oder anderes.


    Hammer geil :D :thumbup:

    Wie viel bekommt der Jenige denn?
    Kenne mich selber nicht gut aus aber wenn du weist wv er bekommt könntest du das doch im Gm suchen oder ? :D.
    (Wie gesagt ich kenn mich nicht gut aus :))

    // This is a comment


    // uncomment the line below if you want to write a filterscript


    //#define FILTERSCRIPT




    #include <a_samp>


    #include <a_mysql>


    #define SQL_HOST "127.0.0.1"


    #define SQL_USER "root"


    #define SQL_PASS ""


    #define SQL_DATA "samp_db"


    #define DIALOG_REGISTER (1)


    #define DIALOG_LOGIN (2)




    enum SpielerDaten


    {


    pName[MAX_PLAYER_NAME],


    pLevel,


    pGeld,


    pKills,


    pTode,


    Float:pHealth


    }


    new SpielerInfo[MAX_PLAYERS][SpielerDaten];


    public OnGameModeInit()


    Connect_To_Database();


    public OnPlayerRequestClass(playerid, classid)


    public OnPlayerRequestClass(playerid, classid)


    {


    if(GetPVarInt(playerid,"Eingeloggt") == 0) //Als erstes fragen wir ab ob
    der Spieler schon eingeloggt ist oder nicht, damit wir nicht bei jeder
    Skin Auswahl uns neu Einloggen müssen.


    {


    if(mysql_CheckAccount(playerid) == 0)//Wir überprüfen ob der Account
    Existiert, falls nicht Zeigen wir den Dialog zum Registrieren.


    {


    SendClientMessage(playerid, 0xFFFFFFFF,"________-> Willkommen auf auf meinem Server <-________");


    SendClientMessage(playerid, 0xFFFFFFFF,"Dein Account wurde nicht gefunden, bitte Registriere dich!");


    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Bitte Gib ein Passwort an:","Register","Exit");


    }


    else if(mysql_CheckAccount(playerid) == 1)//Falls doch zeigen wir den Dialog zum Einloggen.


    {


    SendClientMessage(playerid, 0xFFFFFFFF,"________-> Willkommen auf auf meinem Server <-________");


    SendClientMessage(playerid, 0xFFFFFFFF,"Dein Account wurde gefunden, bitte Log dich nun ein!");


    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Bitte gib dein Passwort ein:","Login","Abbrechen");


    }


    }


    return 1;


    }


    stock mysql_CheckAccount(playerid)


    {


    new Query[128],Name[MAX_PLAYER_NAME];


    GetPlayerName(playerid, Name, MAX_PLAYER_NAME);


    mysql_real_escape_string(Name, Name);


    format(Query, sizeof(Query), "SELECT * FROM accounts WHERE Name = '%s'", Name);


    mysql_query(Query);


    mysql_store_result();


    return mysql_num_rows();


    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])


    {


    switch(dialogid)


    {


    case DIALOG_REGISTER:


    {


    if(response)


    {


    if(strlen(inputtext) == 0) // Wenn kein Passwort angegebene wurde


    {


    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Register","Das
    angegebene Passwort war zu Kurz...\nBitte Registrier dich jetzt mit
    einem Passwort:","Register","Abbrechen");


    return 1;


    }


    else


    {


    CreateAccount(playerid, inputtext); //Account wird erstellt


    SetPVarInt(playerid,"Eingeloggt",1); //Die variable wird auf 1 gesetzt,
    damit wir nun die Skin Auswahl benutzen können ohne wieder nach unserem
    Passwort gefragt zu werden.


    SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen


    return 1;


    }


    }


    else


    {


    Kick(playerid); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.


    }


    }


    case DIALOG_LOGIN:


    {


    if(response)


    {


    if(strlen(inputtext) == 0) // Wenn kein Passwort angegebene wurde


    {


    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das
    Angegebene Passwort war Falsch.\nBitte log dich jetzt mit dem richtigen
    Passwort ein:","Login","Abbrechen");


    return 1;


    }


    else


    {


    new SpielerName[MAX_PLAYER_NAME];


    GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);


    if(!strcmp(inputtext, mysql_ReturnPasswort(SpielerName), true)) // Wir
    holen uns das Passwort aus der MySQL Datenbank und überprüfen es mit dem
    angegebenen passwort.


    {


    SetPVarInt(playerid,"Eingeloggt",1); //Falls beide passwörter
    übereinstimmen wird die Variable auf 1 gesetzt damit wir die Skin
    auswahl benutzen können.


    LoadPlayer(playerid); //Der Spieler wird "geladen", speich es werden
    seine Daten aus der Datenbank geholt und in variablen gespeichert um
    diese im Skript zu verwenden.


    SpawnPlayer(playerid); //Wir lassen den Spieler Spawnen


    return 1;


    }


    else


    {


    //Wenn das Passwort falsch war, lassen wir erneut das Login fenster erscheinen damit der Spieler das Richtige Passwort eingibt.


    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Das
    war das Falsche Passwort.\nBitte log dich jetzt mit dem richtigen
    Passwort ein:","Login","Abbrechen");


    return 1;


    }


    }


    }


    else


    {


    Kick(playerid); //Wenn auf Abbrechen geklickt wurde, wird der Spieler gekickt damit man ohne Account nicht Spielen kann.


    }


    }


    }


    return 1;


    }


    stock Connect_To_Database()


    {


    mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS); //Wir versuchen
    mit den Angaben die wir oben im Script gemacht haben uns mit dem MySQL
    Server zu verbinden.


    if(mysql_ping() == 1) //Es wird überprüft ob die Verbindung steht.


    {


    //Falls ja wird das in die Console geschrieben und die Funktion wird beendet.


    print("<-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!");


    return true;


    }


    else


    {


    //Falls nicht wird erneut versucht eine Verbindung aufzubauen.


    print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");


    print("<-| [MYSQL] Es wird erneut versucht eine Verbindung zur Datenbank herzustellen!");


    mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);


    if(mysql_ping() == 1)


    {


    print("<-| [MYSQL] Es konnte im 2 Versuch eine Verbindung hergestellt werden!");


    return true;


    }


    else


    {


    //Falls das auch nicht Funktioniert wird der Server zur Sicherheit wieder heruntergefahren.


    print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");


    print("<-| [MYSQL] Der Server wird nun beendet!");


    SendRconCommand("exit");


    return true;


    }


    }


    }
    stock CreateAccount(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, 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;


    }


    stock LoadPlayer(playerid)


    {


    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))//Wir
    fragen ab ob der angegebene Spieler auch Online ist, und kein NPC ist
    (nur zur sicherhheit)


    {


    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME); //Wir Speichern den Namen des Spielers in der Variable SpielerInfo[playerid][pName]


    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level",
    "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der
    unter "Level" eingetragen ist und Speichern ihn in unserer Variable.


    SpielerInfo[playerid][pGeld] = mysql_GetInt("accounts", "Geld", "Name",
    SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Geld"
    eingetragen ist und Speichern ihn in unserer Variable.


    SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills",
    "Name", SpielerInfo[playerid][pName]); //Wir holen uns den wert der
    unter "Kills" eingetragen ist und Speichern ihn in unserer Variable.


    SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name",
    SpielerInfo[playerid][pName]); //Wir holen uns den wert der unter "Tode"
    eingetragen ist und Speichern ihn in unserer Variable.


    }


    return 1;


    }


    stock mysql_GetInt(Table[], Field[], Where[], Is[])


    {


    new query[128];


    mysql_real_escape_string(Table, Table);


    mysql_real_escape_string(Field, Field);


    mysql_real_escape_string(Where, Where);


    mysql_real_escape_string(Is, Is);


    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);


    mysql_query(query);


    mysql_store_result();


    new sqlint = mysql_fetch_int();


    mysql_free_result();


    return sqlint;


    }


    mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName])


    stock mysql_GetString(Table[], Field[], Where[], Is[])


    {


    new query[128], Get[128];


    mysql_real_escape_string(Table, Table);


    mysql_real_escape_string(Field, Field);


    mysql_real_escape_string(Where, Where);


    mysql_real_escape_string(Is, Is);


    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);


    mysql_query(query);


    mysql_store_result();


    mysql_fetch_row(Get);


    return Get;


    }


    stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])


    {


    new query[128], Float:sqlfloat;


    mysql_real_escape_string(Table, Table);


    mysql_real_escape_string(Field, Field);


    mysql_real_escape_string(Where, Where);


    mysql_real_escape_string(Is, Is);


    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);


    mysql_query(query);


    mysql_store_result();


    mysql_fetch_float(sqlfloat);


    mysql_free_result();


    return sqlfloat;


    }


    public OnPlayerDisconnect(playerid, reason)


    SavePlayer(playerid)


    DeletePVar(playerid,"Eingeloggt");


    stock SavePlayer(playerid)


    {


    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)) //wir
    überprüfen ob der Spieler überhaupt noch Connected ist und ob er nicht
    ein NPC ist.


    {


    if(GetPVarInt(playerid,"Eingeloggt") == 1) //Und hier ob er noch eingeloggt ist.


    {


    //Nun speichern wir die Daten in der Datenbank.


    mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);


    mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "Name", SpielerInfo[playerid][pName]);


    mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);


    mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);


    mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);


    }


    }


    return 1;


    }


    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])


    {


    new query[128];


    mysql_real_escape_string(Table, Table);


    mysql_real_escape_string(Field, Field);


    mysql_real_escape_string(Where, Where);


    mysql_real_escape_string(Where2, Where2);


    format(query, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);


    mysql_query(query);


    return true;


    }


    stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])


    {


    new query[128];


    mysql_real_escape_string(Table, Table);


    mysql_real_escape_string(Field, Field);


    mysql_real_escape_string(To, To);


    mysql_real_escape_string(Where, Where);


    mysql_real_escape_string(Where2, Where2);


    format(query, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);


    mysql_query(query);


    return true;


    }


    stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])


    {


    new query[128];


    mysql_real_escape_string(Table, Table);


    mysql_real_escape_string(Field, Field);


    mysql_real_escape_string(Where, Where);


    mysql_real_escape_string(Where2, Where2);


    format(query, 128, "UPDATE %s SET %s = '%.1f' WHERE %s = '%s'", Table, Field, To, Where, Where2);


    mysql_query(query);


    return true;


    }


    mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);