Beiträge von EvilToastBrot

    Hallo,
    will nen /cars Befehl machen, wo die Kennzeichen, von den Cars angezeigt werden, die der Player besitzt. Nur gibt die Schleife bei jedem durchgang das gleiche wieder. Ein return 1; kann ich aber auch nicht rein setzen, falls der Player mehrere Cars besitzt. Bitte Helft mir.
    Mein Code:
    if (strcmp("/carlist", cmdtext, true) == 0)
    {
    new stri[50];
    for(new i = 0; i<MAX_VEHICLES; i++)
    {
    if(!strcmp(PlayerCar[i][Key], pn(playerid), false))
    {
    if(PlayerCar[i][vid] < 10) format(stri, sizeof stri, "GGL-%s-000%d", PlayerCar[i][ABC], PlayerCar[i][vid]);
    else if(PlayerCar[i][vid] < 100) format(stri, sizeof stri, "GGL-%s-00%d", PlayerCar[i][ABC], PlayerCar[i][vid]);
    else if(PlayerCar[i][vid] < 1000) format(stri, sizeof stri, "GGL-%s-0%d", PlayerCar[i][ABC], PlayerCar[i][vid]);
    else if(PlayerCar[i][vid] >= 1000) format(stri, sizeof stri, "GGL-%s-%d", PlayerCar[i][ABC], PlayerCar[i][vid]);
    SendClientMessage(playerid, COLOR_GREEN, stri);
    }
    }
    return 1;
    }


    EvilToast.

    Oke Danke, SII sieht einfach und gut aus =) Probier ich gleich mal.


    //Edit: 2 Fragen dazu:
    1. Wie erstelle ich Dateien oder geht das automatisch, wenn ich INI_WriteInt zum Beispiel mache?
    2. Kann ich ganz normal mit fexist prüfen, ob die Datei existiert?

    Hallo.
    Ich suche ein gutes Dateiverwaltungssystem, da Dini antscheinend nicht funktioniert und ich das mit fread usw nicht hinbekomme. Postet bitte, welches Dateisystem ihr benutzt. [ Djson verstehe ich auch noch so wirklich^^ ]


    EvilToast.

    Hallo.
    Will machen, dass wenn man in ein Fahrzeug steigt, dass dann der Besitzer angezeigt wird. Bloß fehlt der Besitzer und es wird stattdessen nur z.B. "Dieser Infernus gehört " ausgegeben. Ich glaube das liegt daran, dass ein Fehler mit der VehicleID vorliegt.
    Hier mein Code:
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new str[80], strr[150];
    for(new i = 0; i<MAX_VEHICLES; i++)
    {
    if(PlayerCar[i][vid] == GetPlayerVehicleID(playerid))
    {
    format(str, sizeof str, "Dieser %s gehört %s! ID: %d", CarNames[GetVehicleModel(GetPlayerVehicleID(playerid))-400], PlayerCar[GetPlayerVehicleID(playerid)][Key], PlayerCar[GetPlayerVehicleID(playerid)][vid]);
    SCM(playerid, COLOR_GREY, str);
    return 1;
    }
    }
    }
    Und hier die FUnktion, die die Fahrzeuge lädt:
    public LoadCar(i)
    {
    new path[128], str[30];
    format(path,sizeof path,"/PlayerFiles/Cars/%d.ini",i);
    if(fexist(path))
    {
    PlayerCar[i][px] = dini_Float(path, "px");
    PlayerCar[i][py] = dini_Float(path, "py");
    PlayerCar[i][pz] = dini_Float(path, "pz");
    PlayerCar[i][pa] = dini_Float(path, "pa");
    PlayerCar[i][model] = dini_Int(path, "model");
    PlayerCar[i][c1] = dini_Int(path, "c1");
    PlayerCar[i][c2] = dini_Int(path, "c2");
    format(PlayerCar[i][Key], MAX_PLAYER_NAME, "%s", dini_Get(path, "Key"));
    PlayerCar[i][vid] = CreateVehicle(PlayerCar[i][model], PlayerCar[i][px], PlayerCar[i][py], PlayerCar[i][pz], PlayerCar[i][pa], PlayerCar[i][c1], PlayerCar[i][c2], -1);
    printf("Fahrzeug [ID: %d] geladen! [BESITZER: %s]", i, PlayerCar[i][Key]);
    format(str, sizeof str, "ETB - %d", PlayerCar[i][vid]);
    PlayerCar[i][NS] = Create3DTextLabel(str, 0x00FF0000, 0.0, 0.0, 0.0, 35.0, 0, 0);
    Attach3DTextLabelToVehicle(PlayerCar[i][NS], PlayerCar[i][vid], 0.0, 0.0, 1.25);
    }
    return 1;
    }


    Bitte Helft mir. Die Namen müssen sich doch anzeigen lassen =(


    EvilToast.

    Reicht doch beim Disconnecten oder?
    Achja und bei OnGameModeExit. Mach einfach nen Public wo du das alles reinmachst, dann sparst du zeilen.
    Also bei OnGameModeExit()
    for(new i = 0; i<MAX_PLAYERS;i++)
    {
    SavePlayer(i);
    }
    Und in public SavePlayer dann eben alles reinschreiben, was gespeichert werden soll.
    [ OnPlayerDisconnect: SavePlayer(playerid); Logischerweiße ]


    EvilToast.


    //Edit: PWN Tags

    LoadCar wird ja ausgeführt, aber hier:
    public LoadCar(i)
    {
    new path[128];
    format(path,sizeof path,"/PlayerFiles/Cars/%d.ini",i);
    if(fexist(path))
    {
    PlayerCar[i][px] = dini_Float(path, "px");
    PlayerCar[i][py] = dini_Float(path, "py");
    PlayerCar[i][pz] = dini_Float(path, "pz");
    PlayerCar[i][pa] = dini_Float(path, "pa");
    PlayerCar[i][model] = dini_Int(path, "model");
    PlayerCar[i][c1] = dini_Int(path, "c1");
    PlayerCar[i][c2] = dini_Int(path, "c2");
    format(PlayerCar[i][Key], MAX_PLAYER_NAME, "%s", dini_Get(path, "Key"));
    PlayerCar[i][vid] = CreateVehicle(PlayerCar[i][model], PlayerCar[i][px], PlayerCar[i][py], PlayerCar[i][pz], PlayerCar[i][pa], PlayerCar[i][c1], PlayerCar[i][c2], -1);
    }
    return 1;
    }

    Okee Danke liegt daran:
    for(new i = 0; i<MAX_VEHICLES; i++)
    {
    ShowMenu[i] = CreateMenu("Fahrzeug", 1, 200.0, 180.0, 200.0);
    AddMenuItem(ShowMenu[i], 0, "Kaufen");
    AddMenuItem(ShowMenu[i], 0, "Probefahrt ( 2 Min )");
    LoadCar(i);
    }
    Und genau liegt es an
    ShowMenu[i] = CreateMenu("Fahrzeug", 1, 200.0, 180.0, 200.0);
    AddMenuItem(ShowMenu[i], 0, "Kaufen");
    AddMenuItem(ShowMenu[i], 0, "Probefahrt ( 2 Min )");
    Wen ich das auskommentiere und nur loadcar(i); mache geht alles. Finde da aber keinen fehler.
    Oben: new Menu:ShowMenu[MAX_VEHICLES];


    Seht ihr das was?


    EvilToastBrot.

    Tu das hier mal unter onplayerrequestclass
    SetPlayerPos(playerid, 2920.7910,-2780.9714,1.8606);
    SetPlayerCameraPos(playerid, 2920.7910, -2785.9714, 1.8606);
    SetPlayerFacingAngle(playerid, 94.3579);
    SetPlayerCameraLookAt(playerid, 2920.7910,-2780.9714,1.8606);
    Und AddPlayerClass mit den Coords 2920.7910,-2780.9714,1.8606 in OnGamemodeinit. Wenns dann nicht geht habe ich keine Ahnung sorry.

    Hallo,
    immer wenn ich den Server starte erscheint ganz ganz ganz kurz die Konsole eben wie es normal ist, aber dann stürzt er sofort ab.
    Liegt am Script, weil mit anderen gehts.Hier mein OnGameModeInit:
    public OnGameModeInit()
    {
    new str[256];
    for(new i = 0; i<sizeof(ShowCars); i++)
    {
    format(str, sizeof str,"Fahrzeug: %s\nPreis: %d$\nTreibstoff: %s",ShowCars[i][CarName],ShowCars[i][CarPreis], ShowCars[i][Treibstoff]);
    ShowCars[i][lbl] = Create3DTextLabel(str, COLOR_CAR, 0.0, 0.0, 0.0, 20.0, 0, 0);
    ShowCars[i][v_id] = CreateVehicle(ShowCars[i][mmodel],ShowCars[i][Carx],ShowCars[i][Cary],ShowCars[i][Carz],ShowCars[i][Cara],ShowCars[i][Color1],ShowCars[i][Color2], 600);
    Attach3DTextLabelToVehicle(ShowCars[i][lbl], ShowCars[i][v_id], 0.0, 0.0, 1.25);
    }
    for(new i = 0; i<MAX_VEHICLES; i++)
    {
    ShowMenu[i] = CreateMenu("Fahrzeug", 1, 200.0, 180.0, 200.0);
    AddMenuItem(ShowMenu[i], 0, "Kaufen");
    AddMenuItem(ShowMenu[i], 0, "Probefahrt ( 2 Min )");
    //LoadCar(i);
    }
    SetGameModeText("V1rus´ Gamemode");
    UsePlayerPedAnims();
    DisableInteriorEnterExits();
    EnableStuntBonusForAll(0);
    AddPlayerClass(0,-2676.9883,1594.3542,217.2739,44.9373,0,0,0,0,0,0);
    CreateVehicle(411, 1478.5732,-1737.2924,13.5469,91.2276, 11, 11, -1);
    CreateVehicle(411, 1487.5732,-1737.2924,13.5469,91.2276, 11, 11, -1);
    CreateVehicle(411, 1482.5732,-1737.2924,13.5469,91.2276, 11, 11, -1);
    CreateVehicle(411, 1491.5732,-1737.2924,13.5469,91.2276, 11, 11, -1);
    new Text3D:Label[MAX_VEHICLES], strr[25];
    for(new i = 0; i<MAX_VEHICLES; i++)
    {
    format(strr, 25, "V1rus - %d", i);
    Label[i] = Create3DTextLabel(strr, COLOR_RED, 0, 0, 0, -1, 0);
    Attach3DTextLabelToVehicle(Label[i], i, 0, 0, 1.5);
    }
    RealClock = TextDrawCreate(545.000000,22.000000," ");
    TextDrawAlignment(RealClock,0);
    TextDrawBackgroundColor(RealClock,0x000000ff);
    TextDrawFont(RealClock,3);
    TextDrawLetterSize(RealClock,0.599999,2.299999);
    TextDrawColor(RealClock,0xffffffff);
    TextDrawSetOutline(RealClock,1);
    TextDrawSetProportional(RealClock,1);
    TextDrawSetShadow(RealClock,10);
    SetTimer("UpdateClock",500,1);
    SetTimer("Jail", 1000, 1);
    //Pickups
    Pickup[0] = CreatePickup(EnterExitPickup, 1, 1480.8879, -1771.4915, 18.7958, 0); // LSRH Enter
    Pickup[1] = CreatePickup(EnterExitPickup, 1, 1554.4590, -1675.7262, 16.1953, 0); // LSPD Enter
    Pickup[2] = CreatePickup(EnterExitPickup, 1, 1568.6022, -1690.3931, 5.8906, 0); // LSPD Garage Enter
    Pickup[3] = CreatePickup(EnterExitPickup, 1, 390.0152, 173.6265, 1008.3828, 30); // LSRH Exit
    Pickup[4] = CreatePickup(EnterExitPickup, 1, 246.4059, 87.7372, 1003.6406, 30); // LSPD Garage Exit
    Pickup[5] = CreatePickup(EnterExitPickup, 1, 246.7330, 62.6750, 1003.6406, 30); // LSPD Exit
    return 1;
    }



    Die server_log.txt, falls es was bringt, steht aber nicht besonderes drinne:

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


    SA-MP Dedicated Server
    ----------------------
    v0.3b R2, (C)2005-2010 SA-MP Team


    [22:17:45] filterscripts = "" (string)
    [22:17:45]
    [22:17:45] Server Plugins
    [22:17:45] --------------
    [22:17:45] Loaded 0 plugins.


    [22:17:45]
    [22:17:45] Filter Scripts
    [22:17:45] ---------------
    [22:17:45] Loaded 0 filter scripts.


    Bitte Helft mir.
    EvilToast.

    Nach Login,wenn du ein Login System hast das hier, wenn du keins hast einfach bei OnPlayerConnect.
    SetSpawnInfo(playerid, 0, skin, x,y,z,a, 0, 0, 0, 0,0, 0);
    SpawnPlayer(playerid);
    x,y,z und a mit den jeweiligen coordinaten austauschen, wo der spieler spawnen soll. die 6 nullen am ende stehen für die waffen. also: waffe1, waffe1 munition, waffe2, waffe2munition, waffe3, waffe3munition. fertig.


    EvilToast.

    Das geht schlecht, denn der Polizei COmputer ist denke ich mal einen einem Interior. Und das wird dann nicht dort angezeigt wo es wirklich ist, sondern da, wo der interior ist.