Beiträge von OneStyleOnly

    Pickups & Objekte kannst du genauso in Interiors setzten, wie du sie auch "draußen" hinsetzen kannst. Du musst in MTA "f" drücken und dann oben auf "Locations". Da kannst du dir dann einen Interior auswählen und dich dort hinteleportieren. Da kannste dann die Objekte reinsetzen.


    MfG
    OneStyleOnly

    ich habs so gemacht.


    new realchat = 1;


    bei OnPlayerText:


    if(realchat == 1)
    {
    new sendername[MAX_PLAYER_NAME], string[180];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    ProxDetector(20.0, playerid, string,COLOR_FADE1,COLOR_FADE2,COLOR_FADE3,COLOR_FADE4,COLOR_FADE5);
    return 0;
    }


    Außerhalb eines Callbacks:



    public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
    {
    new Float:posx, Float:posy, Float:posz;
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    GetPlayerPos(i, posx, posy, posz);
    tempposx = (oldposx -posx);
    tempposy = (oldposy -posy);
    tempposz = (oldposz -posz);
    if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
    {
    SendClientMessage(i, col1, string);
    }
    else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
    {
    SendClientMessage(i, col2, string);
    }
    else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
    {
    SendClientMessage(i, col3, string);
    }
    else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
    {
    SendClientMessage(i, col4, string);
    }
    else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    SendClientMessage(i, col5, string);
    }
    }
    }
    return 1;
    }


    //edit ProxDetector added

    Ich glaube das ist so einfach nicht möglich. Aber du könntest machen, dass wenn der Spieler an dem Punkt z.B. ist, die Admins keine Warnung bekomment. Oder einfach den Autoban rausnehmen, sodass sich dann ein Admin hinporten kann um zu kontrollieren.

    Hallo,
    ich hab folgendes Problem:
    Wenn man sich einloggt, kommt man zu der Skinauswahl und spawnt erst, wenn man entweder einen anderen Skin auswählt, oder auf spawn drückt. Eigentlich soll der Spieler direkt nach dem Login spawnen.
    Ich habe beim Login, sowie bei der Registrierung 2 mal SpawnPlayer(playerid); eingefügt. Genauso wie bei OnPlayerRequestclass 2 mal. Ich hoffe ihr könnt mir helfen. Hier meine PWN Codes:

    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 161.2155,-1927.6171,3.7734);
    SetPlayerFacingAngle(playerid, 56.5680);
    SetPlayerCameraPos(playerid, 157.4641,-1925.4463,3.7734);
    SetPlayerCameraLookAt(playerid, 161.2155,-1927.6171,3.7734);
    SpawnPlayer(playerid);
    SpawnPlayer(playerid);
    return 1;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"Accounts3/%s.txt",pname);
    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    if(response == 0)
    {
    Kick(playerid);
    }
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich mit deinem Passwort ein:","Weiter","Abbrechen");
    return SendClientMessage(playerid,COLOR_BRIGHTRED,"* Du hast kein Passwort angegeben.");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    OnPlayerLogin(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich mit deinem Passwort ein:","Weiter","Abbrechen");
    SendClientMessage(playerid,COLOR_BRIGHTRED,"* Du hast ein falsches Passwort angegeben.");
    }
    }
    case DIALOG_REG:
    {
    if(response == 0)
    {
    Kick(playerid);
    }
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Du hast noch keinen Account. Bitte registriere dich:","Weiter","Abbrechen");
    return SendClientMessage(playerid,COLOR_BRIGHTRED,"* Das angegebene Passwort ist zu kurz.");
    }
    OnPlayerRegister(playerid,inputtext);
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich mit deinem Passwort ein:","Weiter","Abbrechen");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Du hast noch keinen Account. Bitte registriere dich:","Weiter","Abbrechen");
    }
    }
    return 1;
    }


    public OnPlayerLogin(playerid)
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"Accounts3/%s.txt",pname);
    PlayerInfo[playerid][pSkin] = dini_Int(accFormat,"pSkin");
    PlayerInfo[playerid][pAdmin] = dini_Int(accFormat,"pAdmin");
    PlayerInfo[playerid][pTeam] = dini_Int(accFormat,"pTeam");
    PlayerInfo[playerid][pLeader] = dini_Int(accFormat,"pLeader");
    SetPlayerWantedLevel(playerid,dini_Int(accFormat,"pWanted"));
    GivePlayerMoney(playerid,dini_Int(accFormat,"pMoney"));
    SetPlayerScore(playerid,dini_Int(accFormat,"pLevel"));
    PlayerInfo[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,COLOR_GREY,"* Du wurdest erfolgreich eingeloggt.");
    SpawnPlayer(playerid);
    SpawnPlayer(playerid);
    return 1;
    }


    public OnPlayerRegister(playerid,password[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"Accounts3/%s.txt",pname);
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",password);
    dini_IntSet(accFormat, "pAdmin" , 0);
    dini_IntSet(accFormat, "pMoney" , 1000);
    dini_IntSet(accFormat, "pLevel" , 0);
    dini_IntSet(accFormat, "pSkin" , 137);
    PlayerInfo[playerid][pAdmin] = 0;
    PlayerInfo[playerid][pTeam] = 0;
    PlayerInfo[playerid][pLeader] = 0;
    PlayerInfo[playerid][eingeloggt] = 1;
    PlayerInfo[playerid][pSkin] = 137;
    GivePlayerMoney(playerid, 1000);
    SetPlayerScore(playerid, 0);
    SetPlayerWantedLevel(playerid,0);
    SendClientMessage(playerid,COLOR_GREY,"* Dein Account wurde angelegt und du wurdest eingeloggt.");
    SpawnPlayer(playerid);
    SpawnPlayer(playerid);
    }


    Es funktioniert, aber es ist möglich 6, oder mehr Wanteds, sowie 0 oder weniger wanteds zu verteilen, was eigentlich nicht möglich sein soll


    EDIT: Hab die "&&" durch "||" ersetzt jetzt gehts.

    Hi,
    ich habe folgendes Problem:
    Wenn ich ingame /su Name 5 Beschuss eingebe sagt er mir ich kann nicht mehr als 6 wanteds verteilen. Wo liegt der Fehler?



    //=========================================/su=========================================
    dcmd_su(playerid,params[])
    {
    if(PlayerInfo[playerid][pTeam] == 1 || PlayerInfo[playerid][pLeader] == 1)
    {
    new wanteds1, target1, grund1, playername1[MAX_PLAYER_NAME], targetname1[MAX_PLAYER_NAME], string1[180], string2[180];
    if(sscanf(params,"uds",target1,wanteds1,grund1))
    {
    SendClientMessage(playerid,COLOR_WHITE,"BENUTZE: /su [Spielerid] [Wanteds] [Grund]");
    return 1;
    }
    if(wanteds1 > 6 || wanteds1 < 1)
    {
    SendClientMessage(playerid,COLOR_BRIGHTRED,"* Du kannst nicht mehr als 6 oder weniger als 1 Wanted verteilen.");
    return 1;
    }
    if(!IsPlayerConnected(target1))
    {
    SendClientMessage(playerid, COLOR_BRIGHTRED,"* Es ist kein Spieler mit der angegebenen ID online.");
    return 1;
    }
    SetPlayerWantedLevel(target1, wanteds1);
    GetPlayerName(playerid, playername1, sizeof(playername1));
    GetPlayerName(target1, targetname1, sizeof(targetname1));
    format(string1,sizeof(string1),"%s hat dein Wantedlevel auf %d gesetzt. Grund: %s", playername1, wanteds1, grund1);
    SendClientMessage(target1, COLOR_YELLOW, string1);
    format(string2,sizeof(string2),"Du hast das Wantedlevel von %s auf %d gesetzt. Grund: %s", targetname1, wanteds1, grund1);
    SendClientMessage(playerid, COLOR_BLUE,string2);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_BRIGHTRED,"* Du bist kein Polizist.");
    return 1;
    }
    }


    MfG
    OneStyleOnly

    Ich meine Damit:

    • Spieler gibt /dm1 ein (Erst ist nun in der DM Zone (hier DM[playerid] = 1))
    • Wenn er nun stirbt und wieder Spawn, dann wird abgefragt, ob er vorher DM was (ob DM[playerid] == 1 ist)

    Aber das habe ich schon in den Befehl eingefügt (siehe Post davor)


    Musst bloß noch die Waffen hinzufügen.


    //edit Hab das jetzt so gemacht das beim ersten eingeben von /dm1 der Spieler in die DM Zone geht und beim Zweiten eingeben er sie verlässt

    dann musst du beim Spawn seine Position verändern:



    public OnPlayerSpawn(playerid)
    {
    if(DM[playerid] == 1) //Musst auch machen, dass wenn der Spieler /dm1 eingibt die Variabel "DM" für den Spieler auf 1 gesetzt wird
    {
    SetPlayerPos(playerid,x,z,z); //Deine Koordinaten
    }
    return 1;
    }




    new DM[MAX_PLAYERS];


    if(strcmp(cmdtext, "/dm1", true) == 0)
    {
    if(DM[playerid] == 0)
    {
    SetPlayerPos(playerid,x,y,z); //deine Koordinaten einfügen
    DM[playerid] = 1;
    }
    else if(DM[playerid] == 1)
    {
    SetPlayerPos(playerid,x,y,z); //Koords vom normalen Spawnpunkt
    ResetPlayerWeapons(playerid); //Waffenreset
    DM[playerid] = 0;
    }
    return 1;
    }


    //edit /dm1 Befhel

    Hallo, ich suche einen Befehl, um zu dem Marker, den man auf der Map gesetzt hat, teleportiert zu werden. Ich hab im Forum nichts gefunden. Ich hoffe ihr könnt mir helfen :D