Beiträge von MVN050

    @Kaliber
    Perfekt genau so will ich das haben klappt wunderbar so :)


    bedanke mich dan mal an alle die mir geholfen haben was ja anscheint nicht ganz so einfach war :D aber es funktioniert jetzt wunderbar :)
    jetzt aber mal eine kurze verständnissfrage zum ersten code von Kaliber


    Spoiler anzeigen
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22

    Spoiler anzeigen
    //Oben im Script
    new bool:InZone[MAX_PLAYERS];

    Spoiler anzeigen
    //Bei OnPlayerConnect
    SetTimerEx("Audio_Timer", 1000, 1, "i", playerid);

    Spoiler anzeigen
    //Der Callback
    forward Audio_Timer(playerid);
    public Audio_Timer(playerid)
    {
    if(!IsPlayerInRangeOfPoint(playerid, 20.0, X, Y, Z))//20.0 = Radius von dem Gebiet | X,Y,Z durch koordinaten von dem Gebiet ersetzen
    {
    if(InZone[playerid] == false) return 1;
    InZone[playerid] = false;
    StopAudioStreamForPlayer(playerid);
    return 1;
    }
    if(InZone[playerid] == true) return 1;
    PlayAudioStreamForPlayer(playerid, "http://XXX.de/fetteBeats.mp3");
    InZone[playerid] = true;
    return 1;
    }


    new bool:InZone[MAX_PLAYERS];
    heisst also
    der "boool" (was auch immer das sein sollte) heisst in dem beispielt jetzt "inZone" das könnte auch heissen "metalmusikzone"?


    SetTimerEx("Audio_Timer", 1000, 1, "i", playerid);
    heisst also
    der Audio_timer ist der name von dem Audiotimer den könnte man auch umbenennen in ähm sagenwir mal metalmusiktimer? ich geh ma davon aus das die 1000 dan die zeitangabe ist und es in millisekunden ist also 1 sekunde in dme beispiel?


    und im nächsten fall wird einfach gekuckt ob der jenige in der "inZone" ist oder nicht jenachdem passiert etwas?
    jetz ne andere frage :D ja ich will schonwieder weiter gehen xD



    wenn ich jetzt 2 zonen habe ich sag mal 2 diskos :D müsste ich dan alles von vorne machen und den bool "inZone"umbenennen und den ganzen code kopieren und alles was "inZone" ist auf das andere stellen? zb auf "diskozone"? ich will eine weitere zone haben mit einer anderen musik :D

    und jetzt für anfänger? sorry aber ich bin kein profi und keine ahnung wovon du laberst :(
    was ist ein bool?


    aber wie du das meinst is mir klar
    aber dan müsste doch auch immer ein timer abgespielt werden oder nicht? ich will ja ein festes gebiet haben :(

    es geht darum das ich ein audiostream in einem gebeit haben will der automatisch (nicht per befehl) angeht und wenn man das gebeit verlässt soll er wieder automatisch ausgehen...


    und mit playerupdate fängt der stream jede 30 sekunden neu an das is aber nit sinn und zweck...

    egal wo oder wie ich das einstelle :( das geht nich
    ich bin immer "nicht in reichtweite...


    und wo muss ich das einbauen?
    IsPlayerInArea(playerid,-2314.2781,-1595.9828,485.2007)
    geht nich genau so wie
    IsPlayerInArea(playerid,150.0,-2314.2781,-1595.9828,485.2007)

    Dazu musst du einen Timer verwenden, der alle Spieler durch geht und wenn jmd. in der nähe ist spielt es den Audiostream für denjenigen ab
    Nur so als kleiner Denkanstoß


    Du könntest das theoretisch auch unter OnPlayerUpdate packen aber das wird ca. 30mal die Sekunde aufgerufen und frisst derbe Ressourcen ;)


    hey danke das funktioniert :D
    allerdings kommt dan immer nach ca 30 sekunden "du hast die base verlassen..."
    oder wenn man in der base is f#ängt die musik bei ca 30 sekunden immerwieder neu an?


    ich weiss nich wie ich das sonst machen soll....

    vielen danke für die hilfe :)
    allerdings bekomme ich immer unterschiedliche probleme wenn ich das irgentwo einbaue...
    kann mir da mal jemand ein filterscript oder so grob basteln? ich steh grad voll aufem schlach sorry

    moin leute
    ich steh etwas aufem schlach will ich mal sagen...
    auf meinem script habe ich eine fraktion "Rocker" so und ich möchte gerne in der nähe von der base Musik hören... also einen stream von einem webradio...


    mit befehl /musikan bekomm ich das hin allerdings will ich das die musik automatisch anfängt und wenn man von der base wegfährt soll die musik wieder aufhören...
    wie bekomm ich das hin das die musik automatisch anfängt zu spielen wenn man in "playerinrageof..." ist und wie hört sie automatisch wieder auf?
    und wo muss ich das hinschreiben? Danke schonmal :)
    //musik hells angels anmachen
    if(strcmp(cmd, "/metalmusikan", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 150.0,-2314.2781,-1595.9828,485.2007))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    PlayAudioStreamForPlayer(playerid, "http://cent4.serverhostingcenter.com/tunein.php/dzapped/playlist.pls");
    SendClientMessage(playerid, COLOR_GRAD1, "Metalmusik läuft!");
    return 1;
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht in reichweite!");
    }
    }


    //end
    //musik hells angels anmachen
    if(strcmp(cmd, "/metalmusikaus", true) == 0)
    {


    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    StopAudioStreamForPlayer(playerid);
    return 1;
    }



    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht in reichweite!");


    }}


    //end

    moin


    ich komm einfach nicht mehr weiter :(
    ich wollt mir jetzt für mein RL script ein Truckerjob einbauen
    doch leider will es nicht wie ich will


    hier mal der code


    [code]
    //============= TRUCKER SYSTEM ================//


    new Float:Truckerauslieferung[][3] =
    {
    {-1691.0775,413.1492,6.7430}, // Randomspawn
    {-1499.2698,920.6357,6.7523}, // Randomspawn
    {-2559.8162,1387.3102,6.7507}, // Randomspawn
    {-2415.4883,974.5093,44.8547}, // Randomspawn
    {-1605.6731,722.3738,11.5590}, // Randomspawn
    {-1545.6687,125.4373,3.1258}, // Randomspawn
    {-2032.3641,-96.9098,34.7324}, // Randomspawn
    {-2302.4543,-1600.6752,483.6489}, // Randomspawn
    {-2627.7849,210.3817,4.1360}, // Randomspawn
    {-2713.3506,217.7872,3.8177}, // Randomspawn
    {-2440.8267,521.8286,29.4716}, // Randomspawn
    {-2268.4565,534.6483,34.5704}, // Randomspawn
    {-2081.1499,902.1279,63.7047}, // Randomspawn
    {-2071.6467,968.6101,61.6295}, // Randomspawn
    {-1652.7308,1221.7322,6.7432}, // Randomspawn
    {-1816.5267,615.9636,34.7486}, // Randomspawn
    {-1955.0966,268.8420,35.0339}, // Randomspawn
    {-1950.6399,268.5687,40.5989}, // Randomspaw
    {-1898.2039,273.3644,40.6135}, // Randomspawn
    {-1990.2140,140.7592,27.1104}, // Randomspawn
    {-2030.0050,156.9122,28.3995}, // Randomspawn
    {-1396.7451,-320.6768,13.7120}, // Randomspawn
    {-1554.8813,-440.5547,5.5668} // Randomspawn
    };


    //
    if(IsPlayerConnected(playerid))
    {
    new rand = random(sizeof(Truckerauslieferung));


    if(strcmp(cmd, "/truckerwaren", true) == 0)
    {


    if(PlayerInfo[playerid][pJob] == 127)
    {




    if(IsPlayerInRangeOfPoint(playerid, 5.0, -1949.3571,-1086.3457,30.3375))


    {
    if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))){
    SendClientMessage(playerid,COLOR_RED,"* Ohne Anhänger gehts nicht!");
    return 1; }


    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GOLD, "____________________________|Warenhilfe|____________________________");
    SendClientMessage(playerid, COLOR_WHITE, "Benutzung: /waren [Aktion]");
    SendClientMessage(playerid, COLOR_WHITE, "Verfügbare Funktionen: kaufen, tauschen, verkaufen, abrechnung");
    SendClientMessage(playerid, COLOR_WHITE, "*Kaufen [LS], Tauschen [SF], Verkaufen [LV], Abrechnung [LS]");
    SendClientMessage(playerid, COLOR_GOLD,"__________________________________________________________________");
    return 1;
    }
    if(strcmp(tmp,"kaufen",true) == 0)
    {


    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GREY, "Benutzung: /waren kaufen [Anzahl]");
    SendClientMessage(playerid, COLOR_GREY, "*Preis pro Ware: 500$, Maximale Waren: 100");
    return 1;
    }




    new menge;
    menge = strval(tmp);
    new preis = menge*500;
    if(menge < 1 || menge > 5)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du musst mindestens 1 Waren und maxiimal 5 Waren kaufen!");
    return 1;
    }
    if(WarenDabei[playerid] >= 5)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast schon 5 Waren dabei!");
    return 1;
    }
    if(preis > GetPlayerMoney(playerid))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Kannst du dir nicht leisten!");
    return 1;
    }



    WarenDabei[playerid] = menge;
    GivePlayerMoney(playerid, -preis);
    format(string, sizeof(string), "*Du hast dir %d Waren im Wert von %d$ gekauft", menge, preis);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Fahre zum roten punkt (Roter Marker)");
    SetPlayerCheckpoint(playerid, Truckerauslieferung[rand][0], Truckerauslieferung[rand][1], Truckerauslieferung[rand][2], 8.0);


    return 1;
    }





    if(IsPlayerInRangeOfPoint(playerid, 25.0, Truckerauslieferung[rand][0], Truckerauslieferung[rand][1], Truckerauslieferung[rand][2])) {




    Waren2Dabei[playerid] = WarenDabei[playerid];
    new geld = Waren2Dabei[playerid] * 1000+random(4000);
    Waren3Verkauft[playerid] = geld;
    format(string, sizeof(string), "*Du hast deine %d Waren ausgeliefert.",WarenDabei[playerid], Waren2Dabei[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Waren wurden ausgeladen (Roter Marker)");
    SetPlayerCheckpoint(playerid, -1941.1073,-1087.4343,30.3402, 8.0);



    return 1;}





    tmp = strtok(cmdtext, idx);
    if(strcmp(tmp,"abrechnung",true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 25.0, -1941.1073,-1087.4343,30.3402))
    {





    new lohn = Waren3Verkauft[playerid] - 2000;
    SendClientMessage(playerid, COLOR_GOLD, "_______________|Abrechunung|_______________");
    format(string, sizeof(string), "Einnahmen gesammt: %d$", Waren3Verkauft[playerid]);
    SendClientMessage(playerid, COLOR_WHITE, string);
    new string2[128];
    format(string2, sizeof(string2), "Lohn abzüglich Tankgebühr: %d$", lohn);
    SendClientMessage(playerid, COLOR_WHITE, string2);
    LSAWaren += Waren3Verkauft[playerid];
    new string10[200];
    format(string10, sizeof(string10), "[Produktverkauf]\nPreis pro Produkt: 50$\nProdukte auf Lager: %d\nKaufen mit /produkt\nEinkauf nur mit Prodlaster", LSAWaren);
    Update3DTextLabelText(LSWText, 0xFFFFFFFF, string10);
    SaveStuff();
    ConsumingMoney[playerid] = 1;
    GivePlayerMoney(playerid, lohn);
    Waren3Verkauft[playerid] = 0;
    Waren2Dabei[playerid] = 0;
    WarenDabei[playerid] = 0;
    SendClientMessage(playerid, COLOR_GOLD, "_________________________________________");
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Chef: Wunderbar hier dein Geld.");
    PlayerInfo[playerid][pFlugTime] = 1800;


    return 1;
    }


    }
    }
    return 1;


    }}}






    Das Kaufen Funzt ohne probleme doch wenn ich dan zu diesem punkt fahre tut sich nix :(
    nach test hab ich dan ausprobiert ob es an dem randonscript liegt und ja es tut es :(


    der checkpoint ist wo anders als der eigentliche punkt zum verkaufen :(
    hab es auch versucht das wenn man in ein checkpoint fahren soll das es funzt aber sogar das geht nicht (fehlermeldung in pawn)


    kann mir da jemand helfen? ich bin noch der totale neuling hier und kenn mich da nit so aus...