Beiträge von Deadmau5

    nur "ui" nicht "usi".


    "usi", da müsstest du noch einen string mit einbauen ;)


    //EDIT: also so ist es richtig: if(sscanf(params,"ui",pID,HP))


    if(newkeys == (KEY_SUBMISSION)) //Hangar 1
    {
    if(IsPlayerInRangeOfPoint(playerid, 20.0, 288.3181,1956.3280,17.6406))
    {
    if ( !Hangar1Open[1] )
    {
    SendClientMessage(playerid,0x00C0FFFF,"Hangar 1 wird geöffnet....!");
    MoveObject(Hangar11, 286.53305053711, 1953.8522949219, 12.539841079712, 1.5);
    MoveObject(Hangar12, 286.55035400391, 1959.6234130859, 12.539841079712, 1.5);
    Hangar1Open[1] = 1;
    PlayerPlaySound(playerid, 1153 ,288.3181,1956.3280,17.6406);
    }
    else
    {
    SendClientMessage(playerid,0x00C0FFFF,"Hangar 1 wird geschlossen....!");
    MoveObject(Hangar11, 286.53305053711, 1953.8522949219, 19.639841079712, 1.5);
    MoveObject(Hangar12, 286.55035400391, 1959.6234130859, 19.639841079712, 1.5);
    PlayerPlaySound(playerid, 1153 ,288.3181,1956.3280,17.6406);
    Hangar1Open[1] = 0;
    }
    return 1;
    }
    else if(IsPlayerInRangeOfPoint(playerid, 20.0, 287.3075,1990.1865,17.6406))
    {
    if ( !Hangar2Open[1] )
    {
    SendClientMessage(playerid,0x00C0FFFF,"Hangar 2 wird geöffnet....!");
    MoveObject(Hangar21, 286.50668334961, 1985.2104492188, 12.539841079712, 1.5);
    MoveObject(Hangar22, 286.52880859375, 1993.7634277344, 12.539841079712, 1.5);
    Hangar2Open[1] = 1;
    PlayerPlaySound(playerid, 1153 , 287.3075,1990.1865,17.6406);
    }
    else
    {
    SendClientMessage(playerid,0x00C0FFFF,"Hangar 2 wird geschlossen....!");
    MoveObject(Hangar21, 286.50668334961, 1985.2104492188, 19.639841079712, 1.5);
    MoveObject(Hangar22, 286.52880859375, 1993.7634277344, 19.639841079712, 1.5);
    PlayerPlaySound(playerid, 1153 , 287.3075,1990.1865,17.6406);
    Hangar2Open[1] = 0;
    }
    return 1;
    }
    else if(IsPlayerInRangeOfPoint(playerid, 20.0, 287.1377,2023.5636,17.6406))
    {
    if ( !Hangar3Open[1] )
    {
    SendClientMessage(playerid,0x00C0FFFF,"Hangar 3 wird geöffnet....!");
    MoveObject(Hangar31, 286.48394775391, 2020.5910644531, 12.539841079712, 1.5);
    MoveObject(Hangar32, 286.53518676758, 2027.8291015625, 12.539841079712, 1.5);
    PlayerPlaySound(playerid, 1153 ,286.53518676758, 2027.8291015625, 12.539841079712);
    Hangar3Open[1] = 1;
    }
    else
    {
    SendClientMessage(playerid,0x00C0FFFF,"Hangar 3 wird geschlossen....!");
    MoveObject(Hangar31, 286.48394775391, 2020.5910644531, 19.639841079712, 1.5);
    MoveObject(Hangar32, 286.53518676758, 2027.8291015625, 19.639841079712, 1.5);
    PlayerPlaySound(playerid, 1153 ,286.53518676758, 2027.8291015625, 19.639841079712);
    Hangar3Open[1] = 0;
    }
    return 1;
    }

    Sollte so gehen

    Mittag Brotfischer...


    Habe ein Problem und zwar, mein Server startet sich nicht mehr (Homeserver).



    Es ist im Zusammenhang mit dem Dynamischen Fraktionsfahrzeugesystem von, ich glaube, [My]Kevin.


    Wollte es umschreiben und wenn ich nun bei OnGameModeInit das LoadFractionCars(); reinmache, kommt nur noch das:



    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3c R2, (C)2005-2011 SA-MP Team


    [15:04:39] filterscripts = "" (string)
    [15:04:39]
    [15:04:39] Server Plugins
    [15:04:39] --------------
    [15:04:39] Loading plugin: sscanf
    [15:04:39]


    [15:04:39] ===============================


    [15:04:39] sscanf plugin loaded.


    [15:04:39] (c) 2009 Alex "Y_Less" Cole


    [15:04:39] ===============================


    [15:04:39] Loaded.
    [15:04:39] Loading plugin: mysql
    [15:04:39]


    > MySQL plugin R5 successfully loaded.


    [15:04:39] Loaded.
    [15:04:39] Loaded 2 plugins.


    [15:04:39]
    [15:04:39] Ban list
    [15:04:39] --------
    [15:04:39] Loaded: samp.ban
    [15:04:39]
    [15:04:39]
    [15:04:39] Filter Scripts
    [15:04:39] ---------------
    [15:04:39] Loaded 0 filter scripts.


    [15:04:39] <-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!


    Und einloggen kann ich mich auch nicht...


    Hier meine Publics:



    forward LoadFractionCars2();
    public LoadFractionCars2()
    {
    new string[128];
    new fc;while(fc<MAX_FRACTION_CARS)
    {
    format(string,sizeof(string),"%d",fc);
    FractionCars[fc][fVehid] = mysql_GetInt("frakcars", "ModelID", "IDtoGet", string);
    FractionCars[fc][fPos][0]= mysql_GetFloat("frakcars", "PosX", "IDtoGet", string);
    FractionCars[fc][fPos][1]= mysql_GetFloat("frakcars", "PosY", "IDtoGet", string);
    FractionCars[fc][fPos][2]= mysql_GetFloat("frakcars", "PosZ", "IDtoGet", string);
    FractionCars[fc][fCol][0]= mysql_GetInt("frakcars", "Farbe1", "IDtoGet", string);
    FractionCars[fc][fCol][1]= mysql_GetInt("frakcars", "Farbe2", "IDtoGet", string);
    FractionCars[fc][fFraction] = mysql_GetInt("frakcars", "Fraktion", "IDtoGet", string);
    FractionCars[fc][fCarid] = CreateVehicle(FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],-255);
    }
    fc++;
    return printf(" '%d' Fraktionsfahrzeug(e) wurden geladen & erstellt.",fc);
    }
    forward SaveFractionCars2();
    public SaveFractionCars2()
    {
    new string[128];
    new fc;while(fc<MAX_FRACTION_CARS)
    {
    if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611)
    {
    format(string,sizeof(string),"%d",fc);
    mysql_SetString("frakcars", "ModelID",FractionCars[fc][fVehid], "IDtoGet", string);
    mysql_SetFloat("frakcars", "PosX",FractionCars[fc][fPos][0], "IDtoGet", string);
    mysql_SetFloat("frakcars", "PosY",FractionCars[fc][fPos][1], "IDtoGet", string);
    mysql_SetFloat("frakcars", "PosZ",FractionCars[fc][fPos][2], "IDtoGet", string);
    mysql_SetString("frakcars", "Farbe1",FractionCars[fc][fCol][0], "IDtoGet", string);
    mysql_SetString("frakcars", "Farbe2",FractionCars[fc][fCol][1], "IDtoGet", string);
    mysql_SetString("frakcars", "Fraktion",FractionCars[fc][fFraction], "IDtoGet", string);
    }
    }fc++;
    }

    Was kann denn daran falsch sein?


    Wenn es jemand hinbekommen hat oder so, kann er mir ja vielleicht das Ding einfach umschreiben.



    Die Originalen Publics:

    public LoadFractionCars(){
    if(!fexist(Fraction_Car_File)){
    new File:tfFile=fopen(Fraction_Car_File,io_write);
    fclose(tfFile);
    }
    new File:fFile=fopen(Fraction_Car_File,io_read),Content[512],fc;
    while(fread(fFile,Content)){
    StripNewLine(Content);
    sscanf(Content,"dffffddd",FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],FractionCars[fc][fFraction]);
    if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611)
    {
    FractionCars[fc][fCarid] = CreateVehicle(FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],-255);
    //FractionCars[fc][fLock] = true;
    fc++;
    }
    }
    fclose(fFile);
    return printf(" '%d' Fraktionsfahrzeug(e) wurden geladen & erstellt.",fc);
    }
    public SaveFractionCars(){
    if(fexist(Fraction_Car_File)) fremove(Fraction_Car_File);
    new File:fFile=fopen(Fraction_Car_File,io_append),Content[512];
    new fc;while(fc<MAX_FRACTION_CARS){
    if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611){
    format(Content,sizeof(Content),"%d %.3f %.3f %.3f %.3f %03d %03d %02d\r\n",FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],FractionCars[fc][fFraction]);
    fwrite(fFile,Content);
    }fc++;
    }return fclose(fFile);
    }


    //EDIT: Titel geändert

    Du ich hab schon extra neue stocks erstellt:



    stock mysql_GetInt2(Table[], Field[], Where[], Is)
    stock Float:mysql_GetFloat2(Table[], Field[], Where[], Is)
    stock mysql_SetFloat2(Table[], Field[], Float:To, Where[], Where2)


    Aber vielleicht muss ich ja extra "Namen" für die Fahrzeuge anglegen?
    Jedoch blick ich nicht, wie das mit den namen funktioniert, einfach ein A für das erste, ein B fürs 2. aber wie soll ich das machen?


    Das ist halt so ne Frage :(

    new Preis = 1 * produkte;



    produkte ist dann halt die Anzahl, wieviele Produkte er kauft.
    Den Preis kannst du dann verändern ;)


    Da ich aber vermute, dass 1 Produkt 0.1$ oder so kosten soll, MUSST du demnach ein Float nehmen.



    So entnehme ich das von Atrox und co. :D

    Hab hier mal die publics... vielleicht könnt ihr damit ja was anfangen :/



    forward LoadFractionCars2();
    public LoadFractionCars2()
    {
    new fc;while(fc<MAX_FRACTION_CARS)
    {
    FractionCars[fc][fVehid] = mysql_GetInt2("frakcars", "ModelID", "IDtoGet", fc);
    FractionCars[fc][fPos][0]= mysql_GetFloat2("frakcars", "PosX", "IDtoGet", fc);
    FractionCars[fc][fPos][1]= mysql_GetFloat2("frakcars", "PosY", "IDtoGet", fc);
    FractionCars[fc][fPos][2]= mysql_GetFloat2("frakcars", "PosZ", "IDtoGet", fc);
    FractionCars[fc][fCol][0]= mysql_GetInt2("frakcars", "Farbe1", "IDtoGet", fc);
    FractionCars[fc][fCol][1]= mysql_GetInt2("frakcars", "Farbe2", "IDtoGet", fc);
    FractionCars[fc][fFraction] = mysql_GetInt2("frakcars", "Fraktion", "IDtoGet", fc);
    FractionCars[fc][fCarid] = CreateVehicle(FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],-255);
    }
    fc++;
    return printf(" '%d' Fraktionsfahrzeug(e) wurden geladen & erstellt.",fc);
    }
    forward SaveFractionCars2();
    public SaveFractionCars2()
    {
    new fc;while(fc<MAX_FRACTION_CARS)
    {
    if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611)
    {
    mysql_SetInt("frakcars", "ModelID",FractionCars[fc][fVehid], "IDtoGet", fc);
    mysql_SetFloat2("frakcars", "PosX",FractionCars[fc][fPos][0], "IDtoGet", fc);
    mysql_SetFloat2("frakcars", "PosY",FractionCars[fc][fPos][1], "IDtoGet", fc);
    mysql_SetFloat2("frakcars", "PosZ",FractionCars[fc][fPos][2], "IDtoGet", fc);
    mysql_SetInt("frakcars", "Farbe1",FractionCars[fc][fCol][0], "IDtoGet", fc);
    mysql_SetInt("frakcars", "Farbe2",FractionCars[fc][fCol][1], "IDtoGet", fc);
    mysql_SetInt("frakcars", "Fraktion",FractionCars[fc][fFraction], "IDtoGet", fc);
    }
    }fc++;
    }


    Und hier noch die ORIGINALEN Publics, vielleicht wäre ja jemand so nett und könnte mir das umschreiben:



    public LoadFractionCars(){
    if(!fexist(Fraction_Car_File)){
    new File:tfFile=fopen(Fraction_Car_File,io_write);
    fclose(tfFile);
    }
    new File:fFile=fopen(Fraction_Car_File,io_read),Content[512],fc;
    while(fread(fFile,Content)){
    StripNewLine(Content);
    sscanf(Content,"dffffddd",FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],FractionCars[fc][fFraction]);
    if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611)
    {
    FractionCars[fc][fCarid] = CreateVehicle(FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],-255);
    //FractionCars[fc][fLock] = true;
    fc++;
    }
    }
    fclose(fFile);
    return printf(" '%d' Fraktionsfahrzeug(e) wurden geladen & erstellt.",fc);
    }
    public SaveFractionCars(){
    if(fexist(Fraction_Car_File)) fremove(Fraction_Car_File);
    new File:fFile=fopen(Fraction_Car_File,io_append),Content[512];
    new fc;while(fc<MAX_FRACTION_CARS){
    if(FractionCars[fc][fVehid] >= 400 && FractionCars[fc][fVehid] <= 611){
    format(Content,sizeof(Content),"%d %.3f %.3f %.3f %.3f %03d %03d %02d\r\n",FractionCars[fc][fVehid],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],FractionCars[fc][fFraction]);
    fwrite(fFile,Content);
    }fc++;
    }return fclose(fFile);
    }

    Beim 2. haste nur
    new pass;
    gemacht.
    Da müsstest du
    new pass[128]; machen ;)



    ___________________________________________________________________________________________________________________________________________________
    Frage von mir:


    Ich habe versucht dieses Dynamische Fraktionsfahrzeuge System in mein Selfmade einzubauen.
    Habe auch versucht dies auf MySQL umzuschreiben.


    Jedoch startet sich jetzt der Server nicht mehr... muss ich eventuell für jedes Fahrzeug einen "Namen" geben? Damit er dies dann rausliest?



    Grüße, Deadmau5.

    //EDIT: Achso dini :D


    ok...



    new Float:pLastX[MAX_PLAYERS],
    Float:pLastY[MAX_PLAYERS],
    Float:pLastZ[MAX_PLAYERS],
    FineLoggedOut[MAX_PLAYERS];


    public OnPlayerDisconnect(playerid)
    {
    new stringg[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(stringg,128,"LetzePosition_%s.ini",name);
    GetPlayerPos(playerid,pLastX[playerid],pLastY[playerid],pLastZ[playerid]);
    dini_FloatSet(stringg,"LastX",pLastX[playerid]);
    dini_FloatSet(stringg,"LastY",pLastY[playerid]);
    dini_FloatSet(stringg,"LastZ",pLastZ[playerid]);
    dini_IntSet(stringg,"LoggedOut",1);
    }
    public OnPlayerConnect(playerid)
    {
    new stringg[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    format(stringg,128,"LetzePosition_%s.ini",name);
    pLastX[playerid] = dini_FloatGet(stringg,"LastX");
    pLastY[playerid] = dini_FloatGet(stringg,"LastY");
    pLastZ[playerid] = dini_FloatGet(stringg,"LastZ");
    FineLoggedOut[playerid] = dini_Int(stringg,"LoggedOut");
    }
    public OnPlayerSpawn(playerid)
    {
    if(FineLoggedOut[playerid] == 1)
    {
    SetPlayerPos(playerid,pLastX[playerid],pLastY[playerid],pLastZ[playerid]);
    FineLoggedOut[playerid] = 0;
    }
    }