Beiträge von SmArTi

    Also du brauchst A) 4 Coords für Ein- und Ausgang B) InteriorID und C) Wann das passieren soll


    Ich hab ne weile mit GF und solchen Dingen gearbeitet.
    Such mal nach "public CustomPickups()", da fällt dir gleich "PlayerToPoint" auf.


    da suchst du dir eine Freie Stelle,


    am besten hinter

    //-
    else if (GetPlayerState(i) == 1 && PlayerToPoint(2.0, i,1381.0413,-1088.8511,27.3906))
    {
    GameTextForPlayer(i, "~g~Welcome,~n~~y~Use /mission to take on a Mission", 5000, 3);
    }
    und setzt folgendes hin

    //-
    else if (PlayerToPoint(2.0, i, Eingangcoords)) // SFPD Eingang
    {
    SetPlayerPos(playerid, Coords drinnen); // wo man beim betreten hin kommen soll
    SetPlayerInterior(playerid, InteriorID);
    }
    else if (PlayerToPoint(2.0, i, Ausgangcoords)) // SFPD Ausgang
    {
    SetPlayerPos(playerid, Coords drausen); // wo man beim raus gehen hin kommen soll
    SetPlayerInterior(playerid, InteriorID);
    }


    das war auch schon alles ;)


    Viel Spaß


    MFG
    Ich

    Siehe Edit xD


    Der Fehler ist mir kurz nach dem reinstellen auch aufgefallen. Als ich edit gemacht hab hab ich mich verklickt und der satzt war weg :(
    aba jetzt klappts wenigstens

    Bitte Löschen!

    Hi Leutz,


    ich hab folgendes Prolbem:
    Wenn man jetzt ingame /pay ID Betrag macht, dann wird zwar der text so angezeigt, wie er gehört
    aber es geschieht nichts. Also mir wird kein geld abgezogen und Ihm wird kein geld gegeben.
    Woran kann das liegen?


    Hier der CMD (Selfmade):

    dcmd_Pay(playerid,params[])
    {
    if (IsPlayerConnected(playerid))
    {
    if (gPlayerLogged[playerid] == 1)
    {
    new pID, Geldbetrag;
    new CmdPlayer[MAX_PLAYER_NAME], String1[128];
    new ThePlayer[MAX_PLAYER_NAME], String2[128];
    GetPlayerName(playerid, CmdPlayer, sizeof(CmdPlayer));
    GetPlayerName(pID, ThePlayer, sizeof(ThePlayer));
    PlayerInfo[playerid][pGeld] = GetPlayerMoney(playerid);
    PlayerInfo[pID][pGeld] = GetPlayerMoney(pID);
    if (sscanf(params, "dd", pID, Geldbetrag))
    {
    return SendClientMessage(playerid, Farbe_Grad1, "SERVER: /Pay >SpielerID< >Geldbetrag<");
    }
    if (!IsPlayerConnected(pID))
    {
    return SendClientMessage(playerid, Farbe_Grad5, "Die SpielerID ist nicht vergeben!");
    }
    if (Geldbetrag < 1 || Geldbetrag > 1000)
    {
    return SendClientMessage(playerid, Farbe_Grad5, "SERVER: Du kannst nicht weniger als 1,- € und mehr als 1.000,- € weiter geben.");
    }
    if (Geldbetrag > PlayerInfo[playerid][pGeld])
    {
    return SendClientMessage(playerid, Farbe_Grad5, "SERVER: Du kannst nicht mehr Geld einzahlen als du besitzt.");
    }
    GetPlayerPos(playerid, ppx[playerid], ppy[playerid], ppz[playerid]);
    if (PlayerToPoint(3, pID, ppx[playerid], ppy[playerid], ppz[playerid]))
    {
    PlayerInfo[playerid][pGeld] -= Geldbetrag;
    PlayerInfo[pID][pGeld] += Geldbetrag;
    ResetPlayerMoney(playerid);
    ResetPlayerMoney(pID);
    GivePlayerMoney(playerid, PlayerInfo[pID][pGeld]);
    GivePlayerMoney(playerid, PlayerInfo[playerid][pGeld]);
    format(String1, sizeof(String1), "Du nimmst %d,- € und gibts es %s.", Geldbetrag, ThePlayer);
    SendClientMessage(playerid, Farbe_Lila, String1);
    format(String2, sizeof(String2), "%s nimmt %d,- € und gibt es dir.", CmdPlayer, Geldbetrag);
    SendClientMessage(pID, Farbe_Lila, String2);
    }
    else
    {
    return SendClientMessage(playerid, Farbe_Grad5, "Der Spieler ist nicht in deiner Nähe!");
    }
    }
    }
    return 1;
    }


    // Edit: Mir ist gerade ein Fehler aufgefallen. Ob er es ist weiß ich nicht. Ich werde ihn ausbessern und es nochmal versuchen ;)

    Also das mit 15 sekunden pause versteh ich net aba hier hast du den rest


    if (strcmp(cmdtext, "/afk", true) == 0)
    {
    TogglePlayerControllable(playerid, 0);
    return 1;
    }


    if (strcmp(cmdtext, "/back", true) == 0)
    {
    TogglePlayerControllable(playerid, 1);
    return 1;
    }

    public OnPlayerCommandText(playierid)
    {
    dcmd(MakeLeader, 10, cmdtext);
    return 0;
    }


    irgendwo im Script
    dcmd_MakeLeader(playerid, params[])
    {
    new pID, level;
    new ThePlayer[MAX_PLAYER_NAME], string[128];
    new CmdPlayer[MAX_PLAYER_NAME], string2[256];
    GetPlayerName(pID, ThePlayer, sizeof(ThePlayer));
    GetPlayerName(playerid, CmdPlayer, sizeof(CmdPlayer));
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerAdmin(playerid) || (PlayerInfo[playerid][pAdmin] >= 1000))
    {
    if (gPlayerLogged[playerid] == 1)
    {
    if (sscanf(params, "dd", pID, level))
    {
    return SendClientMessage(playerid, Farbe_Grad1, "SERVER: /MakeLeader >SpielerID< >Fraktion<");
    }
    if (!IsPlayerConnected(pID))
    {
    return SendClientMessage(playerid, Farbe_Grad5, "Die SpielerID ist nicht vergeben!");
    }
    if (gPlayerLogged[pID] == 0)
    {
    return SendClientMessage(playerid, Farbe_Grad5, "Der Spieler ist nicht eingeloggt!");
    }
    if (level < 0 || level > 18)
    {
    return SendClientMessage(playerid, Farbe_Grad5, "Wähle eine Fraktionsnummer zwischen 0 und 18");
    }
    format(string, sizeof(string), "Du hast %s zum Leader von Fraktion %d gemacht!", ThePlayer, level);
    SendClientMessage(playerid, Farbe_Gelb, string);
    format(string2, sizeof(string2), "%s hat dich zum Leader von Fraktion %d gemacht!", CmdPlayer, level);
    SendClientMessage(pID, Farbe_Gelb, string2);
    SpawnPlayer(pID);
    if (level == 0) { PlayerInfo[pID][pLeader] = 0; gTeam[pID] = 0; } // Zivilist
    else if (level == 1) { PlayerInfo[pID][pLeader] = 1; gTeam[pID] = 1; } // Präsident
    else if (level == 2) { PlayerInfo[pID][pLeader] = 2; gTeam[pID] = 1; } // S.W.A.T
    else if (level == 3) { PlayerInfo[pID][pLeader] = 3; gTeam[pID] = 1; } // Bundeswehr
    else if (level == 4) { PlayerInfo[pID][pLeader] = 4; gTeam[pID] = 1; } // F.B.I
    }
    else
    {
    SendClientMessage(playerid, Farbe_Grad5, "Du bist nicht eingeloggt!");
    }
    }
    else
    {
    SendClientMessage(playerid, Farbe_Grad5, "Du bist kein Administrator!");
    }
    }
    return 1;
    }


    PS: Ein Ausschnitt von meinem Script

    Hi Leutz,


    ich möchte mal fragen, wie es funktioniert, dass man eine Tast (z. B. Strg) als CMD benutzen kann. Als Beispiel:


    Tastencmd: Strg
    Ich drücke "Strg" und starte den Gamemode neu.


    könnt ihr mir helfen?

    schon gut xD bei mir gibts grad stress also hier is es:



    if (strcmp(cmd, "/Register", true)==0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, Farbe_Gelb, "TIPP: Benutze /Register >Dein Passwort<, um dich zu registrieren.");
    return 1;
    }
    if (gPlayerAccount[playerid] == 1)
    {
    SendClientMessage(playerid, Farbe_Weis, "SERVER: Dein Nickname ist registriert.");
    return 1;
    }


    strmid(PlayerInfo[playerid][pPasswort], tmp, 0, strlen(cmdtext), 255);
    Encrypt(PlayerInfo[playerid][pPasswort]);
    GetPlayerName(playerid, playername, sizeof(playername));
    format(string, sizeof(string), "%s.ini", playername);
    new File: file = fopen(string, io_read);
    if (file)
    {
    SendClientMessage(playerid, Farbe_Weis, "SERVER: Dein Nickname ist registriert.");
    fclose(file);
    return 1;
    }
    new File:hFile;
    hFile = fopen(string, io_append);
    new var[32];
    SetPlayerSkin(playerid, 101);
    format(var, 32, "%s\n", PlayerInfo[playerid][pPasswort]); fwrite(hFile, var);
    format(var, 32, "Level=%d\n", PlayerInfo[playerid][pLevel]); fwrite(hFile, var);
    format(var, 32, "Adminlevel=%d\n", PlayerInfo[playerid][pAdmin]); fwrite(hFile, var);
    format(var, 32, "Respekt=%d\n", PlayerInfo[playerid][pRespekt]); fwrite(hFile, var);
    format(var, 32, "Job=%d\n", PlayerInfo[playerid][pJob]); fwrite(hFile, var);
    format(var, 32, "Morde=%d\n", PlayerInfo[playerid][pMorde]); fwrite(hFile, var);
    format(var, 32, "Tode=%d\n", PlayerInfo[playerid][pTode]); fwrite(hFile, var);
    format(var, 32, "Geld=%d\n", PlayerInfo[playerid][pGeld]); fwrite(hFile, var);
    format(var, 32, "Bank=%d\n", PlayerInfo[playerid][pBank]); fwrite(hFile, var);
    format(var, 32, "Kleidung=%d\n", PlayerInfo[playerid][pKleidung]); fwrite(hFile, var);
    format(var, 32, "Leader=%d\n", PlayerInfo[playerid][pLeader]); fwrite(hFile, var);
    format(var, 32, "Member=%d\n", PlayerInfo[playerid][pMember]); fwrite(hFile, var);
    format(var, 32, "Wanteds=%d\n", PlayerInfo[playerid][pWanteds]); fwrite(hFile, var);
    PlayerInfo[playerid][pGeld] = 5000;
    PlayerInfo[playerid][pBank] = 50000;
    PlayerInfo[playerid][pKleidung] = 101;
    ResetPlayerMoney(playerid);
    fclose(hFile);
    SendClientMessage(playerid, Farbe_Weis, " Du hast dich registriert.");
    SendClientMessage(playerid, Farbe_Gelb, "TIPP: Benutze /Login >Dein Passwort<, um dich einzuloggen.");
    return 1;
    }


    PS: ich hab net gesagt dass ich das registersystem selbst gemacht hab nur dass das script selfmade ist

    1.Wenn das wirkluch dein Script ist ( und auch alles slbst gescriptet hast) Müsstest du LOCKEr das Problem lösen können ( ). 2. Glaube ich dir das nicht ganz.


    Einfach mal nicht lügen.


    zu 1. es ist wirklich mein eigenes script und nein ich kanns net lesen, weil WIRKLICH ALLES ZU 100% RICHTIG IST!!!
    2. was willste net glauben? n paar kumpels von mir könnens bestätigen, die waren so ziehmlich dabei

    Hi Leutz,


    ich hab folgendes problem:


    wenn man jetzt mit meinem server connectet und sich registriert dann wird man leader von der fraktion 5 (polizei) und man wird sofort adminlevel 2000!!!


    ich weis nicht was falsch ist aber im script stimmt alles. kann es vllt damit zam liegen, weil ich ein registersystem in das script eingefügt habe das mit strok und den ganzen shit arbeitet und der rest vom script arbeitet mit dcmd und sscanf?


    Bitte helft mir!


    MFG
    Ich

    Hi Leutz,


    könnt mir jemand vllt erklären was GetWeaponName(weaponid, weaponName, 64); das rote heist? im englischen wiki steht folgendes:


    Parameters:
    (weaponid, const weapon[], len)
    weaponid The WeaponID you want to know the name of.
    const name[] The variable to save the name in, passed by reference.
    len The number of cells/length of the variable.
    This function returns the weapon name.


    new weaponid = 38;
    public OnPlayerConnect(playerid)
    {
    new weaponName[65], string[95];
    GetWeaponName(weaponid, weaponName, 64);
    GivePlayerWeapon(playerid, weaponid, 100);
    format(string, sizeof(string), "You received a %s", weaponName);
    SendClientMessageToPlayer(playerid, 0xFFFF00AA, string);
    return 1;
    }


    und im deutschen nur das:


    GetWeaponName(weaponid, const weapon[], len);
    Funktion: Schreibt in weapon den Namen der Waffe weaponid.


    was heist das Rote? das "len"?!?!