Beiträge von Kaliber

    Edit: Dürfte jz richtig sein?


    Nein...so wäre es richtig:


    stock getMin() {
    new Float:min, i, t, Float:Pos[4];
    for(; i < sizeof(stein);i++) {
    GetDynamicObjectPos(stein[i], Pos[0], Pos[1], Pos[2]);
    Pos[3] = GetPlayerDistanceFromPoint(playerid, Pos[0], Pos[1], Pos[2]);
    if(!i) min = Pos[3];
    if(Pos[3] < min) min = Pos[3],t=i;
    }
    return t;
    }


    Wobei...Jeffrys code doch völlig ausreicht :rolleyes:

    Ich weiß wie man sich zum beispiel vor MySQL Injection schützt.


    Zum einen wurde das normale MySQL seit PHP 5.5.0 als veraltet markiert, zum anderen gibt es noch viel mehr Angriffe als nur Injections...z.B. XSS und auch bei Injections gibt es da mehr als nur Dinge escapen :)


    Darauf wolltest du doch hinaus ChristianW: ? ^^

    Dann erkläre doch mal wie, wenn SendRconCommand keinen playerid Parameter hat...


    public OnPlayerConnect(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    if(!strcmp(name,"Jeffry"))
    {
    SendRconCommand("...");
    OnPlayerCommandText(playerid,"/rcon login 123");
    }
    return 1;
    }


    oder was ist euer Problem? :huh:

    aber funktionieren würde es trotzdem oder? außer ich hab durch einen Bug mehr als 1 Fahrzeug.
    Weil es ist ja eigentlich schon auf 1 begrenzt durch die if Abfrage.


    Nein, es geht hier um die vehicleid und die prüft welchen Wert das hat...benutz es einfach so, wie ich es geschrieben habe ^^


    Ist es möglich nur per Filterscript (ohne Gamemode Zugriff) Spieler Namen festzulegen die dann schon beim einloggen als RCON Admin eingeloggt sind?


    @[LnD]JustMe.77: Nein, leider nicht.


    Doch natürlich...warum sollte das nicht gehen? :huh:

    er muss man dass spezifisch für den Spieler machen? Weil so kann man ja nur 1 Fahrzeug darin speichern oder ?


    Ja, wenn du es für Spieler machen willst, musst du dies in einem Array speichern:


    new p_veh[MAX_PLAYERS]; //oben ins Skript


    //Im erstell command
    if(p_veh[playerid]) return SendClientMessage(playerid,-1,"Du besitzt schon ein Fahrzeug!");
    p_veh[playerid] = CreateVehicle(...);


    //Beim zerstören:
    DestroyVehicle(p_veh[playerid]);
    p_veh[playerid] = 0;


    mfg. :thumbup:

    da müsste eig.. dein Problem gelöst sein :)


    ...was sollte damit gelöst sein, außer dass der Code langsamer ist als zuvor?! :huh:


    Der Fehler den Pickachu macht ist, dass er eine playerid übergibt und dann eine Schleife durch alle Spieler macht...Sinn? :huh:


    Schreib das mal so:


    forward CheckTacho();
    public CheckTacho()
    {
    new string[512],Float:vHealth;
    for(new i;i<MAX_PLAYERS;i++)
    {
    if(!IsPlayerConnected(i) || !IsPlayerInAnyVehicle(i))continue;
    new vehicleid = GetPlayerVehicleID(i), modelid = GetVehicleModel(vehicleid);
    GetVehicleHealth(vehicleid,vHealth);
    format(string,sizeof string,"%d",GetPlayerSpeed(i));
    PlayerTextDrawSetString(i,CarSpeed[i],string);
    format(string,sizeof string,"Zustand: ~g~%i",floatround(vHealth, floatround_round)/10);
    PlayerTextDrawSetString(i,Textzustand[i],string);
    if(tuer[vehicleid] == false)
    {
    if(floatround(vHealth, floatround_round)/10 < 30) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~g~Offen~w~~n~Zustand: ~r~%d ~w~Prozent",PlayerVehicle[modelid - 400], floatround(vHealth, floatround_round)/10);
    else if(floatround(vHealth, floatround_round)/10 < 50) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~g~Offen~w~~n~Zustand: ~y~%d ~w~Prozent",PlayerVehicle[modelid - 400],floatround(vHealth, floatround_round)/10);
    else if(floatround(vHealth, floatround_round)/10 <= 100) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~g~Offen~w~~n~Zustand: ~g~%d ~w~Prozent",PlayerVehicle[modelid - 400],floatround(vHealth, floatround_round)/10);
    PlayerTextDrawSetString(i,CarFahrzeug[i],string);
    }
    else if(tuer[vehicleid] == true)
    {
    if(floatround(vHealth, floatround_round)/10 < 30) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~r~Geschlossen~w~~n~Zustand: ~r~%d ~w~Prozent",PlayerVehicle[modelid - 400], floatround(vHealth, floatround_round)/10);
    else if(floatround(vHealth, floatround_round)/10 < 50) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~r~Geschlossen~w~~n~Zustand: ~y~%d ~w~Prozent",PlayerVehicle[modelid - 400],floatround(vHealth, floatround_round)/10);
    else if(floatround(vHealth, floatround_round)/10 <= 100) format(string,sizeof string,"Fahrzeug: ~g~%s~n~~w~Tueren: ~r~Geschlossen~w~~n~Zustand: ~g~%d ~w~Prozent",PlayerVehicle[modelid - 400],floatround(vHealth, floatround_round)/10);
    PlayerTextDrawSetString(i,CarFahrzeug[i],string);
    }
    }
    return 1;
    }


    mfg. :thumbup:

    Wenn man alle irrelevante Sachen streicht, schreibst du:


    "Ich suche ein System, was könnt ihr mir empfehlen?"


    ...kommen dir da nicht selbst ein paar Fragen auf? ?(


    Wie z.B. für was ist dieses System gedacht...was sollte dieses System beinhalten..worum geht es eigentlich?! :sleeping:

    ist es bei Java genauso einfach wie bei SA:MP Variablen "zeitweise" für jeden Nutzer zu speichern?


    Es ist sogar noch viel einfacher :)


    Player[] online = Bukkit.getServer().getOnlinePlayers();
    String[] VAR_XY = new String[online.length];


    VAR_XY[playerid] = 1;


    mfg. :thumbup:

    Entschuldigung das ich so blöd frage. Aber wie muss ich das machen


    Die solltest dich echt erstmal mit den Basics einer Programmier-Sprache auseinander setzen :S


    stock PayDay(playerid)
    {
    SpielerInfo[playerid][pRespekt]++; //Hier bekommt er 1nen Respekt Punkt
    if(IsVIP(playerid)) SpielerInfo[playerid][pRespekt]++; //Wenn er VIP ist bekommt er noch einen Respekt Punkt
    //Hier dein Zins-System:
    new Float:zinsen;
    if(kein Haus && kein VIP) zinsen = 0.05;
    else if(Haus && kein VIP) zinsen = 0.08;
    else if(Haus && VIP) zinsen = 0.1;
    Bankkonto += Bankkonto * zinsen;

    //Die Nachrichten für den PayDay sollteng genau hier hin..(damit man unten doch mit return arbeiten kann)


    //Einfach unten dran das Level System:
    new level = GetPlayerScore(playerid);
    if(SpielerInfo[playerid][pRespekt] < level*4) return 1;
    if(GetPlayerMoney(playerid) < level*5000) return SCM(playerid,-1,"Sie brauchen mehr Geld für das LevelUp"); //Hier hat er zu wenig Geld (pro Level 5000..sprich level 1 = 5.000$...level 2 = 10.000$...level 3 = 15.000$)
    //Dann hier paar Messages
    GivePlayerMoney(playerid,-(level*5000)); //Hier auch das Geld für das Level abziehen..
    GivePlayerMoeny(playerid,500); //Hier z.B. 500$ für LevelUp
    SetPlayerScore(playerid, level+1); //Hier level up
    SpielerInfo[playerid][pRespekt] = 0; //Hier wieder Resetten
    return 1;
    }


    mfg. :rolleyes: