Beiträge von IPrototypeI

    Du kannst dein enum fBuylist erweitern um die fraktion die es kaufen dürfen.


    so kannst du noch hier ein stock-funktion einbringen , wenn du willst.
    Dies ist nur ein Beispiel wie es aussehen könnte.
    So wird abgefragt ob die jeweilige id der fraktion entspricht , wenn ja so kann er es kaufen oder wenn der wert -255 vorhanden ist kann es jederkaufen außer
    die Spieler die in der Fraktion 0 Leader sind beziehungsweise keine sind.



    stock AbleToBuy(playerid, id)
    {
    if(PlayerInfo[playerid][pLeader] == FactionBuylist[id][fraktion] || FactionBuylist[id][fraktion] == -255 && PlayerInfo[playerid][pLeader] != 0)return 1;
    return 0;
    }

    Ich hatte es dir ja schon in der Pn geschrieben , falls noch weitere sowas ähnliches suchen sollte poste ich einfach mal noch zwei beispiele.


    Zum einen ist es ja fraglich ob bei connecten die ips verglichen werden die in dem file stehen .
    Du kannst es auch umschreiben heir sind zwei stocks und testen :


    stock banwrite(string[])
    {
    new File:file = fopen("ban.txt", io_append);
    if(file){
    fwrite(file, string);
    fclose(file);
    }else print("Die Datei existiert nicht im scriptfileordner");
    return 1;
    }
    stock checkban(string[])
    {
    new File:file = fopen("ban.txt", io_read ), ips[20];
    while(fread(file, ips)){
    if(!strcmp(ips, string, false,strlen(string)))return 1;
    }
    return 0;
    }
    und wenn der spieler connectet einfach das ganze abfragen.

    new ip[16];
    GetPlayerIp(playerid,ip,16);
    if(checkban(ip))return Kick(playerid);


    und zum zweiten geht es auch über das rcon per SendRconCommand


    new ip[16],string[25];
    GetPlayerIp(playerid,ip,16);
    format(string,25,"banip %s",ip);
    SendRconCommand(string);

    Es liegt weniger an deinem befehl sondern an der funktion
    M_WriteIPToBlacklist(ip);


    wird dort ihrgend wo etwas in einer Datei(.ini, .txt, .cfg, etc..) etwas rein geschrieben ?
    Wenn es dem so sei dann lässt du das ganze auch mit den einträgen vergleichen, also wenn der spieler zum Server verbindet?


    Sollte dies nicht so sein dan poste bitte die jeweiligen codeteile.

    ich hoffe dir ist die verwendung eines returns klar.


    Wenn nicht dan bitte ich dich das Tutorial vom Campell mal durch zu lesen über return´s.


    Um das schnell zu demonstrieren erstelle dir kurz ein gamemode und füg bei OnGameModeInit eine if abfrage ab und darunter ein return 1;
    und das setzen des Gamemodtextes setzt du unter die if abfrage


    also als beispiel:


    new test;



    public OnGameModeInit()
    {
    if(test){
    printf("Beispiel 1");
    return 1;
    }
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    printf("Beispiel 1");
    return 1;
    }


    Das ergebniss einmal mit und ohne wird dir genug aussagen.


    //edit wenn man vom Teufel spricht


    den link zu dem tut findest du in der Signatur über mir


    Bitte entferne deine unnötigen Optionalen Parameter.
    Das problem hat den uhrsprung in den letzten drei parameter
    Float:fScaleX, Float:fScaleY, Float:fScaleZ


    //edit
    bevor jemand noch sein Senf dazu geben will man kan die fscale werte auch auf 1 setzen

    Wie mach ich das Löschabar


    Mfg Nico


    ganz einfach dazu brauchst du ein timer der dann ausgeführt wird, wenn der Spieler zum Beispiel den Feuerwehrlöscher in der hand hat.
    In deinem Timer brauchst du natürlich eine for-schleife die durch das array durch geht. Nun fehlt dazu noch eine kleine Funktion womit du
    die position berechnest wo der spieler hinschaut und sollte dies der Fall oder besser gesagt in dem bereich ist so ziehst du das in meinem fall
    zum beispiel leben ab oder erhöhst eine variabel damit er eine bestimmte zeit dort drauf aimen muss.
    Je nach dem was mann will. Sollte zum beispiel die variabel einen bestimmten wert erreicht haben oder das Leben des Feuers 0 ist
    so wird das object zerstört


    Da kannst du ja die stock-funktion hier umschreiben


    stock IsViewInRangeOfPoint(playerid,Float: r, Float: x, Float: y, Float: z){
    new Float:GP[3], Float:GPCFV[3], Float: Output[3];
    const Float: weite = 6.0; //4.0, 5.0
    GetPlayerCameraPos(playerid, GP[0], GP[1], GP[2]);
    GetPlayerCameraFrontVector(playerid, GPCFV[0], GPCFV[1], GPCFV[2]);
    Output[0] = GP[0] + floatmul(GPCFV[0], weite);
    Output[1] = GP[1] + floatmul(GPCFV[1], weite);
    Output[2] = GP[2] + floatmul(GPCFV[2], weite);
    // if(FKInfo[Aim_Feuerwehr] == 1)SetPlayerCheckpoint(playerid, Output[0], Output[1], Output[2], r);
    if((Output[0] - x)*(Output[0] - x) + (Output[1] - y)*(Output[1] - y) <= r*r && Output[2] <= z) return 1;
    else return 0;
    }

    Ich suche ein include da ich das FS leider Errorfrei nicht in meine GM rein bekomme ^^


    Hier bitte
    [Include] Script-Feuer


    jedoch ist sowas sehr simpel da du einer array die jeweiligen werte zuweisst(Position, Object, etc...) um sowas grob zu erläutern.
    Beispiel:



    stock AddFeuer(Float:x, Float:y, Float:z){
    new slot = GetSlot(0);
    if(slot == -1) return printf("Die Maximale Anzahl an Flamen ist erreicht");
    UFeuer[slot][uexist] = 1;
    UFeuer[slot][ufx] = x;
    UFeuer[slot][ufy] = y;
    UFeuer[slot][ufz] = z-2.5;
    UFeuer[slot][ufleben] = 100;
    UFeuer[slot][ufid] = CreateDynamicObject(18689, UFeuer[slot][ufx], UFeuer[slot][ufy], UFeuer[slot][ufz], 0.0, 0.0, 0.0);
    }

    Dieser "LivePlayerBug" ist meist das Ergebnis von übergehen der Limits bei den jetzigen Godfatheredits.
    Es kann gut sein das du zum beispiel das Limit für Fraktionsfahrzeuge bei dem Fraktionsautohaussystem übergangen hast.
    Es könnte jedoch auch an was anderem liegen , da ich bisher nur eine Fehlerquelle für den Bug kenne, da ein bekannter von mir diesen Bug auch mal hatte.


    zwei möglichkeiten hast du dazu entweder du entfernst die stock Deklaration und schreibst es als
    Float:heron(x)
    oder du machst eine public draus
    forward Float:heron(x);
    public Float:heron(x)

    Guten Abend Community,


    Ich habe ein Frage wie kann ich z.B Kronehit ( --->>> KLICK <<<-----)


    Den Radio Sender einbinden ?? mit der Normalen URL gehts ja nicht


    Da ich selbst ein kleiner Liebhaber von Kronehit bin , wenn ich dazu komme in den Urlaub zu fahren in die richtung Österreich
    habe ich mal die url raus gesucht


    hier bitte
    PlayAudioStreamForPlayer(playerid, "http://onair.krone.at/kronehit.mp3.m3u");


    mehr zur weiteren verwendung von PlayAudioStreamForPlayer findest du hier
    http://wiki.sa-mp.com/wiki/PlayAudioStreamForPlayer

    was passiert wenn sie verstößt gegen die license ? ^^


    Was nun mal bei einem Vertragsbruch passiert ^^.
    So wie man den lieben Key kennt würde dies wahrscheinlich im schlimmsten zur Anzeige führen und
    die nette Blacklistung der Server, welche dies verwenden würden von der Samp Masterlist.
    So wie er es bei dem Plugin CNPC machen wollte.


    //edit
    lollipop:

    Zitat

    -Wenn man /xy eingibt und es das nicht gibt kommt: "Die Funktion /xz existiert nicht "

    Dies geht ja ohne hin schon ^^

    Zum Thema Tester:


    Wenn wir die Closed Beta erreicht haben dann werden wir natürlich auf euch zu kommen.
    Trotzdem danken wir schon für solch ein großes Interesse an diesem Projekt.
    Aber wie es schon erwähnt wurde zum Fortschritt des Projektes. Da samp uns gerne immer wieder Steine in den
    weg legt dauert dies dementsprechend etwas länger zu dem sind manche angefangenen Funktion letztendlich auch wieder
    nicht umsetzbar da sie sonst gegen die samp license verstößen würde.


    Ja danke für deine korrektur wo habe ich so spät nur mein Kopf gelassen(wahrscheinlich ist der schon im Bett).
    Das einzigste was man noch am code verändern könnte wäre die kompaktivität und so gesehen noch was an der schleife.
    :D



    new i=0;
    for(;i!=MAX_PLAYERS;i++)

    Ihr müsstet mit dem Breadfish Team sprechen, das auch closed Source releasen zu dürfen.


    Ich bitte dich hier eine konstruktive Kritik zu äußern das ist hier immer noch eine Vorstellung und es ist noch lang nicht fertig dieses
    Projekt ist so gesehen noch in Plannung.
    Also bitte ich dich nochmal den Text aufmerksam zu lesen und dein Beitrag zu bearbeiten und gegebenfalls Kritik zu äußern oder
    positive aspekte zu nennen.


    __________________________________


    @ BlackAce


    Zum Thema CNPC Plugin das böse daran war das du die Spieleranzahl deines Server pushen konntest mit so genannten


    Fakeusern. Dies gibts ja heut immer noch jedoch nicht als plugin sondern als externes Programm. ^^


    new player = random(MAX_PLAYERS);


    das würde nix bringen er will ja ein zufälligen Spieler der online ist.


    daher brauchst du eine variabel und eine schleife die variabel haust du dann in random rein.
    ahja random gibt den wert wieder daher kannst du das ganze auch gleich weiter verwenden.


    new x;
    for(new i; i < MAX_PLAYERS; ++i){
    if(IsPlayerConnected(i))x++;
    }
    // Bsp: für die weiter verwendung
    SetPlayerTeam(random(x),2);