Beiträge von Kaliber

    mach die sendclientmessage doch bei OnPlayerConnect da ist der Fehler behobn


    mfG NExiz


    Wurde doch schon gemacht :whistling:



    OnGameModeInit()
    hat keine Parameter.


    Sehr gut erkannt und gesagt, @Threadersteller deshalb kommt die Fehlermeldung, weil der Parameter "playerid" nicht übergeben wird ;)


    Darfst du nicht unter OnGameModeInit einfügen,
    da dies für Einstellungen des Script dienst, bzw
    für Sachen die nicht für einzehlne Spieler gedacht sind.
    (Weiß nicht wie man es ausdrücken soll)


    OnGameModeInit ist ein Callback der dann ausgeführt wird, sobald man den Server startet unabhängig davon, was man da rein schreibt :D


    FTW = For the Win


    Kann es heißen, es kann aber auch Fuck The World heißen ;)


    mfg. :thumbup:

    Schreibe es so:


    /*932*/if(strcmp(cmdtext, "/tanken", true) == 0)
    /*933*/ {
    /*934*/ if(GetVehicleState(playerid) != PLAYER_STATE_DRIVER) return SendClientMessage(playerid,COLOR_RED,"Du bist in keinem Fahrzeug (oder kein Fahrer).");
    /*935*/ new car = GetPlayerVehicleID(playerid);
    /*936*/ if(TanktGerade[car]) return SendClientMessage(playerid,COLOR_GREY,"Du tankst schon!");
    /*937*/ if(Motor[car] == true) return SendClientMessage(playerid,COLOR_GREY,"Du musst vor dem Tanken den Motor ausschalten.");
    /*938*/ new ZuTanken = 100-Tank[car];
    /*939*/ new preis = ZuTanken * BENZINPREIS;
    /*940*/ if (GetPlayerMoney(playerid)-preis < 0) return SendClientMessage(playerid,COLOR_GREY,"Du hast nicht genug Geld!");
    /*941*/ GivePlayerMoney(playerid, -preis);
    /*942*/ SendClientMessage(playerid, COLOR_GREEN, "Tanken wird gestartet.");
    /*943*/ SetCameraBehindPlayer(playerid);
    /*944*/ TogglePlayerControllable(playerid,0);
    /*945*/ TanktGerade[car] = true;
    /*946*/ tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
    /*947*/ return 1;
    /*948*/ }


    mfg. :thumbup:

    Was habt ihr immer fürn Problem? wieso schreibt ihr "Schreib dir ein selber" -.-* wenn ich ein Suche dan suche ich es, und ich ffrage net ob ich es selber schreiben soll :thumbdown:


    Dann wäre es aber genau auf deine Wünsche/Vorstellungen angepasst, was ihr immer damit für ein Problem habt :whistling:


    Und es gibt viele Möglichkeiten sowas zu suchen:
    Paintballsysteme oder Suche


    mfg. :thumbup:

    Wieso schreibst du dir das nicht schnell selber, das dauert keine 5 Minuten so ein FS :D


    PS: Nein, ich werde es dir nicht schreiben...


    mfg. :huh:

    So:


    //bei OnPlayerLogin
    if(IsACop(playerid))
    {
    SetTimerEx("Timer", 1000, 1, "i", playerid);
    }


    //der Callback
    forward Timer(playerid);
    public Timer(playerid)
    {
    new PlayerText3D:playertextid;
    for(new i; i<100; i++)
    {
    if(GetPlayerWantedLevel(i) == 0) continue;
    if(playertextid > 0) { DeletePlayer3DTextLabel(playerid, playertextid); }
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(i, X, Y, Z+2);
    new str[128];
    format(str, 128,"Dieser Spieler hat %d Wanteds !",GetPlayerWantedLevel(i));
    playertextid = CreatePlayer3DTextLabel(playerid,str,0x008080FF,X,Y,Z,40.0);
    }
    return 1;
    }


    Ist aus dem Kopf geschrieben, könnte aber gehen :D


    mfg. :thumbup:

    Damit kann er aber ned höher fliegen, Kaliber, damit wird seine Position ganz weit hoch gesetzt sobald er ein Stück über MAX_HIGH ist.
    Er will ja flüssig durchfliegen können, statt herum geportet zu werden.
    Wie willst du außerdem wieder herunter kommen? Einmal über MAX_HIGH und du wirst die ganze Zeit wieder dahin gesetzt...


    Achsag bloß :whistling:


    Mit einem Timer und einem Abbrech Befehl, der mit einer Variable verbunden wird und die MAX_WILL wird auch mit dem Timer ++ gesetzt ;)


    mfg. :thumbup:

    So:


    if(strcmp(cmd, "/parkkralle", true) == 0)
    {
    if(SpielerInfo[playerid][sMember] == 18)
    {
    tmp = strtok(cmdtext,idx);
    new Float:bX,Float:bY,Float:bZ;
    GetPlayerPos(playerid,bX,bY,bZ);
    new Float:aX,Float:aY,Float:aZ;
    if(!strlen(tmp)) return SendClientMessage(playerid,0xFF0000FF,"==[Parkkralle]== /parkkralle [name] >>> [Anbauen oder Abbauen]");
    if(strcmp(tmp,"Anbauen",true) == 0)
    {
    for(new vid;vid!=MAX_VEHICLES;vid++)
    {
    GetVehiclePos(vid,aX,aY,aZ);
    if((floatabs(bX-aX)<3.0)&&(floatabs(bY-aY)<3.0)&&(floatabs(bZ-aZ)<3.0)&&(vid!=GetPlayerVehicleID(playerid)))
    {
    if(!IsADtCar(vid))
    {
    SendClientMessage(playerid,0x33CCFFAA,"Du kannst nur an Spielerfahrzeugen eine Parkkralle anbringen!");
    return 1;
    }
    else
    {
    //Wird gemacht
    new theOwner = GetOwner(vid);
    new xid;
    for(new x;x!=MaxVeh;x++)
    {
    if(Dtc_PlayerHaveCar[playerid][x])
    {
    if(vid == PlayerCar[theOwner][x][CarId])
    {
    xid = x;
    break;
    }
    }
    }
    PlayerCar[theOwner][xid][Kralle] = 1;
    format(globquery,256,"UPDATE `carsystem` SET `Kralle`='1' WHERE `CarOwner`='%s_%d'",GetName(playerid),xid);
    mysql_query(globquery);
    format(globquery, sizeof(globquery), "* %s baut eine Parkkralle an das Fahrzeug.", GetName(playerid));
    ProxDetector(30.0, playerid, globquery, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    return 1;
    }
    }
    }
    }
    else if(strcmp(tmp,"Abbauen",true) == 0)
    {
    for(new vid;vid!=MAX_VEHICLES;vid++)
    {
    GetVehiclePos(vid,aX,aY,aZ);
    if ((floatabs(bX-aX)<3.0)&&(floatabs(bY-aY)<3.0)&&(floatabs(bZ-aZ)<3.0)&&(vid!=GetPlayerVehicleID(playerid)))
    {
    new theOwner = GetOwner(vid);
    new xid;
    for(new x;x!=MaxVeh;x++)
    {
    if(Dtc_PlayerHaveCar[playerid][x])
    {
    if(vid == PlayerCar[theOwner][x][CarId])
    {
    xid = x;
    break;
    }
    }
    }
    PlayerCar[theOwner][xid][Kralle] = 0;
    format(globquery,256,"UPDATE `carsystem` SET `Kralle`='0' WHERE `CarOwner`='%s_%d'",GetName(playerid),xid);
    mysql_query(globquery);
    format(globquery, sizeof(globquery), "* %s baut die Parkkralle des Fahrzeugs ab.", GetName(playerid));
    ProxDetector(30.0, playerid, globquery, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "============= [Parkkralle] =============");
    SendClientMessage(playerid, COLOR_RED, "FEHLER: /parkkralle [name]");
    SendClientMessage(playerid, COLOR_GREY, "Verfügbare Namen: Anbauen, Abbauen");
    SendClientMessage(playerid, COLOR_WHITE, "============= [Parkkralle] =============");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du gehörst nicht zum Ordnungsamt!");
    return 1;
    }
    return 1;
    }


    mfg. :thumbup:

    Er will doch höher fliegen also muss da noch was plus also so:


    #define MAX_WILL 1//wie viel höher du halt fliegen willst als maximal höhe


    if(Posi[2] > MAX_HIGH)SetVehiclePos(GetPlayerVehicleID(playerid), Posi[0], Posi[1], MAX_HIGH+MAX_WILL);


    mfg. :thumbup: