Beiträge von NeRoTeX

    Guten Tag Community,


    hier nur mal ein kleines Filterscript für die Weihnachtszeit.


    Es werden, an vorher festgelegten Positionen, zufällig Geschenke "gespawnt", die aufgehoben werden können.

    Ich müsst nurnoch die Limits bzw. Geschenkpositionen verändern/entfernen/hinzufügen und die Dinge, die man bekommt, wenn man ein Geschenk aufhebt.

    Zu beachten ist, dass die alle möglichen Geschenkspawns nach einen Reload wieder verfügbar sind.


    Alles weitere zum genauem Ablauf ist im Script beschrieben.


    Pastebin: Hier


    Screenshot:



    NeRoTeX

    Scheinbar kannst du ein Kopfgeld-Command erstellen, jedoch nicht eine einfache Abfrage?
    Etwas Eigeninitiative wäre vielleicht nicht schlecht...


    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GREY,"Spieler nicht online!");

    @Hard:
    Warum erstellst du jedes mal einen "normalen" Textdraw?
    Ist es nicht sinnvoller, wenn man einen PlayerTextDraw macht?



    Hier mal mein Ansatz:
    #define PING_INTERVAL 10000
    forward UpdatePing();


    new PlayerText:Ping[MAX_PLAYERS];


    public OnGameModeInit()
    {
    SetTimer("UpdatePing",PING_INTERVAL,1);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    Ping[playerid]=CreatePlayerTextDraw(playerid, Float:x, Float:y, "Ping: 999");
    new ping[16];
    format(ping,sizeof(ping),"Ping: %d", GetPlayerPing(playerid));
    PlayerTextDrawSetString(playerid, Ping[playerid], ping);
    PlayerTextDrawShow(playerid, Ping[playerid]);
    return 1;
    }


    public UpdatePing()
    {
    new ping[16];
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(IsPlayerNPC(i))continue;
    PlayerTextDrawHide(i, Ping[i]);
    format(ping,sizeof(ping),"Ping: %d", GetPlayerPing(i));
    PlayerTextDrawSetString(i, Ping[i], ping);
    PlayerTextDrawShow(i, Ping[i]);
    }
    return 1;
    }

    Wenn es "funtzt" würden die Fehler nicht erscheinen, oder doch?
    Ich frage mich, wie man "Variable wird nie benutzt: "ReturnUser" hinbekommt.


    Vielleicht postest du uns mal die Zeilen, in denen der Fehler auftritt & die dazugehörigen Stocks.

    Ungetestet:


    #define CAMERA_INTERVAL 5000
    #define MAX_CAMERAS 5


    enum CameraEnum
    {
    Float:XPos,
    Float:YPos,
    Float:ZPos,
    Float:LookX,
    Float:LookY,
    Float:LookZ
    };
    new Camera[MAX_CAMERAS][CameraEnum]=
    {
    {0.0,0.0,0.0,0.0,0.0,0.0},
    {1.0,1.0,1.0,1.0,1.0,1.0},
    {2.0,2.0,2.0,2.0,2.0,2.0},
    {3.0,3.0,3.0,3.0,3.0,3.0},
    {4.0,4.0,4.0,4.0,4.0,4.0}
    };


    forward UpdateCameras();


    public OnGameModeInit()
    {
    SetTimer("UpdateCameras",CAMERA_INTERVAL,1);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    SetPVarInt(playerid,"CameraPos",0);
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    SetPVarInt(playerid,"CameraPos",-1);
    return 1;
    }


    public UpdateCameras()
    {
    new pos;
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(IsPlayerNPC(i))continue;
    if(GetPVarInt(i,"CameraPos") < 0)continue;
    pos=GetPVarInt(i,"CameraPos")+1;
    if(pos >= MAX_CAMERAS)pos=0;
    SetPlayerCameraPos(i,Camera[pos][XPos],Camera[pos][YPos],Camera[pos][ZPos]);
    SetPlayerCameraLookAt(i,Camera[pos][LookX],Camera[pos][LookY],Camera[pos][LookZ]);
    }
    return 1;
    }

    Nicht getestet:


    ocmd:kg(playerid, params[])
    {
    new Kopfgeld, pID;
    if(sscanf(params, "ud", pID, Kopfgeld))
    return SendClientMessage(playerid, 0xFF004BFF, "Usage: /kg [ID/Name] [Betrag/Amount]");
    if(pID == playerid)return SendClientMessage(playerid,COLOR_GREY,"Wrong ID");
    if(GetPlayerMoney(playerid) < Kopfgeld)return SendClientMessage(playerid,COLOR_GREY,"Nicht genug Geld!");
    if(GetPlayerMoney(playerid) >= Kopfgeld)
    {
    new str1[128];
    SetPVarInt(pID, "AuftragSetted", GetPVarInt(pID, "AuftragSetted") +1);
    SetPVarInt(pID, "AuftragMoney", GetPVarInt(pID, "AuftragMoney") +Kopfgeld);
    format(str1, sizeof(str1), "[Kopfgeldsystem] Es wurde $%d auf %s ausgesetzt, Gesamt: $%d!", Kopfgeld, GetPlayerNameEx(pID), GetPVarInt(pID, "AuftragMoney"));
    SendClientMessageToAll(0xFFF000FF, str1);
    GivePlayerMoney(playerid, -Kopfgeld);
    }
    else return SendClientMessage(playerid, 0xFF004BFF, "Du hast nicht genug Geld");
    return 1;
    }

    ocmd:farmen(playerid,params[])
    {
    if(GetPVarInt(playerid,"Nebenjob")!=3)return SendClientMessage(playerid,ROT,"FEHLER: Du kannst diesen Befehl nicht benutzen!");
    new bool:iscar=false;
    for(new i=0;i<sizeof(BauerCar) && iscar==false; i++)
    if(GetPlayerVehicleID(playerid)==BauerCar[i])iscar=true;
    if(iscar==false)return SendClientMessage(i,ROT,"FEHLER: Du befindest dich nicht in keinem Combine - Wagen!");
    if(iscar==true)return ShowPlayerDialog(playerid,DIALOG_FARMER,DIALOG_STYLE_LIST,"Street Reallife - Farmer","Farmplatz 1 - Verdienst: 250$/EXPLevel: 1\nFarmerplatz 2 - Verdienst: 350$/EXPLevel: 2\nFarmplatz 3 - Verdienst: 450$/EXPLevel: 3","Beginnen","Abbrechen");
    return 1;
    }