Beiträge von KeksOfDeath

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    Wie denn, wenn du schon vorher returnst?
    if(strcmp("/enter", cmdtext, true) == 0)
    if(gTeam[playerid] == TEAM_GROVE)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerToPoint(3.0, playerid,2523.2729,-1679.2501,15.4970))// wo man /enter eingeben kann, das 3.0 ist der Radius


    {
    SetPlayerPos(playerid,2451.1497,-1685.2985,1013.5078);//Position wo der Spieler hinteleportiert wird bei /enter
    SetPlayerFacingAngle( playerid, 180 ); // Dreh grad
    SetPlayerInterior(playerid,2);// Interoir(nur bei selbst gemachten Objekten)
    GameTextForPlayer(playerid, "~w~ Willkommen in der GroveStreet Base", 5000, 1);// Text die kommt wenn man zu dem Punkt Teleoprtiert wird
    }}}
    else <------------------------ genau ab da
    {
    SendClientMessage(playerid,ROT,"Du bist kein GS Mitglied!");
    } <---------------------------- bis da!!!! wo soll ich das genau einfügen?
    return 1;
    }

    //ganz nach oben:
    new kills[MAX_PLAYERS];
    //OnPlayerDeath:
    if(killerid!=INVALID_PLAYER_ID) {
    kills[killerid]++; }
    //dann kann man es z.b. in einem cmd abfragen:
    if(strcmp(cmdtext,"/bla",true)==0) {
    new s[20];
    format(s,sizeof(s),"Kills: %d",kills[playerid]);
    SendClientMessage(playerid,FARBE,s);
    return 1;
    }
    PS: Kann dir zwar helfen, das liegt aber auch mehr an deinen Fragen, als an meinem "Wissen". Die Fragen könnte jeder 2te hier beantworten

    AddPlayerClass(0,266.5557,-1331.0865,53.3383,309.1194,0,0,0,0,0,0);
    Skinid (ID 0 wär z.b. CJ)
    x-Float: Längengrad (kann auch Breitengrad sein, bin mich nicht sicher)
    y-Float: Breitengrad (kann auch Längengrad sein, bin mir nicht sicher)
    z-Float: Höhe
    Waffe1, Munition für Waffe 1
    Waffe2, Munition für Waffe 2
    Waffe3, Munition für Waffe 3
    Du brauchst dafür die x, y und z-Floats

    Indem du den alten abspeicherst (ganz nach oben: "new altskin[MAX_PLAYERS];") und dann setzt das halt auf die Skinid ("altskin[playerid]=GetPlayerSkin(playerid);")

    ---------------------------------------------------------------------------------

    Spoiler anzeigen

    Grün
    //ganz nach oben:
    new cpzahler[MAX_PLAYERS];
    //da hin, wo dus bruachst:
    cpzahler[playerid]=1;
    SetPlayerCheckpoint(playerid,....);
    //OnPlayerEnterCheckpoint:
    if(cpzahler[playerid]==1) {
    //...
    }

    ---------------------------------------------------------------------------------
    Spoiler anzeigen

    Blau
    //ganz nach oben:
    new skinpickup;
    //OnGameModeInit:
    skinpickup=AddStaticPickup(....);
    //OnPlayerPickupPickup:
    if(pickupid==skinpickup) {
    SetPlayerSkin(playerid,...); }

    ---------------------------------------------------------------------------------
    Spoiler anzeigen

    Rot
    //ganz nach oben:
    forward payday();
    //OnGameModeInit:
    SetTimer("payday",3600000,1);//die 3600000 sind in millisekunden, das dürfte eine stunde sein, wenn ich mich nicht verzählt habe, bei den nullen
    //ganz anch unten:
    public payday() {
    for(new i=0; i<MAX_PLAYERS; i++) {
    if(IsPlayerConnected(i)) {
    GivePlayerMoney(i,...); }}
    return 1;
    }

    "ABroadCast(COLOR_YELLOW,string,1);" dürft für die meisten ein Error ergeben
    "BanLog(string);" dürft ebenfalls für die meisten ein Error ergeben
    Und zur "256" sag ich ma nix
    PS: Waffen wie z.b die ID 28 kann man im Ammu Nation kaufen ---> sie kaufen sich die Waffe und werden gebannt

    if(strcmp(cmdtext, "/o", true, 2) == 0 || strcmp(cmdtext, "/ooc", true, 4) == 0)
    {
    new ding;
    if(cmdtext[3]=='o') { ding=2; }
    if(strlen(cmdtext[3+ding]) )
    {
    new pname[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(string, sizeof(string), "%s sagt: %s ))", pname, cmdtext[3+ding]);
    GameTextForAll(string, 10000, 5);
    }
    return 1;
    }

    Kleiner Verbesserungsvorschlag:
    //ganz nach oben:
    #define MaxMienen 10
    new minescharf[MaxMienen], miene[MaxMienen];
    forward scharfmachen(id);
    //als cmd:
    if (strcmp("/mine", cmdtext, true) == 0)
    {
    if (IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,blau," Du kannst eine Mine nur ausßerhalb eines Fahrzeuges legen");
    for(new i=0; i<MaxMienen; i++) {
    if(mienescharf[i]==0) {
    mienescharf[i]=2;
    SendClientMessage(playerid,blau,"In 5 Sekunden wird die Mine scharf gemacht.");

    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    miene[i] = CreatePickup(1654,3,x,y,z-0.5);
    SetTimerEx("scharfmachen", 5000, 0,"d",i);
    i=MaxMienen; }}
    return 1;
    }
    //ganz nach unten:
    public scharfmachen(id) {
    mienescharf[id]=1;
    return 1;
    }
    //erklärt sich von selbst^^:
    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    for(new i=0; i<MaxMienen; i++) {
    if(pickupid == miene[i])
    {
    if(mienescharf[i] == 1)
    {
    if(!IsPlayerInAnyVehicle(playerid))
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    CreateExplosion(x,y,z+5,2,10);
    DestroyPickup(miene[i]);
    mienescharf[i]=0;
    i=MaxMienen; }
    }
    }
    }
    return 1;
    }
    So kannste bis zu 400 Mienen legen, wenn du das "#define MaxMienen" mit veränderst

    Mach in dem public "OnPlayerPrivmsg" aus dem "return 1;" ein "return 0;"
    Und darüber:
    if(!strlen(text)) return SendClientMessage(playerid,FARBE,"/pm ID Text");
    if(recieverid==playerid) return SendClientMessage(playerid,FARBE,"Du kannst keine pm an dich selbst senden");
    if(IsPlayerConnected(recieverid)) {
    new s[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"%s sagt dir: %s",name,text);
    SendClientMessage(recieverid,FARBE,s);
    GetPlayerName(recieverid,name,sizeof(name));
    format(s,sizeof(s),"Du sagst %s: %s",name,text);
    SendClientMessage(playerid,FARBE,s); }
    else { SendClientMessage(playerid,FARBE,"ID nicht vergeben"); }

    @ Weed: Nein^^
    @ Blackfox: Augen auf, das war nicht seine Frage
    @ 8D.:
    dcmd(teleport,8,cmdtext);
    //-------------
    dcmd_teleport(playerid,params[]) {
    new Float:x, Float:y, Float:z;
    if(sscanf(params,"fff",x,y,z)) return SendClientMessage(playerid,FARBE,"/teleport x y z");
    SetPlayerPos(playerid,x,y,z);
    return 1;
    }
    Als dcmd & sscanf Form

    Hhhmmmm... das ist schlecht^^
    dann mach ma:
    //ganz nach oben:
    new kills[MAX_PLAYERS], tode[MAX_PLAYERS];
    //OnPlayerDeath:
    tode[playerid]++;
    if(killerid!=INVALID_PLAYER_ID) {
    kills[killerid]++; }
    //register:
    dini_IntSet(string, "kills", kills[playerid]);
    dini_IntSet(string, "tode", tode[playerid]);
    //login:
    kills[playerid]=dini_Int(string,"kills");
    tode[playerid]=dini_Int(string,"tode");
    Hast du bei OnPlayerDisconnect eig auch noch ein Autosave? Sonst bringt das ja alles nicht sehr viel, weils nicht gespeichert wird^^

    if(strcmp(cmdtext,"/hilfe",true,6)==0) {
    if(!strlen(cmdtext[7])) return SendClientMessage(playeird,FARBE,"/hilfe cheater oder /hilfe allgemein");
    if(strcmp(cmdtext[7],"cheater",true)==0) {
    //...
    else if(strcmp(cmdtext[7],"allgemien",true)==0) {
    //...

    dini_IntSet(string, "team", gTeam[playerid]);
    dini_IntSet(string, "leader", gLeader[playerid]);
    //------------------------
    //login:
    gTeam[playerid]=dini_Int(string,"team");
    gLeader[playerid]=dini_Int(string,"leader");
    Zu den Kills/Deaths: Kann man so schlecht machen, du musst die ja auch zählen^^
    Mit welcher Variable zählst du sie denn, wenn du sie zählst?