Beiträge von Terrador

    Ja es ist standart aber das ist ja auch die Grundlage eines Servers oO


    @BlackAce Logischer weise mach ich das auch beim Haus system undso
    Aber mal anders: Selbst wenn es so wäer 1,2,3,4,7 wäre es schlimm? :D es hätte nur was mit der übersicht zutun
    und ob man jetzt + ID macht oder einfach checkt welche frei ist das ist auch nicht das schwerster ;)


    MfG


    EDIT
    Schwachsinn xDD
    Kavkus Hab deine Erklärung durchgelesen :D


    Hast recht sniper ^^ Aber das hatte ich sowieso vor alleine schon weil es dann übersichtlicher in den Server Daten ist :D

    Außerdem wenn du es verkaufen willst würde ich nicht die ganze zeit sagen "wer hat nach deiner Meinung gefragt" und Ähnliches


    Beruhig dich ein wenig und geh chillig an die Sache ran ;)

    Frage ich mich auch :D


    z.B. mit den Info Pickups ist gemeint das ich nicht jedes mal den Code mache wie "Create3DTextDraw" "AddStaticPickup" und bla bla


    ich hab da halt einfach ein enum da kommen die koordinaten rein und der text der da stehen soll


    bei dem interior enter und exit ist nacheinander der ein und ausgang in einem enum wenn man an einem ausgang ist kommt man zu den koordinaten von dem eingang der dadrüber ist und andders rum halt naja andersrum xD


    Das ist meiner Meinung nach Dynamisch


    Also mit schleifen erstellen bla bla



    Ja natürlich ingame erstellen sonst wenn einer ein Haus haben will und es das nicht gibt, muss ich ja jedes mal den Server neustarten oder alle Häuser neu laden...



    MfG

    Also dynamisch lege ich viel wert drauf


    Dynamisch ist bei mir: Info Pickups, Navigationssystem, Ein und ausgänge mit Pfeilen und mit enter rein oder raus gehen die spawns und die Fraktionen


    Car system biz system house system und alles was noch kommt wird auch dynamisch sein ;)


    EDIT
    @Master_FM
    Damit bezwecke ich das ich weniger Zeilen habe. Ich habe ja die Zeilen anzahl angegeben und bei jeder if Abfrage ist bei mir dann eine Zeile weniger


    Weil ich finde das es sehr wenige Zeilen für die Funktionen sind

    Ja mysql hatte ich auch aber da ich es nicht so gut verstehe wie dini habe ich es sein gelassen


    In meinem GF ist auch mysql und bis die Bugs da weg waren undso hat es gedauert.


    Und im GF hab ich es auch mehr oder weniger C & P von Maddin´s Tutorial gemacht


    Im Selfmade scripte ich nur damit, wovon ich ahnung habe und wie das funktioniert ;)

    Also cmd art ist alles mit ocmd und sscanf


    Speichersystem: dini


    Ressourcensparend da ich anstatt z.b. 1 Timer gemacht habe der 5 minuten geht in einem timer der 1 minute geht immer + rechne und bei 5 minuten die entsprechende Funktion aufgerufen wird
    Autos und Objekte werden in einer Funktion erstellt und unter Ongamemodeinit aufgerufen


    anstatt
    if()
    {
    }


    Habe ich
    if () {
    }

    Hallo Community


    ich würde gerne mal wissen was meine Arbeit bis jetzt wert ist ;)
    Ist alles komplett selber gescriptet und dokumentiert
    Das Script hat momentan 4536 Zeilen. Falls es jemand will
    Ich verkaufe es nicht. Bitte schreibt ehrliche Preise!
    Natürlich ist es komplett getestet und Bugfrei


    Der bisherige Changelog

    Hm sehe da jetzt keinen Fehler


    Aber vielleicht würde ich erst beim disconeccten oder so speichern
    Naja ist jedem selber überlassen


    ist die Save Funktion aus dem Tut von Maddin raus kopiert? Ansonsten hat die Variable SpielerInfo[playerid][pName] den richtigen namen?

    Gibt es da von SAMP ein Callback?


    Aber mal was anderes
    Als ich mir das ausgeben lassen habe
    Also


    printf("Pos_x: %f Pos_y: %f Pos_z: %f Wanted: %d Name: %s Virtuelle Welt: %d",OfflinePos_x[playerid],OfflinePos_y[playerid],OfflinePos_z[playerid], Spieler[playerid][Wanted], SpielerName(playerid), GetPlayerVirtualWorld(playerid));

    Hat er mir alle Daten richtig gegeben..


    Wo kann ich denn sonst das Pickup drauf definieren und den Timer?

    Also mein Problem ist, dass ich ein Pickup erstellen will wenn jemand off geht. 1 Minute danach sollte es wieder verschwinden


    Hier der Code
    new OfflinePickup[MAX_PLAYERS];
    new Text3D:Offline3DTextdraw[MAX_PLAYERS];
    new OfflineVar[MAX_PLAYERS];
    new Float:OfflinePos_x[MAX_PLAYERS], Float:OfflinePos_y[MAX_PLAYERS], Float:OfflinePos_z[MAX_PLAYERS];
    new OfflineWanted[MAX_PLAYERS];
    new OfflineName[MAX_PLAYER_NAME][MAX_PLAYERS];


    Unter Onplayerdisconnect

    /*if(OfflineVar[playerid] == 1) {
    OfflineVar[playerid] = 0;
    DestroyPickup(OfflinePickup[playerid]);
    Delete3DTextLabel(Offline3DTextdraw[playerid]);
    }*/
    format(string, sizeof string, "Offline\n[%s]",SpielerName(playerid));
    OfflineVar[playerid] = 1;
    GetPlayerPos(playerid, OfflinePos_x[playerid],OfflinePos_y[playerid],OfflinePos_z[playerid]);
    OfflineWanted[playerid] = Spieler[playerid][Wanted];
    OfflineName[playerid] = SpielerName(playerid);
    Offline3DTextdraw[playerid] = Create3DTextLabel(string, FARBE_Grad1, Pos_x, Pos_y, Pos_z, 10.0, GetPlayerVirtualWorld(playerid), 1);
    OfflinePickup[playerid] = CreatePickup(1275, 23, Pos_x, Pos_y, Pos_z, GetPlayerVirtualWorld(playerid));
    SetTimerEx("EineMinuteNachLogout",60000,0,"i",playerid);


    Und hier die Funktion für den Timer der einen minute
    Function EineMinuteNachLogout(playerid)
    {
    OfflineVar[playerid] = 0;
    DestroyPickup(OfflinePickup[playerid]);
    Delete3DTextLabel(Offline3DTextdraw[playerid]);
    }


    Wenn jemand eine Lösung hat
    Danke schoneinmal im Vorraus ;) :thumbup:


    /EDIT Überschrift
    oO Gehirnfail xD Vorher: Offline Pickup + 3D Text werden nicht erzählt

    Hmm es liegt an der Give wanted funktion -_-
    Hab sie ausgeklammert und dann ging es..


    Hier GiveWanted#
    Function GiveWanted(playerid, Anzahl, VonPlayer, Grund[])
    {
    new spieler[MAX_PLAYER_NAME], tmpstr[128];
    //if(playerid == VonPlayer) { return SendServerMsg(playerid, "Du kannst dir selber kein Wanted geben!"); }
    if(VonPlayer == 555) {
    spieler = "Unbekannt";
    }
    else {
    spieler = SpielerName(VonPlayer);
    }
    Spieler[playerid][Wanted] += Anzahl;
    format(tmpstr, sizeof tmpstr, #FAR_Gelb"Du hast ein Verbrechen begangen: "#FAR_Rot"%s "FAR_Gelb"Reporter: "#FAR_Orange"%s", Grund, spieler);
    SendClientMessage(playerid, FARBE_Grad2, tmpstr);
    format(tmpstr, sizeof tmpstr, #FAR_Gelb"Aktuelles Wantedlevel: "#FAR_Orange"%d", Spieler[playerid][Wanted]);
    SendClientMessage(playerid, FARBE_Grad2, tmpstr);

    for(new i; i<MAX_PLAYERS; i++) {
    if(IsPlayerConnected(playerid) && Polizist(i)) {
    format(tmpstr, sizeof tmpstr, #FAR_Rot"%s "FAR_Gelb"hat ein Verbrechen begangen: "#FAR_Rot"%s", SpielerName(playerid), Grund);
    SendClientMessage(i, FARBE_Grad2, tmpstr);
    format(tmpstr, sizeof tmpstr, #FAR_Gelb"Reporter: "#FAR_Orange"%s "#FAR_Gelb"Vergebene Wanteds: "#FAR_Weiss"%d", spieler, Anzahl);
    SendClientMessage(i, FARBE_Grad2, tmpstr);
    }
    }
    return 1;
    }

    Hallo Community


    Ich dreh hier bald am Rad :D Onplayerdeath wird garnicht aufgerufen -_-


    public OnPlayerDeath(playerid, killerid, reason)
    {
    GiveWanted(killerid, 2, 1000, "Mord");
    MussNichtInsKH[playerid] = 0;
    gTod[playerid] = 1;
    StehtaufPickUp[playerid] = -1;
    DarfEngineNutzen[playerid] = 1;
    new tmpstr[128];
    format(tmpstr, sizeof tmpstr, "TOT: MussNichtInsKH = %d gTod = %d ImKnast = %d",MussNichtInsKH[playerid], gTod[playerid], Spieler[playerid][ImKnast]);
    SendServerMsg(playerid, tmpstr);
    Spawn(playerid);
    return 1;
    }


    Den Text hatte ich zum debuggen benutzt aber selbst der wird nicht gesendet


    Töten tue ich mich mit


    if (strcmp("/freitot", cmdtext, true, 10) == 0)
    {
    SetPlayerHealth(playerid, 0);
    return 1;
    }

    Ja ok es ist mir ein wenig peinlich das zu fragen aber ich tu es trotzdem ;)


    Also folgender Error:

    Code
    error 047: array sizes do not match, or destination array is too small


    Zeile:
    geladenesPasswort = dini_Get(SpielerDatei(playerid),"Passwort");


    Funktion:
    ocmd:login(playerid,params[])
    {
    new passwort[20];
    if(dini_Exists(SpielerDatei(playerid))) {
    if(sscanf(params,"s",passwort)) {
    return SendNutzMsg(playerid, "/login [Passwort]");
    }
    new geladenesPasswort[20];
    geladenesPasswort = dini_Get(SpielerDatei(playerid),"Passwort");
    if(!strcmp(geladenesPasswort, passwort, true)){
    SendServerMsg(playerid, "Willkommen zurück auf Los Santos Roleplay!");
    LoginPlayer(playerid);
    }
    else {
    SendClientMessage(playerid, FARBE_Rot, "Das eingegebene Passwort war falsch!");
    return 1;
    }
    }
    return 1;
    }


    Was mach ich da falsch? .. Ist bestimmt iwas kleines blödes aber naja..


    Danke im Vorraus

    Hallo sa-mp Forum


    Ich würde in meinem Tacho gerne das "Leben" des fahrzeuges anzeigen lassen
    Das funktioniert soweit auch ganz gut aber er zeigt nicht 1000 an wie ich es will sondern 1000.00000


    code:


    Function TachoTimer()
    {
    new Tachostring[128];
    new Float:VehicleHealth;
    new engine, lights, alarm, doors, bonnet, boot, objective;
    for(new i = 0; i < MAX_PLAYERS; i++) {
    if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i) && PLAYER_STATE_DRIVER) {
    if(Gas[GetPlayerVehicleID(playerid)] <= 0)
    {
    SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    SendInfoMsg(playerid,"Du hast kein benzin mehr! Der Motor ist ausgegangen! Nutze /tanken oder /fillcar");
    }

    GetVehicleHealth(GetPlayerVehicleID(i), VehicleHealth);

    format(Tachostring,sizeof(Tachostring),"Speed: %d ~n~Tank: %d/100L ~n~Zustand: %f ~n~Fahrzeug:%s",GetVehicleSpeed(GetPlayerVehicleID(i)), Gas[GetPlayerVehicleID(i)], VehicleHealth, VehicleName[GetVehicleModel(GetPlayerVehicleID(i))-400]);

    TextDrawSetString(Tacho[i], Tachostring);
    TextDrawShowForPlayer(i, Tacho[i]);
    }
    else {
    TextDrawHideForPlayer(i, Tacho[i]);
    }
    }
    return 1;
    }


    Eine Möglichkeit wäre es 2 Strings zu machen und den vom Tacho kleiner stellen also von dem Leben aber dann wird das wieder zuviel Code ;)