Beiträge von KeksOfDeath

    if(strcmp(cmdtext,"/fixcar",true) == 0)
    {
    new geld = random(999)+1;
    if(GetPlayerMoney(playerid)>=geld) {
    SendClientMessage(playerid,COLOR_GREEN,"Car fixed!");
    SetVehicleHealth(GetPlayerVehicleID(playerid),1250.0);
    GivePlayerMoney(playerid,-geld) }
    else { SendClientMessage(playerid,COLOR_RED,"You don´t have the money!"); }
    return 1;
    }

    Flüchtigkeitsfehler. Mach als variable=random(999)+1;
    Denn random(999) sucht er zufällig 0-999 aus und dann einfach plus 1 ;)
    und schon klappts auch mit der Nachbarin ;)


    Ums jetzt nochmal ganz genau zu nehmen:
    new geld=random(1000)+1;
    War richtig, bei "random(1000)" wählt er eine Zahl zwischen 0 und 999 aus
    999+1=1000 & 0+1=1

    Bei solchen Fragen ist es sehr hilfreich, wenn man dabeischriebt, wie man die/das Paramter bei sich normalerweise ausliest (dcmd, strtok, strget, sscanf), weil man sonst entweder hohe Gefahr läuft, es auf dem falschen Weg zu machen, oder man macht es sehr kompliziert (cmdtext[7] und so...)
    //EDIT: Hab grad in nem anderen Thread von dir gefunden, womit du arbeitest
    //OnPlayerComamndText:
    dcmd(zbomb,5,cmdtext);
    //in kein callback
    dcmd_zbomb(playerid,params[]) {
    new zeit,rad;
    if(sscanf(params,"dd",zeit,rad)) return SendClientMessage(playerid,FARBE,"/zbomb zeit radius");
    if(zeit>=1) {
    if(rad>=1) {
    GivePlayerMoney(playerid,-(rad*10));//er verleirt pro radius 10$, d.h. bei 100 radius 1000$
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetTimerEx("boom",zeit*1000,0,"fffd",x,y,z,rad); }
    else { SendClientMessage(playerid,FRBE,"Radius muss mindestens 1 sein"); }}
    else { SendClientMessage(playerid,FARBE,"Zeit muss mindestens 1 sein"); }
    return 1;
    }
    //ganz anch oben:
    forward boom(Float:xbx, Float:yby, Float:zbz, brad);
    //ganz nach unten:
    public boom(Float:xbx, Float:yby, Float:zbz, brad) {
    CreateExplosion(xbx,yby,zbz,[trage hier den explosionstypen ein und entferne auch die '[]'],brad);
    return 1;
    }

    Hast du auch irgnedwo die... ich nenns jetzt mal "Fortsetzung", also in etwa sowas (außerhalb eines publics):
    dcmd_kick(playerid,params[]) {
    if(...
    //...
    Also hast du auch irgendwo den Code?
    Und zu den ... is not impletment... forwarden
    forward OnPlayerUpdate(playerid);
    forward ChatLog(was hier reinkommt weiß ich nicht, wird ja bei dir stehen);

    Aber dann gibts wieder die Frage: Ist das, was du in GM einbauen willst, auch im FS deklariert und... müssen die dann nicht zusammenarbeiten?
    Du hast als Beispiel:
    printf("%d",tode[playerid]);
    Allerdings werden die Tode im GM gezählt, genau, wie sich eingeloggt
    Das wär dann erstmal ein Aufwand, das alles ins FS zu bekommen^^

    Es kommt drauf an, kleines Beispiel:
    Filterscript: Ein timer, der jede Sekunde eine for-player-schleife macht, um sagen wir jetzt mal um was gegen Waffencheats zu machen
    GameMode: Läuft auch jede Sekunde eine for-player-schleife, um ja kp^^ allen Usern 1$ zu geben
    Dann wäre es besser, wenn man das auf eine Schleife einschränkt --> Timer ins FS oder in GM umbauen
    Aber sonst macht das eigentlich nichts, kann man machen, wie man will

    public checkparea(playerid)
    {
    if(PlayerToPoint(10.0, playerid, 1584.504,-1638.132,12.346)) // 10.0 ist der Radius - Polizei tor
    {
    if(gTeam[playerid] == TEAM_COPS)
    {
    MoveObject(Polizeigate, 1592.737,-1638.132,12.346, 2.5); // 2.5 ist glaub ich die Geschwindigkeit
    SetTimer("closegate", 5000, 0);
    }}
    else if(PlayerToPoint(...)) {
    //...
    MoveObject(...);
    //....
    }
    else if(PlayerTo...
    //...
    //und immer so weiter
    return 1;
    }

    Alsööö
    //ganz nach oben:
    new gemutet[MAX_PLAYERS];
    //OnPlayerComamndText:
    if(strcmp(cmdtext,"/mutelist",true)==0) {
    new s[128], name[MAX_PLAYER_NAME], gla;
    for(new i=0; i<MAX_PLAYERS; i++) {
    if(IsPlayerConnected(i)) {
    if(gemutet[i]==1) {
    GetPlayerName(i,name,sizeof(name));
    gla++;
    if(gla==1) {
    format(s,sizeof(s),"%s",name); }
    else if(gla>=2) {
    format(s,sizeof(s),"%s, %s",s,name); }}}}
    if(gla==0) {
    format(s,sizeof(s),"Es istn iemand gemutet"); }
    SendClientMessage(playerid,FARBE,s);
    return 1;
    }
    if(strcmp(cmdtext,"/mute",true,5)==0) {
    if(!strlen(cmdtext[6])) return SendClientMessage(playerid,FARBE,"/mute ID");
    new typ=strval(cmdtext[6]);
    if(IsPlayerConnected(typ)) {
    gemutet[typ]=1; }//messages kannst ja noch selbst einbauen....
    return 1;
    }
    //den unmute b efehl kannst ja anhand des mute befehls selbst machen....
    //OnPlayerText:
    if(gemutet[playerid]==1) {
    SendClientMessage(playerid,FARBE,"Du bist gemutet");
    return 0; }
    Und wenn ihr Wünsche habt, in denen man mit Parametern arbeitet, dann ist es sehr hilfreich, wenn ihr noch dabeischreibt, womit ihr arbeitet (sscanf, dcmd, strget, strtok), denn sonst muss man das immer auf diesem doofen weg machen, wie der /mute befehl ist, also immer die Zahlen bei Änderung neu eingeben, oder auf gut Glück hoffen, dass die Person die Funktion besitzt

    InteriorID und Koordinaten von hier holen, ein Befehl machen, mit dem man da rein kann und fertig
    Bei so einer knappen Frage kann man dazu nicht mehr sagen

    Wie meinen? 8|
    MoveObject(tor1,x,y,z);
    MoveObject(tor2,x,y,z);
    MoveObject(tor3,x,y,z);
    So bewegst du jetzt 3 Tore...
    Oder meintest du das jetzt anders?
    PS: 1500. Post