Beiträge von 123Maffin

    Ich Poste es jetzt mal einfach hierein da ich finde das es mit SAMP zu tuhen hat.
    Also kann mir jemand von euch erklären wie ich Sachen aus dem Chat auslesen kann und verarbeiten also z.b. Einen automatischen anrufbeantworter.
    Das ganze natürlich mit der API ^^


    Wen ihr meint, dass es nicht hierein gehört bitte ich jemanden dieses Post zu switchen.

    Ich bin zwar auch noch am Lernen allerdings mach ich es so:
    Tutorial angucken, nochmal angucken und dabei mit Scripten, versuchen es zu verstehen, falls nicht verstanden nochmal angucken, dann mit den gelernten funktionen was eigenes Scripten, usw

    EIne Variable ist ein "wort" was erst difinirt werden muss, und in dem Können sachen gespeichert werden um sie nacher wieder abrufen zu können. Variablen sind halt Variable. Ich denke das war jetzt einfach genug ^^ Ansonsten gibts auch noch das Wiki ^^

    Ja ich sehe selber grade mit dem anstupser von John, dass ich das random vergessen habe xD
    Ich teste es mal ^^
    PS: Ob jetzt Case oder if ist eigentlich egal, der unterschied wäre da nur, dass das if mehr resurcen verbraucht ^^


    //e
    Ok es klappt jetzt, nur kann ich das irgendwie verhindern, das 2 mal hintereinander der Gleiche kommt?

    Ich würds so machen:

    if(ooc == 1) || (!IsPlayerAnAdmin(playerid))
    {


    }
    else
    {
    // Hier kommt das rein wen der Player Supporter ist oder der OOC an ist
    }


    Ich habs jetzt so gemacht wen der OOC an ist das die Variable auf 0 steht.


    WIe gesagt wen ich dir das system schreiben soll sag bescheid, wird aber erst morgen was.

    Also das man den einschalten und ausschalten kann würde ich über eine variable die oben im script difiniert wird machennew ooc;
    Dann würd ich wen man z.b. /oocaus eingibt die variable auf 1 setzen und mit /oocein auf 0.
    Dann müste man nurnoch abfragen ob die Variable jetzt den wert 1 oder 0 Besitzt.
    Wen ich dir das schreiben soll sag bescheid wird aber erst morgen was.

    Hey,
    Ich muss mal wieder was fragen -,-
    unzwar habe ich gerade den Job Pilot mit einem Heli gescriptet.
    Ich habe es so gemacht das es mehrere Punkte gibt.
    Zu welchem punkt man jetzt hin muss wird zufällig generirt.
    DIes Funktionirt auch nur wen ich in den Checkpoint reinfliege bleibt er da und ich werd mit dem SendClientMessage zugespammt.
    Hier mal das aus dem OnPlayerEnterCheckpoint:

    new pilotneu = (4);
    switch(pilotneu)
    {
    case 0:
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,-1312.9877,-544.7910,13.8111,10);
    GivePlayerMoney(playerid,5000);
    SendClientMessage(playerid,BLAU,"Du hast 5000$ erhalten. Um weiter zu Arbeiten flieg zum nächsten Checkpoint. Um aufzuhören gib /stopjob ein.");
    }
    case 1:
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,1391.5845,1767.7340,10.4830,10);
    GivePlayerMoney(playerid,5000);
    SendClientMessage(playerid,BLAU,"Du hast 5000$ erhalten. Um weiter zu Arbeiten flieg zum nächsten Checkpoint. Um aufzuhören gib /stopjob ein.");
    }
    case 2:
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,2336.5234,576.9449,7.4438,10);
    GivePlayerMoney(playerid,5000);
    SendClientMessage(playerid,BLAU,"Du hast 5000$ erhalten. Um weiter zu Arbeiten flieg zum nächsten Checkpoint. Um aufzuhören gib /stopjob ein.");
    }
    case 3:
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,774.0029,-1349.2159,13.1949,10);
    GivePlayerMoney(playerid,5000);
    SendClientMessage(playerid,BLAU,"Du hast 5000$ erhalten. Um weiter zu Arbeiten flieg zum nächsten Checkpoint. Um aufzuhören gib /stopjob ein.");
    }
    case 4:
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,-1974.8406,179.8041,27.3504,10);
    GivePlayerMoney(playerid,5000);
    SendClientMessage(playerid,BLAU,"Du hast 5000$ erhalten. Um weiter zu Arbeiten flieg zum nächsten Checkpoint. Um aufzuhören gib /stopjob ein.");
    }
    }


    Ich weis leider nicht warum.


    //e
    Mir ist gerade aufgefallen das das mit dem Zufällig generieren auch nicht funktionirt o,O

    vewende ein array ... also new busl1[MAX_PLAYERS];
    und dann eben busl1[playerid];


    da du aber sicher mehrere jobs machst, ist es besser, jeder buslinie, bzw jedem job eine id zu geben.
    dann erstellst du 2 arrays, einmal eines, dass die id des bisherigen jobs angibt, das andere den derzeitigen checkpoint...
    dann sparst du dir am ende viele nutzlose arrays

    ALso das 2. Verstehe ich jetzt nicht ganz wie müste das den aussehen? new busl1[MAX_PLAYERS]] 1; oderwi? wen ich mehrere jobs mache kann ich doch auch mehrere Arrays machen.

    Hallo,
    Ich habe eben den Job Bussfahrer gescriptet (nur eine linie für einen FunServer also nicht viel Extras).
    Ich bin gerade mit einem die Linie gefahren und irgendwie wurden immer wieder Checkpoints übersprungen.
    Das ganze geschiet über eine Abfrage der einer Variable über switch und case.
    Ist es möglich die Variable so zu gestalten, dass sie für jeden spieler einzelnd da ist?
    Weil ich denke es liegt daran das sich das überschnitten hat.
    Hier mal ein Teil vom Code weil ich nicht denke das alles hier rein muss.

    public OnPlayerEnterCheckpoint(playerid)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    switch(busl1)
    {
    case 0:
    {
    if(GetVehicleModel(vehicleid) == 437)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,824.7072,-1051.4197,24.7785,10);
    busl1 = 1;
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Du sitzt nicht mehr im Bus.(Linie Abgebrochen!)");
    DisablePlayerCheckpoint(playerid);
    }
    }
    case 1:
    {
    if(GetVehicleModel(vehicleid) == 437)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,1237.6943,-943.4542,42.1660,10);
    busl1 = 2;
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Du sitzt nicht mehr im Bus.(Linie Abgebrochen!)");
    DisablePlayerCheckpoint(playerid);
    }
    }
    case 2:
    {
    if(GetVehicleModel(vehicleid) == 437)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,1433.2676,-1037.2535,23.3188,10);
    busl1 = 3;
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Du sitzt nicht mehr im Bus.(Linie Abgebrochen!)");
    DisablePlayerCheckpoint(playerid);
    }
    }

    ...

    case 15:
    {
    if(GetVehicleModel(vehicleid) == 437)
    {
    DisablePlayerCheckpoint(playerid);
    SendClientMessage(playerid,BLAU,"Du hast die Linie beendet und erhälst 15000$.");
    GivePlayerMoney(playerid,15000);
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Du sitzt nicht mehr im Bus.(Linie Abgebrochen!)");
    DisablePlayerCheckpoint(playerid);
    }
    }
    }
    return 1;
    }


    Und hier der Command mit der die Linie anfängt:

    ocmd:buslinie1(playerid,params[])
    {
    busl1 = 0;
    SetPlayerCheckpoint(playerid,894.9324,-1316.7056,13.0776,10);
    return 1;
    }


    Die Variable ist oben im script difinirt:

    new busl1;

    DU könntest dir die Mod S0beit installiren und dann an die stelle fliegen an der du die Kamera haben wilst.
    (Ich weis nicht ob man den nachem davon schreiben darf. Wen nicht bitte Entfernen.)

    Habs schon selber hinbekommen aber trotzdem danke. Mein Fehler war das die Variable im public war.

    Dann zeig mal, was du denn davon versteht (anhand von Code).



    #define FILTERSCRIPT


    #include <a_samp>



    #define WEIß 0xFFFFFFFF
    #define GRUEN 0x00FF00FF


    new message;


    public OnFilterScriptInit()
    {
    print("-------------------------------------------");
    print(" ServerNachicht Filterscript wurde geladen.");
    print(" ~~~~~~~~~~~made by 123Maffin~~~~~~~~~~~~~~");
    print("-------------------------------------------");
    //SetTimer("servernachicht",1000*60*10,true);
    SetTimer("servernachicht",5000,true); //Zum Testen.
    }


    forward servernachicht();


    public servernachicht()
    {
    message = 0;
    switch(message)
    {
    case 0:
    {
    print("[ServerNachicht]: Nachicht 1 wurde gesendet.");
    SendClientMessageToAll(GRUEN,"______________________________{FFFFFF}ServerMeldung{00FF46}_________________________________");
    SendClientMessageToAll(WEIß," Dieser Server ist noch im aufbau und komplett Selfmade.");
    SendClientMessageToAll(WEIß," Wir bitten bugs zu entschuldigen.");
    SendClientMessageToAll(WEIß," Das TMM Team wünscht euch Viel Spaß.");
    SendClientMessageToAll(GRUEN,"|_____________________________________________________________________________|");
    message = +1;
    }
    case 1:
    {
    print("[ServerNachicht]: Nachicht 3 wurde gesendet.");
    SendClientMessageToAll(GRUEN,"______________________________{FFFFFF}ServerMeldung{00FF46}_________________________________");
    SendClientMessageToAll(WEIß," Wir würden uns Sehr Freuen, wen ihr den Server zu den Favoriten hinzufügt.");
    SendClientMessageToAll(WEIß," Verbesserungvorschläge könnt ihr gerne einen Admin vie /pm zukommen lassen.");
    SendClientMessageToAll(WEIß," Admins: 123Maffin, djmaxi, Grinder");
    SendClientMessageToAll(WEIß," Das TMM Team wünscht euch noch Viel Spaß.");
    SendClientMessageToAll(GRUEN,"|_____________________________________________________________________________|");
    message = +1;
    }
    case 2:
    {
    print("[ServerNachicht]: Nachicht 3 wurde gesendet.");
    SendClientMessageToAll(GRUEN,"______________________________{FFFFFF}ServerMeldung{00FF46}_________________________________");
    SendClientMessageToAll(WEIß," Hacker, Cheater und co sollten immer gemeldet werden.");
    SendClientMessageToAll(WEIß," Ihr könnt sie via /pm an einem admin senden. Bitte mit ID oder Name des Cheaters.");
    SendClientMessageToAll(WEIß," Admins: 123Maffin, djmaxi, Grinder");
    SendClientMessageToAll(WEIß," Das TMM Team wünscht euch noch viel Spaß.");
    SendClientMessageToAll(GRUEN,"|_____________________________________________________________________________|");
    message = +1;
    }
    }
    }


    Allerdings kommen da Errors und Warnungen raus deswegen kann es nicht richtig sein.

    Natürlich funktioniert das so nicht. :-/
    Erstelle eine globale Variable, sprich eine Variable außerhalb der Funktion, denn innerhalb der Funktion würde das nichts bringen. So, diese erhöhst du innerhalb der Funktion bei jedem Aufruf um 1 und arbeitest dann mit Switch, dann hat's auch einen Nutzen. Und dann, wenn die Variable den Wert 3 bekommen WÜRDE, setzt du den wieder auf 0.


    Versteh ich nicht ganz.

    dann erstell die Variable Message beim Init..
    Weise ihr den Wert 0 zu.. wenn dann der timer soweit ist, lass die erste message senden und wrise der variable den wert 1 zu. nach der letzen message die gesendet werden soll gibst ihr wieder den Wert 0 ... alles verstanden? xD


    Lg RedAge



    public servernachicht()
    {
    new message;
    message = 0;
    switch(message)
    {
    case 0:
    {
    print("[ServerNachicht]: Nachicht 1 wurde gesendet.");
    SendClientMessageToAll(GRUEN,"______________________________{FFFFFF}ServerMeldung{00FF46}_________________________________");
    SendClientMessageToAll(WEIß," Dieser Server ist noch im aufbau und komplett Selfmade.");
    SendClientMessageToAll(WEIß," Wir bitten bugs zu entschuldigen.");
    SendClientMessageToAll(WEIß," Das TMM Team wünscht euch Viel Spaß.");
    SendClientMessageToAll(GRUEN,"|_____________________________________________________________________________|");
    message = 1;
    }
    case 1:
    {
    print("[ServerNachicht]: Nachicht 3 wurde gesendet.");
    SendClientMessageToAll(GRUEN,"______________________________{FFFFFF}ServerMeldung{00FF46}_________________________________");
    SendClientMessageToAll(WEIß," Wir würden uns Sehr Freuen, wen ihr den Server zu den Favoriten hinzufügt.");
    SendClientMessageToAll(WEIß," Verbesserungvorschläge könnt ihr gerne einen Admin vie /pm zukommen lassen.");
    SendClientMessageToAll(WEIß," Admins: 123Maffin, djmaxi, Grinder");
    SendClientMessageToAll(WEIß," Das TMM Team wünscht euch noch Viel Spaß.");
    SendClientMessageToAll(GRUEN,"|_____________________________________________________________________________|");
    message = 2;
    }
    case 2:
    {
    print("[ServerNachicht]: Nachicht 3 wurde gesendet.");
    SendClientMessageToAll(GRUEN,"______________________________{FFFFFF}ServerMeldung{00FF46}_________________________________");
    SendClientMessageToAll(WEIß," Hacker, Cheater und co sollten immer gemeldet werden.");
    SendClientMessageToAll(WEIß," Ihr könnt sie via /pm an einem admin senden. Bitte mit ID oder Name des Cheaters.");
    SendClientMessageToAll(WEIß," Admins: 123Maffin, djmaxi, Grinder");
    SendClientMessageToAll(WEIß," Das TMM Team wünscht euch noch viel Spaß.");
    SendClientMessageToAll(GRUEN,"|_____________________________________________________________________________|");
    message = 0;
    }
    }
    }


    Es Fuktionirt komischerweise trotzdem nicht.