Beiträge von ciaxx

    Hi,
    ich habe bei meinem Fahrzeug system gerade gemerkt das nicht alle tuning Teile gespeichert werden, bei meinem Jester waren zB alle Tuningteile weg ausser der paintjob und die farbe ...



    Hier sind einmal die Codes:

    //Enum ganz oben
    enum Car_System
    {
    cID,
    cModel,
    Float:cX,
    Float:cY,
    Float:cZ,
    Float:cR,
    tuning_0,
    tuning_1,
    tuning_2,
    tuning_3,
    tuning_4,
    tuning_5,
    tuning_6,
    tuning_7,
    tuning_8,
    tuning_9,
    tuning_10,
    tuning_11,
    tuning_12,
    tuning_13,
    color_1,
    color_2,
    paintjob,
    }
    new CarInfo[MAX_VEHICLES][Car_System];



    //Im OnGameModeInit zum laden
    for(new i = 1; i < MAX_VEHICLES; i++)//FAHRZEUGE
    {
    new string[32];
    format(string, sizeof(string), "/Vehicles/%d.car", i);
    if(dini_Int(string, "cID") > 0)
    {
    LadeFahrzeug(i);
    CreateVehicle(CarInfo[i][cModel], CarInfo[i][cX], CarInfo[i][cY], CarInfo[i][cZ], CarInfo[i][cR],0, 0, -1);

    new vehicleid = i;

    if(CarInfo[vehicleid][tuning_1] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_1]);


    } else if(CarInfo[vehicleid][tuning_2] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_2]);


    } else if(CarInfo[vehicleid][tuning_3] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_3]);


    } else if(CarInfo[vehicleid][tuning_4] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_4]);


    } else if(CarInfo[vehicleid][tuning_5] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_5]);


    } else if(CarInfo[vehicleid][tuning_6] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_6]);


    } else if(CarInfo[vehicleid][tuning_7] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_7]);


    } else if(CarInfo[vehicleid][tuning_8] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_8]);


    } else if(CarInfo[vehicleid][tuning_9] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_9]);


    } else if(CarInfo[vehicleid][tuning_10] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_10]);


    } else if(CarInfo[vehicleid][tuning_11] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_11]);


    } else if(CarInfo[vehicleid][tuning_12] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_12]);


    } else if(CarInfo[vehicleid][tuning_13] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_13]);


    }



    if(CarInfo[vehicleid][paintjob] > 0){
    ChangeVehiclePaintjob(vehicleid, CarInfo[vehicleid][paintjob]);
    }



    ChangeVehicleColor(vehicleid, CarInfo[vehicleid][color_1], CarInfo[vehicleid][color_1]);
    }
    }



    //OnGameModeExit zum speichern
    for(new i = 1; i < MAX_VEHICLES; i++)//FAHRZEUGE
    {
    SpeicherFahrzeug(i);
    }



    //OnVehicleSpawn
    SetVehiclePos(vehicleid, CarInfo[vehicleid][cX], CarInfo[vehicleid][cY], CarInfo[vehicleid][cZ]);
    SetVehicleZAngle(vehicleid, CarInfo[vehicleid][cR]);

    if(CarInfo[vehicleid][tuning_1] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_1]);

    } else if(CarInfo[vehicleid][tuning_2] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_2]);


    } else if(CarInfo[vehicleid][tuning_3] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_3]);


    } else if(CarInfo[vehicleid][tuning_4] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_4]);


    } else if(CarInfo[vehicleid][tuning_5] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_5]);


    } else if(CarInfo[vehicleid][tuning_6] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_6]);


    } else if(CarInfo[vehicleid][tuning_7] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_7]);


    } else if(CarInfo[vehicleid][tuning_8] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_8]);


    } else if(CarInfo[vehicleid][tuning_9] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_9]);


    } else if(CarInfo[vehicleid][tuning_10] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_10]);


    } else if(CarInfo[vehicleid][tuning_11] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_11]);


    } else if(CarInfo[vehicleid][tuning_12] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_12]);


    } else if(CarInfo[vehicleid][tuning_13] > 999){
    AddVehicleComponent(vehicleid, CarInfo[vehicleid][tuning_13]);


    }

    if(CarInfo[vehicleid][paintjob] > 0){
    ChangeVehiclePaintjob(vehicleid, CarInfo[vehicleid][paintjob]);
    }

    ChangeVehicleColor(vehicleid, CarInfo[vehicleid][color_1], CarInfo[vehicleid][color_1]);



    //OnVehicleMod
    if(CarInfo[vehicleid][tuning_0] < 1000){
    CarInfo[vehicleid][tuning_0] = componentid;

    } else if(CarInfo[vehicleid][tuning_1] < 1000){
    CarInfo[vehicleid][tuning_1] = componentid;

    } else if(CarInfo[vehicleid][tuning_2] < 1000){
    CarInfo[vehicleid][tuning_2] = componentid;

    } else if(CarInfo[vehicleid][tuning_3] < 1000){
    CarInfo[vehicleid][tuning_3] = componentid;

    } else if(CarInfo[vehicleid][tuning_4] < 1000){
    CarInfo[vehicleid][tuning_4] = componentid;

    } else if(CarInfo[vehicleid][tuning_5] < 1000){
    CarInfo[vehicleid][tuning_5] = componentid;

    } else if(CarInfo[vehicleid][tuning_6] < 1000){
    CarInfo[vehicleid][tuning_6] = componentid;

    } else if(CarInfo[vehicleid][tuning_7] < 1000){
    CarInfo[vehicleid][tuning_7] = componentid;

    } else if(CarInfo[vehicleid][tuning_8] < 1000){
    CarInfo[vehicleid][tuning_8] = componentid;

    } else if(CarInfo[vehicleid][tuning_9] < 1000){
    CarInfo[vehicleid][tuning_9] = componentid;

    } else if(CarInfo[vehicleid][tuning_10] < 1000){
    CarInfo[vehicleid][tuning_10] = componentid;

    } else if(CarInfo[vehicleid][tuning_11] < 1000){
    CarInfo[vehicleid][tuning_1] = componentid;

    } else if(CarInfo[vehicleid][tuning_12] < 1000){
    CarInfo[vehicleid][tuning_12] = componentid;

    } else if(CarInfo[vehicleid][tuning_13] < 1000){
    CarInfo[vehicleid][tuning_13] = componentid;
    }


    Ich hoffe ihr wisst warum das nicht funktioniert oder habt eine Idee ;(


    (PS: In meinem Vehicles Ordner erstellen 1999 car Datein obwohl es nur 2 Fahrzeuge gibt ... Warum?)

    Hi,
    ich habe gerade mein Haussystem zum testen fertig gestellt und da ist mir aufgefallen das überall in SA vor manchen Türen (Nur da wo es im SP auch is) dieser Gelbe Kegel ist wo man reinlaufen kann. Ich habe mir dann ein Haus ohne so einen gesucht und wenn ich aber im Interior richtung Ausgang laufen geht er auch wie im Singleplayer durch die Tür und man kann nicht mehr /exit machen. Ich habe kein FS drin und in meinem GM is auch nichts was die dinger erstellt ... Wie genau kann ich das wegmachen?

    ... Tatsache es funktioniert ...
    Vielen Dank


    (PS: Habe gerade 2 warnings bekommen:

    HausInfo[hausid][haus_x] = dini_Float(pfad,"x"); // warning 217: loose indentation


    return print("Das Haus wurde erfolgreich geladen"); // warning 217: loose indentation


    Hast du dafür auch eine Lösung bzw was das heisst?)

    Hi,
    ich habe eine for-Schleife erstellt doch diese wirft mir Errors aus die in meinen Augen nicht so ganz richtig sind:

    for(new haus = 1; haus < MAX_HAUS; haus++) //<- Alle Errors in dieser Zeile
    {
    LoadHaus(haus);
    }


    Errors:

    Code
    error 029: invalid expression, assumed zero
    error 001: expected token: ";", but found ")"
    error 029: invalid expression, assumed zero
    fatal error 107: too many error messages on one line


    Habt ihr da eine Idee?

    Es kommt das:


    (Bin erst beim 2. mal connecten gestorben)
    (kann für ca 40min nicht antworten bin aber dann wieder da)

    Vielen Dank es funktioniert so wie ich das sehe lag das daran das ich das GetPlayerName falsch angewendet hatte oder?


    (PS: Hättest du noch eine Idee wegen dem instant tot? Glaube es liegt an meinem System zum leben verlieren:

    public leben()
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    new Float:health;
    GetPlayerHealth(i,health);
    SetPlayerHealth(i,health-1.0);
    }
    }
    return 1;
    }



    SetTimer("leben",10000,1); //<- Der Timer im onGameModeInit (forward und so is auch drin also das ding an sich funktioniert)

    Hi,
    ich habe mal wieder ein Problem ... Ich habe mir mal den Befehl /report erstellt doch sobald ich ihn ingame verwende reagiert der gesamte Server nicht mehr. Ich habe das crashdetect plugin drin aber selbst damit bekomme ich keine Fehlermeldung was passiert ist. Es geht nicht einmal mehr gmx über die Konsole oder irgendetwas ingame ...
    Hier ist einmal der report Befehl:

    dcmd_report(playerid, params[]){//REPORT [Text]

    new report[64];
    new string[128];

    if(sscanf(params, "s", report)){
    return SendClientMessage(playerid,COLOR_ORANGE,"'/report [Narchicht]'");
    }


    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(PlayerInfo[i][pAdminLevel] > 0)
    {
    format(string, sizeof(string), "[Report]Neuer report von %s. Report: %s", GetPlayerName(playerid), report);
    SendClientMessage(i, COLOR_ORANGERED, string);
    }
    }
    }

    return 1;
    }


    (Ich bekomme auch 2 "number of arguments does not match definition" warnings in der format Zeile)



    Ein 2. Problem ist, das wenn man sich einlogt ersteinmal direkt umkippt und tot ist. Also man ist wirklich direkt nachdem der Spieler gespawnt ist tot ohne das irgendetwas passiert (war aber auch vor dem report befehl schon aber ich finde den fehler nicht) ...



    Ich hoffe ihr könnt mir helfen ;(

    Okay es kommt das:


    PS: Is in einem Dialog und nicht mir Befehl aber ich glaube das macht keinen unterschied oder?

    Habe die 2 Zeile rausgenommen aber er stürzt immernoch ab ;(


    Hi,
    ich habe gerade eingefügt das einem das AdminLevel, sofern es nicht 0 ist, beim login ausgegeben wird doch jetzt stürzt der Server ab sobald ich mein Passwort eingebe ...
    Das login sieht so aus:

    case 1:// LOGIN FENSTER
    {
    if(strlen(inputtext) > 0)
    {
    new string[64];
    GetPlayerName(playerid,string,MAX_PLAYER_NAME);
    format(string,sizeof string,"/Accounts/%s.ini",string);
    if(!strcmp(inputtext, dini_Get(string, "Passwort")))
    {
    PlayerInfo[playerid][pGeld] = dini_Int(string, "Geld");
    PlayerInfo[playerid][pLevel] = dini_Int(string, "Level");
    PlayerInfo[playerid][pAdminLevel] = dini_Int(string, "AdminLevel");

    //Geld setzen
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, PlayerInfo[playerid][pGeld]);
    //Scroe setzen
    SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);

    //Narchicht und spawn
    SetSpawnInfo(playerid, 0, 26, 1-1979.3802,137.8129,27.6875, 90.0, 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid);
    SendClientMessage(playerid, COLOR_SEAGREEN, "Willkommen auf >Empire Bay Reallife<");
    SendClientMessage(playerid, COLOR_YELLOW, "Um dir das Tutorial anzugucken verwende '/tutorial'");

    new adminlvl[1];
    format(adminlvl, 1, PlayerInfo[playerid][pAdminLevel], string);
    if(PlayerInfo[playerid][pAdminLevel] != 0){
    SendClientMessage(playerid, COLOR_RED, "Du hast dich mit Admin Level %s eingeloggt.");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Falsches Passwort");
    SetTimerEx("KickPlayer", 250, 0, "d", playerid);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Das Passwort ist zu kurz!");
    }
    }


    Das ist der Error:

    Hi,
    ich habe es jetzt schon mehrmals gesehn, dass zum Beispiel beim login die Daten des Spielers (also Money, Score, AdminLevel, etc) ins Script geladen werden und man diese dort dann jederzeit aufrufen kann. Meine Frage ist jetzt macht das sinn oder sollte ich lieber, wenn ich zB das AdminLevel brauche das aus der Datei auslesen und direkt da verwenden. Wenn es mehr sinn macht es ins Script zu laden wüsste ich noch gerne wie man so etwa sinnvoll anstellt (bin noch neu in pawn)


    Ich hoffe ich versteht was ich meine und könnt mir helfen :)

    Vielen vielen Dank es funktioniert :D Ich musste beim prüfen ob der Spieler existiert auch noch den Platzhalter ersetzten aber das habe ich alleine hinbekommen (irgendwei das einzige was direkt funktioniert ... ;( ). Eine Frage hätte ich noch: Wie zeigt man dem Player diese schwarzen ränder oben und unten im Bildschirm an für ein Tutorial? Wollte mal im Wiki gucken habe aber keine Ahnung wie sowas heisst und Google gibt auch nichts aus ...