Beiträge von heyhooo

    new CVar[MAX_PLAYERS];
    switch(random(5) //anzahl
    {
    case 0: {SetPlayerCheckpoint(playerid, blabla); CVar[playerid] = 0);}
    case 1: {SetPlayerCheckpoint(playerid, blabla); CVar[playerid] = 1);}
    default: return 1;
    //usw...
    }


    Wir erstellen eine Array, womit wir hinter prüfen, welche Strecke der Spieler zugeteilt bekommen hat.
    (z.B.: OnPlayerEnterCheckpoint)


    L.G.
    heyho ;)

    ID, Float:NagelBandX, Float:NagelBandY, Float:NagelBandZ, nErstellt;



    Da darfst du auch kein ';' machen!


    Da du nur abfragen willst, ob er erstellt ist würde ich einen Boolean benutzen.


    (1020) : error 001: expected token: "-identifier-", but found ","


    L.G.
    heyho


    /e

    Poste mal paar Zeilen, die über & unter dem enum sind ..


    Ich finde es immer wieder lustig, wie es Leute versuchen ihre Beiträge zu Spammen.
    Wie du siehst hat er 2 Beiträge vorher es schon gemacht und habe ihm auch das Problem gesagt!
    -> Wofür hat das Forum eigentlich die Sicherheitswarnung, dass neune Beiträge gekommen sind.

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/rspwnnoob", true))
    {
    if(!IsPlayerAnAdmin(playerid,2)) return SendClientMessage(playerid,rot,"Du bist nicht berechtigt.");
    new bool:unwanted[MAX_VEHICLES]; //neues Array
    for(new player=0; player<SLOTS; player++) //For schleife -> Alle Spieler werden "aufgerufen"
    {
    if(IsPlayerInAnyVehicle(player))/*X1 */ { unwanted[GetPlayerVehicleID(player)]=true; } //X2
    }
    for(new car = 1; car <= MAX_VEHICLES; car++) //Alle Autos werden "ausgewählt"
    {
    if(!unwanted[car]/*X3 */ && DEINE NOOB-ABFRAGE) SetVehicleToRespawn(car); //Und wird respawnt
    }
    }
    return 1;
    }


    Legende:
    X1 = Nun wird abgefragt, ob der Spieler in einem Auto sitzt (da wir ja alle "ausgewählt" haben)
    X2 = Falls X1 zutrifft wird der wert auf true bzw. auf 1 gesetzt (sinn eines Bools
    X3 = Nun wird abgefragt, ob dieses Auto einen Spieler enthällt, was wir bei X1 und X2 gemacht haben ;)


    L.G.
    heyho ;)


    stock GivePlayerCash(playerid,amount)
    {
    given_amount[playerid] = amount;
    GivePlayerMoney(playerid, given_amount[playerid]);
    Spieler[playerid][Money] = GetPlayerMoney(playerid);
    printf("Given: %d PGeld: %d", amount, Spieler[playerid][Money]);
    return 1;
    }


    Versuch das mal und guck in deinen Log (wenn du den Befehl verwendest -> Ingame).

    new bool:unwanted[CAR_AMOUNT];
    for(new player=0; player<SLOTS; player++)
    {
    if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
    }
    for(new car = 1; car <= MAX_VEHICLES; car++)
    {
    if(!unwanted[car] && DEINE NOOB-ABFRAGE) SetVehicleToRespawn(car);
    }


    L.G.
    heyho ;)

    Es wäre ja ziemlich doof, wenn er warten müsste, bis weitere 2 Spieler dazu kommen.


    Wenn du mit Bots arbeites verwende RNPC bzw. ARNPC (Fortsetzung)
    Dann erstellst du einfach einen Bot, den du danach wieder löscht und setzt den Spieler In die Virtual-World der playerid ^^
    (Falls es das war, was du meintest).


    L.G.
    heyho

    Bsp:
    new PCall[MAX_PLAYERS];
    new AcceptP[MAX_PLAYERS];
    ocmd:pannenruf_akzept(playerid,params[])
    {
    new pID
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid, color, "/pannenruf_akzept [ID / Name]");
    if(PCall[pID] != 1) return SendClientMessage(playerid, color, "Der Spieler hat niemanden gerufen!");
    if(AcceptP[playerid] != 999) return SendClientMessage(playerid, color, "Du hast bereits einen Auftrag");
    PCall[pID] = 2;
    AcceptP[playerid] = pID;
    return 1;
    }


    Ich würde 2 Arrays machen, welche den jeweiligen Zustand mit den einzelnen Werten abfragt.
    Wobei hier, PCall für den Spieler, der vorher gerufen hat steht, welches man zum Spam schutz,
    und beim Logout verwenden kann (Damit der Mechaniker oder was weiß ich auch eine Nachricht kriegt, dass sein Kunde weg ist).
    AcceptP übernimmt die pID, das heißt die ID von dem Kunden, welcher Hilfe braucht.
    Dann setzten wir PCall für den Kunden auf 2, damit er sieht, dass ein Spieler unterwegs ist.
    -> Nicht vergessen: Beim Login sollte AcceptP immer auf 999 gemacht werden! (Nicht auf 0, da es die playerid ja auch gibt).


    L.G.
    heyho


    //edit:
    new Float:Pos[3];
    GetPlayerPos(anrufer,Pos[0],Pos[1],Pos[2]);
    SetPlayerCheckpoint(playerid, Pos[0],Pos[1],Pos[2], 3.0);


    Index größe von 2 auf 3 ändern ;)

    AllowAdminTeleport() : function is deprecated. Please see OnPlayerClickMap()


    AllowAdminTeleport wurde rausgenommen.
    Stattdessen kann man jetzt mit dem Callback 'OnPlayerClickMap()' abfragen, was passieren soll,
    wenn jemand einen marker auf die Map setzt.


    Wenn du uns noch den Rest des Logs senden könntest, wäre das Toll. (Am besten mit expander ;))


    L.G.
    heyho

    Da graußt es mir ja vor Klammern X(
    Gewöhne dir bitte an, deine PWN Codes mit '[pwn' dann ein ']'CODE '[/pwn' dann ein ']' zu schreiben.
    Versuch es erstmal so, und makiere uns die Zeile bitte mit einem //


    Wie gesagt, das reinpacken, mit pwn darstellen und mit // Zeile Makieren

    Da graußt es mir ja vor Klammern X(
    Gewöhne dir bitte an, deine PWN Codes mit '[pwn' dann ein ']'CODE '[/pwn' dann ein ']' zu schreiben.
    Versuch es erstmal so, und makiere uns die Zeile bitte mit einem //


    dcmd_makeleader(playerid,params[])
    {
    new pid, frakid;
    if(sscanf(params,"ud",pid,frakid)) return SendClientMessage(playerid,GELB,"Verwendung : /makleader [ID] [Fraktions ID]");
    if(frakid > 9) return SendClientMessage(playerid,ROT,"Soviele Fraktionen gibt es nicht!");
    if(!IstSpielerAdmin(playerid, 6)) return SendClientMessage(playerid,ROT,"Du bist kein Administrator!");
    if(pid == INVALID_PLAYER_ID) return SendClientMessage(playerid,ROT,"Ungültiger Spieler!");
    if(IstSpielerInFraktion(pid,frakid) == frakid) return SendClientMessage(playerid,ROT,"Der angegebene Spieler ist schon in dieser Fraktion!");
    sSpieler[pid][Fraktion] = frakid;
    return SendClientMessage(pid,GELB,"Du hast den angegeben Spieler in eine Fraktion gepackt!"), SendClientMessage(pid,GELB,"Du bist nun in einer Fraktion!");
    }

    Failed (libmysqlclient_r.so.15: cannot open shared object file: No such file or directory)

    Wie ich sehe, verwendest du das OS Linux.
    Die Datei muss ins Hauptverzeichnis deines Servers.
    libmysqlclient_r.so.15 unteranderem auch libmysqlclient_r.so.16




    Einfach Googlen -> Runterladen -> Reinpacken ;)



    L.G.
    heyho

    kleine Frage - keine antwort bei google :
    Gibt es eine Möglichkeit den Vorderteil des Mähdreschers (Harvest) in SAMP rotieren zu lassen?
    Bin mir nicht mehr sicher ob das im Singleplayer ging und da manche Fahrzeuge ja ähnliche Funktionen bieten dachte ich mir fragste einfach mal nach ;)

    Die Rotieren doch schon oder nicht? (Jedenfalls genauso wie im Singleplayer)


    //Offtopic:

    Ich möchte gerne, dass zusätzliche Objekte auch eine weite Erscheinungsrate habe.
    Wie kann ich das anstellen, dass der Client die Objekte nur 1 mal laden muss?

    Benötige immer noch Hilfe