Beiträge von Alexus

    ok, hab nur eine kleine frage
    ich möchte mit isplayerinrangeofpoint arbeiten. eine frage zu der längeneinheit. wird das in meter gerechnet oder "was ist das eigentlich für eine einheit"?
    ich hoffe ihr wisst was ich meine. ihr könnt ja mal ein beispiel machen, zb 10 gta-meter sind die breite des BSNs oder iwie so. ich hoffe, ihr bersteht was ich meine^^

    viel zu übertrieben. eine polizeistation ist kein hochsicherheitstrakt. das ist beim alka eher angebracht^^ und zaun als tor... naja
    auch die bäume stehen nur im weg, und wieso sind da so viele hotdogbuden?!


    2/10

    public OnPlayerDisconnect(playerid, reason)
    {
    sSpieler[playerid][sLogin] = 0;
    SpielerSpeichern(playerid);
    SpielerReset(playerid);
    DestroyObject(asirene[playerid]);
    aDuty[playerid] = 0;

    //////////////// EXIT NACHRICHT ////////////////////////////
    new name[MAX_PLAYER_NAME], str[64]; //////
    GetPlayerName(playerid, name, MAX_PLAYER_NAME); //////
    format(str, 64, "%s hat den Server verlassen.", name); //////
    SendClientMessageToAll(GRAU, str); //////
    //////////////////////////////////////////////////////////////

    return 1;
    }

    hi leute,
    und zwar habe ich das problem, das mein skin einfach nicht gespeichert wird ?( . ich arbeite mit dini:
    hier die codeschnipsel:
    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(dini_Exists(Spieler))
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    dini_IntSet(Spieler,"Adminlevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(Spieler,"Level",sSpieler[playerid][Level]);
    dini_IntSet(Spieler,"Fraktion",sSpieler[playerid][Fraktion]);
    dini_IntSet(Spieler,"Team",sSpieler[playerid][Team]);
    dini_FloatSet(Spieler,"PosX",X);
    dini_FloatSet(Spieler,"PosY",Y);
    dini_FloatSet(Spieler,"PosZ",Z);
    dini_IntSet(Spieler,"Rang",sSpieler[playerid][Rang]);
    dini_IntSet(Spieler,"Cop",sSpieler[playerid][Cop]);
    dini_IntSet(Spieler,"Beruf",sSpieler[playerid][Beruf]);
    dini_IntSet(Spieler,"Leader",sSpieler[playerid][Leader]);
    dini_IntSet(Spieler,"Skin",GetPlayerSkin(playerid));

    }
    return 1;
    }


    das spielerspeichern wird unter onplayerdisconnect abgefragt.
    wenn ich mich dann mit einem anderen skin auslogge und in der datei schaue steht da immer noch 0 8|
    was mach ich falsch?

    hi leute, ich möchte einen befehl erstellen, der /verkaufepizza [ID] [preis] heißt.
    der befehl an sich ist auch schon erstellt. dem käufer soll sich ein dialog öffnen, in dem er ablehnen oder annehmen kann. dann muss das geld abgebucht werden und leben aufgefüllt, etc.
    das ist mein jetziger befehl:
    dcmd_verkaufepizza(playerid, params[])
    {
    new pid, preis;
    if(sscanf(params,"ud",pid,preis))
    {
    return SendClientMessage(playerid,WHITE,"Verwendung: /verkaufepizza [ID] [Preis]");
    }
    if(sSpieler[playerid][Beruf] == 7)
    {
    new car;
    car = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(car) == 448)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(IsPlayerInRangeOfPoint(pid,8.0, X, Y, Z))
    {
    new string[64], string2[64], name[MAX_PLAYER_NAME], kauf[MAX_PLAYER_NAME];
    GetPlayerName(playerid,kauf,sizeof(kauf));
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"Pizzaverkäufer %s möchte dir eine Pizza für %d€ verkaufen.",name,preis);
    format(string2,sizeof(string2),"Du bietest %s eine Pizza für %d€ an.",kauf,preis);
    SendClientMessage(playerid,TÜRKIS,string2);
    ShowPlayerDialog(pid,VERKAUFEPIZZA,DIALOG_STYLE_MSGBOX,"The Well Stacked Pizza Company",string,"Abbrechen","Kaufen");
    }


    }
    else SendClientMessage(playerid,ROT,"Du musst in einem Pizzaroller sitzen!");


    }
    else
    {
    return SendClientMessage(playerid,ROT,"Du bist kein Pizzaverkäufer!");
    }
    return 1;
    }


    jetzt ist die frage wie es weitergeht...
    der dialog ist auch schon erstellt, wie ihr seht. jetzt muss unter dialogresponse ja erkannt werden, welcher spieler die pizza verkauft, um ihm das geld zu geben.
    wie stelle ich das an?

    was hat das mit löschen zu tun? meinst du das tor dort im bodem löschen um da reinzugehen oder wie? die frage ist ja ob das interior der base auch wirklich direkt unter der base ist oder nicht irgendwo im nix. was willst du denn genau machen?

    hi leute. ich möchte einen befehl erstellen, mit dem man sich in ein auto porten kann. ist auch schon definiert /tpc [carid].
    jetzt kommt das problem. ihc möchte abfragen, ob in diesem auto schon ein fahrer ist. wenn das auto von jemanden gefahren wird, möchte ich als beifahrer ins car geportet werden. sollte das fahrzeug leer sein, dann halt als fahrer.
    leider gibt es keine abfrage, ob in einem bestimmten auto ein spieler sitzt. wie mach ich das ganze?
    mein gedankengang war eine schleife, doch da kenne ich mich nciht aus.


    danke schonmal

    ich habs jetzt im stock spielerladen, klappt immer noch nciht -,-


    Zitat

    Lesen und lernen >.>


    Sprich: Dort wo er sich einloggt.

    sry, is mir auch danach aufgefallen^^
    ich hatte es am anfang ja schon an allen möglichen responses, doch es klappt nicht.
    muss um zu spawnen etwas bei request class definiert sein? vielleicht liegts daran

    spawnplayer war ja schon drin. ich hatte es eben so gemacht:


    stock Login(playerid,key[])
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(!strcmp(key,dini_Get(Spieler,"Passwort"),false))
    {
    SendClientMessage(playerid,BLAU,"Du hast dich erfolgreich angemeldet.");
    SpielerLaden(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Dein Passwort ist falsch. Du wurdest vom Server gekickt!");
    Kick(playerid);
    }
    SpawnPlayer(playerid);

    return 1;
    }


    doch es geht immer noch nicht!

    ich würde es gerne einrichten, das der spieler nach dem login sofort spawnt. das geht ja mit SpawnPlayer(palyerid). doch egal wo ich diesen befehl einfüge (ich habe bisher wirklich alles probiert), es klappt nicht! immer kommt das fenster wo man noch auf spawn klicken muss. benötige dringend hilfe!


    hier das login:
    stock Login(playerid,key[])
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Spieler/%s.txt",Sname);
    if(!strcmp(key,dini_Get(Spieler,"Passwort"),false))
    {
    SpawnPlayer(playerid);
    SendClientMessage(playerid,BLAU,"Du hast dich erfolgreich angemeldet.");
    SpielerLaden(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Dein Passwort ist falsch. Du wurdest vom Server gekickt!");
    Kick(playerid);
    }

    return 1;
    }


    wieso klappt es nicht? es zeigt keine errors an.

    es kann sein das der server sozusagen von sich selbst keine rechte hat.
    beim registervorgang muss der server ja eine datei ERSTELLEN, in der die daten des spielers gespeichert sind. diese rechte musst du dem server erst geben.
    ich habe das ganze mit filezilla gemacht. hierzu drückst du rechtsklick auf den ordner, in dem der server liegt und gehst auf dateiberechtigungen. nun überall einen hacken machen, auch bei "unterverzeichnisse einbeziehen". schließlich noch die zahl 777 in das textfeld schreiben und ok drücken.
    einen moment warten, bis er die akiton durchgeführt hat und dann den server starten. müsste eig klappen.
    :)

    kann ich auch in einem stock nach folgendem prinzip vorgehen?



    stock busLS
    {
    SetPlayerCheckpoint( blablabal^^);
    if(IsPlayerInRangeOfPoint( blabla)
    {
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    SetPlayerCheckpoint( blablabal^^);
    if(IsPlayerInRangeOfPoint( blabla)
    {
    DisablePlayerCheckpoint(playerid);
    return 1;
    }
    }


    //EDIT omg, is ja totaler denkfehler xD woher soll der wissen, wann der nächste kommt
    na ja, das oben versteh ich nicht ganz...
    gibts noch andere möglichkeiten?