Beiträge von Terrador

    BTW


    1. WARUM 4096 STRING?
    2. du formatierst das und dann kann er am Ende sowieso nur 1 anzeigen du müsstest dann 3 verschiedene Strings formatieren und dann in einem zusammenschlissen


    b2t:
    Ich bin mir nicht sicher aber ich würde den string einfach kleiner machen vielleicht kann er keinen 4k grßen strin in einem Dialog anzeigen lassen oO

    Hallo Community


    Mein Problem ist dass selbst wenn ich /lock gemacht habe, kann man trozdem in das Fahrzeug einsteigen ?(
    Ich hatte es früher so geregelt das das Fahrzeug jede Sekunden abegeschlossen wird
    aber das ist Ressourcenfressend und das wollte ich zum großen Teil in meinem Selfmade vermeiden


    Der Befehl:
    ocmd:lock(playerid,params[])
    {
    if(Eingeloggt[playerid] == 0) { return 1; }
    if(GetPlayerVehicleSeat(playerid) == 0) {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 509 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 481 || GetVehicleModel(GetPlayerVehicleID(playerid)) == 510) {
    SendInfoMsg(playerid, "Du sitzt auf einem Fahrrad. Das hat keine Türen!");
    }
    else if (Abgeschlossen[GetPlayerVehicleID(playerid)] == false ) {
    SetVehicleParamsForAll(GetPlayerVehicleID(playerid), 1);
    Abgeschlossen[GetPlayerVehicleID(playerid)] = true;
    }
    else {
    SetVehicleParamsForAll(GetPlayerVehicleID(playerid), 0);
    Abgeschlossen[GetPlayerVehicleID(playerid)] = false;
    }
    }
    return 1;
    }


    Und die "SetVehicleParamsForAll" Funktion
    Function SetVehicleParamsForAll(vehicle,tuer)
    {
    for(new p=0; p<MAX_PLAYERS; p++)
    {
    SetVehicleParamsForPlayer(vehicle,p,0,tuer);
    }
    }


    Wenn mir jemadn helfen kann: Vielen Dank im Vorraus

    Hallo community


    Bei meinem Tazer befehl wird der Spieler nicht in die Animation versetzt -_-


    ocmd:tazer(playerid)
    {
    if(Eingeloggt[playerid] == 0) { return 1; }
    if(!Polizist(playerid)) { return SendInfoMsg(playerid, "Du bist kein Polizist"); }
    if(IsPlayerInAnyVehicle(playerid)) { return SendInfoMsg(playerid, "Du kannst diesen Befehl nicht in einem Fahrzeug ausführen!"); }
    new spieler = NahsterSpieler(playerid);
    if(Gefesselt[spieler] == 1) { return SendInfoMsg(playerid, "Der nahste Spieler ist schon gefesselt!"); }
    ApplyAnimation(spieler, "CRACK", "crckdeth2", 4.1, 1, 0, 0, 0, 0);
    Gefesselt[spieler] = 1;
    TogglePlayerControllable(spieler, 0);
    GameTextForPlayer(spieler, "~r~Getazert!", 3000, 3);
    new tmpstr[128];
    format(tmpstr, sizeof tmpstr, "Du hast %s getazert!", SpielerName(spieler));
    SendInfoMsg(playerid, tmpstr);
    format(tmpstr, sizeof tmpstr, "* %s hat %s getazert!",SpielerName(playerid), SpielerName(spieler));
    SendMsgAround(30.0, playerid, tmpstr,FARBE_Lila,FARBE_Lila,FARBE_Lila,FARBE_Lila,FARBE_Lila);
    return 1;
    }


    Also er wird gefreezed aber das wars

    Hallo..


    Ich weis echt nicht mehr weiter -_-
    Also egal was in für ein Fahrzeug ich sitze jedes mal brauche ich ein Autoführerschein. d.H. Flugzeuge kann man mit dem Autoführerschein fliegen und alles
    Welche Abfrage ist da falsch? ?(


    Hier unter State Change player state driver
    if(VehicleBrauchtKeinSchein(vehicleid)) {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicleid,1,lights,alarm,doors,bonnet,boot,objective);
    }
    if(VehicleIstEinFlugzeug(vehicleid)) {
    if(Spieler[playerid][FlugLic] != 1 && Fahrstunde[playerid] != 1) {
    SendClientMessage(playerid, FARBE_Gelb, " Du hast keinen Flugschein! Dieses Fahrzeug kannst du nicht steuern!");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    if(VehicleIstEinBike(vehicleid)) {
    if(Spieler[playerid][BikeLic] != 1 && Fahrstunde[playerid] != 1) {
    SendClientMessage(playerid, FARBE_Gelb, " Du hast keinen Motorradschein! Dieses Fahrzeug kannst du nicht steuern!");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    if(VehicleIstEinBoot(vehicleid)) {
    if(Spieler[playerid][BootLic] != 1 && Fahrstunde[playerid] != 1) {
    SendClientMessage(playerid, FARBE_Gelb, " Du hast keinen Bootsschein! Dieses Fahrzeug kannst du nicht steuern!");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    if(VehicleIstEinLKW(vehicleid)) {
    if(Spieler[playerid][LKWLic] != 1 && Fahrstunde[playerid] != 1) {
    SendClientMessage(playerid, FARBE_Gelb, " Du hast keinen LKW Schein! Dieses Fahrzeug kannst du nicht steuern!");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    else if(VehicleBrauchtKeinSchein(vehicleid)) {
    if(Spieler[playerid][AutoLic] != 1 && Fahrstunde[playerid] != 1) {
    SendClientMessage(playerid, FARBE_Gelb, " Du hast keinen Autoführerschein ! Dieses Fahrzeug kannst du nicht steuern!");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }


    So und hier die Publics
    Function VehicleIstEinFlugzeug(vehicleid)
    {
    if(vehicleid == 592 || vehicleid == 577 || vehicleid == 511 || vehicleid == 512) {
    return 1;
    }
    if(vehicleid == 593 || vehicleid == 520 || vehicleid == 553 || vehicleid == 476) {
    return 1;
    }
    if(vehicleid == 519 || vehicleid == 460 || vehicleid == 513 || vehicleid == 548) {
    return 1;
    }
    if(vehicleid == 425 || vehicleid == 417 || vehicleid == 487 || vehicleid == 488) {
    return 1;
    }
    if(vehicleid == 497 || vehicleid == 563 || vehicleid == 447 || vehicleid == 469) {
    return 1;
    }
    return 0;
    }


    Function VehicleIstEinBike(vehicleid)
    {
    if(vehicleid == 448 || vehicleid == 581 || vehicleid == 522 || vehicleid == 461) {
    return 1;
    }
    if(vehicleid == 521 || vehicleid == 523 || vehicleid == 463 || vehicleid == 586) {
    return 1;
    }
    if(vehicleid == 468 || vehicleid == 471) {
    return 1;
    }
    return 0;
    }


    Function VehicleIstEinBoot(vehicleid)
    {
    if(vehicleid == 472 || vehicleid == 473 || vehicleid == 493 || vehicleid == 595) {
    return 1;
    }
    if(vehicleid == 484 || vehicleid == 430 || vehicleid == 453 || vehicleid == 452) {
    return 1;
    }
    if(vehicleid == 446 || vehicleid == 454) {
    return 1;
    }
    return 0;
    }


    Function VehicleIstEinLKW(vehicleid)
    {
    if(vehicleid == 499 || vehicleid == 498 || vehicleid == 609 || vehicleid == 524) {
    return 1;
    }
    if(vehicleid == 578 || vehicleid == 455 || vehicleid == 403 || vehicleid == 414) {
    return 1;
    }
    if(vehicleid == 443 || vehicleid == 514 || vehicleid == 515 || vehicleid == 456) {
    return 1;
    }
    return 0;
    }


    Function VehicleBrauchtKeinSchein(vehicleid)
    {
    if(vehicleid == 509 || vehicleid == 481 || vehicleid == 510 || vehicleid == 462) {
    return 1;
    }
    return 0;
    }


    #define Tankstellen 11
    enum TankstellenEnum
    {
    Float:TankeX,
    Float:TankeY,
    Float:TankeZ,
    };
    new TankstellenCoords[Tankstellen][TankstellenEnum] = {
    {1003.2424,-939.8856,42.1797},
    {1943.7170,-1770.8899,13.1202},
    {-91.9763,-1169.1646,2.1538},
    {-1676.4634,413.4637,6.9068},
    {-2413.3281,975.9434,45.0249},
    {-1328.4108,2677.6746,50.0625},
    {616.2668,1690.2572,6.9922},
    {1596.4333,2199.7446,10.8203},
    {2146.6416,2748.0005,10.8203},
    {2114.7175,920.2508,10.8203},
    {-1605.9790,-2714.2974,48.5335}
    };


    OnGameModeInit
    for(new o = 0; o < Tankstellen; o++) {
    AddStaticPickup(1239, 23, TankstellenCoords[o][TankeX],TankstellenCoords[o][TankeY],TankstellenCoords[o][TankeZ], 0);
    Create3DTextLabel("[Tankstelle]\nZum tanken ,'/tanken' tippen",FARBE_Gelb,TankstellenCoords[o][TankeX],TankstellenCoords[o][TankeY],TankstellenCoords[o][TankeZ], 30.0,0,1);
    }


    /tanken
    ocmd:tanken(playerid)
    {
    if(Eingeloggt[playerid] == 0) { return 1; }
    for(new o = 0; o < Tankstellen; o++) {
    if(!IsPlayerInRangeOfPoint(playerid, 20.0, TankstellenCoords[o][TankeX],TankstellenCoords[o][TankeY],TankstellenCoords[o][TankeZ])) {
    SendInfoMsg(playerid, "Du bist an keiner Tankstelle!");
    return 1;
    }
    }
    if (GetPlayerVehicleSeat(playerid) != 0) return SendClientMessage(playerid,FARBE_Rot,"Du bist in keinem Fahrzeug (oder kein Fahrer).");
    new car = GetPlayerVehicleID(playerid);
    if (TanktGerade[car]) return SendInfoMsg(playerid, "Du tankst schon!");
    if (Motor[car] == true) return SendInfoMsg(playerid, "Du musst vor dem Tanken den Motor ausschalten.");
    new ZuTanken = 100-Tank[car];
    new preis = ZuTanken * BENZINPREIS;
    if (Spieler[playerid][Geld]-preis < 0) return SendClientMessage(playerid,FARBE_Grad2,"Du hast nicht genug Geld!");
    Spieler[playerid][Geld] -= preis;
    SendClientMessage(playerid, FARBE_Gruen, "Tanken wird gestartet.");
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid,0);
    TanktGerade[car] = true;
    tanktimer[playerid] = SetTimerEx("Auftanken",500,true,"i",playerid);
    return 1;
    }


    So jedes mal wenn ich jetzt /tanken eingebe, steht da: "Du bist an keiner Tankstelle" ?(
    Aber egal wo ich das mache

    Also mein Problem ist, dass ich ein Pickup erstellen will wenn jemand off geht. 1 Minute danach sollte es wieder verschwinden


    Hier der Code
    new OfflinePickup[MAX_PLAYERS];
    new Text3D:Offline3DTextdraw[MAX_PLAYERS];
    new OfflineVar[MAX_PLAYERS];
    new Float:OfflinePos_x[MAX_PLAYERS], Float:OfflinePos_y[MAX_PLAYERS], Float:OfflinePos_z[MAX_PLAYERS];
    new OfflineWanted[MAX_PLAYERS];
    new OfflineName[MAX_PLAYER_NAME][MAX_PLAYERS];


    Unter Onplayerdisconnect

    /*if(OfflineVar[playerid] == 1) {
    OfflineVar[playerid] = 0;
    DestroyPickup(OfflinePickup[playerid]);
    Delete3DTextLabel(Offline3DTextdraw[playerid]);
    }*/
    format(string, sizeof string, "Offline\n[%s]",SpielerName(playerid));
    OfflineVar[playerid] = 1;
    GetPlayerPos(playerid, OfflinePos_x[playerid],OfflinePos_y[playerid],OfflinePos_z[playerid]);
    OfflineWanted[playerid] = Spieler[playerid][Wanted];
    OfflineName[playerid] = SpielerName(playerid);
    Offline3DTextdraw[playerid] = Create3DTextLabel(string, FARBE_Grad1, Pos_x, Pos_y, Pos_z, 10.0, GetPlayerVirtualWorld(playerid), 1);
    OfflinePickup[playerid] = CreatePickup(1275, 23, Pos_x, Pos_y, Pos_z, GetPlayerVirtualWorld(playerid));
    SetTimerEx("EineMinuteNachLogout",60000,0,"i",playerid);


    Und hier die Funktion für den Timer der einen minute
    Function EineMinuteNachLogout(playerid)
    {
    OfflineVar[playerid] = 0;
    DestroyPickup(OfflinePickup[playerid]);
    Delete3DTextLabel(Offline3DTextdraw[playerid]);
    }


    Wenn jemand eine Lösung hat
    Danke schoneinmal im Vorraus ;) :thumbup:


    /EDIT Überschrift
    oO Gehirnfail xD Vorher: Offline Pickup + 3D Text werden nicht erzählt