Beiträge von maddin

    Selber zusammen bauen heisst das zauberwort.
    Vom Preis/leistungs verhältniss kommt nichts, aber auch GARNICHTS an ein selbst zusammen gestelltes System heran. Schon garnicht son überteuerter Alienware scheiss.

    Sorry das ich nochmal störe, aber mir ist gerade nochwas eingefallen. Per timestamp könntest du das ganze auch lösen, ohne immer irgendwas zu aktualisieren.
    Du legst einfach eine weitere variable an für jeden spieler, z.b
    new mutetime[MAX_PLAYERS];
    Dann, wenn du jemanden mutest, speicherst du darin den aktuellen timestamp+300. (+300 deshalb, weil du dann den timestamp + 300 sekunden hast. Und das wäre dann der timestamp für den zeitpunkt, an dem der spieler wieder unmutet wird (300 sekunden = 5 Minuten, weil du ja 5 Minuten muten woltlest) )


    Sollte der spieler dann eine nachricht schreiben, fragst du den gespeicherten timestamp ab, und ziehst den aktuellen davon ab. Dann hast du die anzahl der sekunden die der spieler noch gemutet ist. DIe kannst du dann ausgeben, oder in minuten umwandeln oder was auch immer^^


    Mfg.

    Von mir auf alles gute maddin991 !
    Und danke das du fast den gleichen namen hast wie ich. Die leute verwechseln mich dauernd mit dir xD


    Bei den anderen Spare ich mir mal die Glückwünsche, sind ja wohl eh nicht mehr aktiv ^^

    Dafür müsstest du die restzeit in einer Variable speichern nud immer wieder Updaten (auch per timer). Ich denke das ist keine Gute Idee, und schonend für den Server ist es denke ich auch nicht. Du kannst dem Spieler allerdings einfach bei der Nachricht "[Serverguard] Du wurdest vom System für 5 Minuten gemutet" dazu schreiben wann er wieder schreiben kann. Also z.b "[Serverguard] Du wurdest vom System für 5 Minuten gemutet. Um XX:YY Uhr kannst du wieder sprechen (oder schreiben oder was auch immer du da lieber sagen willst ^^)."

    Naja man sagt das aber so (bzw ich kenne es so^^)
    Hast aber schon recht
    [table=3]
    [*]
    [*]
    [*]


    [*]Mofa
    [*]ab 15 jahren
    [*]Bis einschliesslich 25 km/h


    [*]Klasse M
    [*]ab 16 jahren
    [*]Bis 50 ccm und 45 km/h



    [*]Klasse A1
    [*]ab 16 jahren
    [*]Bis 125 ccm und 11 kW Motorleistung (Muss aber bis zum 18. Lebensjahr auf 80 km/h gedrosselt sein)
    [/table]

    Das Problem liegt denke ich mal daran, das du die schleife schon vorzeitig mit dem return 1; beendest, auch wenn sie noch nicht durchgelaufen ist.
    Versuchs mal so:
    public OnPlayerText(playerid, text[])
    {
    if(mute[playerid] == 1)
    {
    SendClientMessage(playerid,0xAA3333AA,"* Du bist noch Sekunden gemutet. Grund:Beleidigung");
    return 0;
    }
    else if(mute[playerid] == 0)
    {
    for(new i=0;i<sizeof(SchimpfWort);i++)
    {
    if(strfind(text,SchimpfWort[i],true) != -1)
    {
    SendClientMessage(playerid,0xAA3333AA,"[Serverguard] Du wurdest vom System für 5 Minuten gemutet");
    mute[playerid] = 1;
    unmutetimer[playerid] = SetTimerEx("unmute", 180000, 0, "d", playerid);
    return 0;
    }
    }
    }
    //rest vom OnPlayerText Code
    return 1;
    }

    Schaut doch mal auf das Datum... Samstag, 28. November 2009, 23:43
    Ich denke es interessiert ihn Hertzlich wenig was ihr von seinem Tutorial haltet.


    Und @ DisgraceNo1:
    Es muss auch
    if(strcmp(cmdtext,"/bsn",true)== 0)
    und nicht
    if(strcmp(cmdtext,''/bsn'',true)== 0)
    sein...
    " != ' '


    Mfg.

    Das filtescript ist standartmäßig schon im SAMP Server pack enthalten und heisst "ls_elevator". Einfach mal in deinem Filterscript ordner suchen ^^

    Auf ein else kann kein else if mehr folgen weil else ausgeführt wird wenn alle anderen nicht mehr zutreffen. Da du aber eh immer die gleiche Meldung ausgibst falls der spieler nicht an einem bestimmten punkt ist, kannst du es auch so machen:
    dcmd_enter(playerid, params [])
    {
    #pragma unused params
    if(IsPlayerInRangeOfPoint(playerid, 1.2,2424.2473,-1742.7511,13.5460))//-----24/7 an der GrooveStreet
    {
    SetPlayerPos(playerid,-27.2520,-55.6264,1003.5469);
    SetPlayerFacingAngle(playerid,0);
    SetPlayerInterior(playerid,6);
    GameTextForPlayer(playerid, "Willkommen im 24/7 Supermarkt!", 5000, 5);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 1.2,1368.4913,-1279.7889,13.5469))//-----Großes AmmuNation-----
    {
    SetPlayerPos(playerid,286.1481,-38.7994,1001.5156);
    SetPlayerFacingAngle(playerid,0.3387);
    SetPlayerInterior(playerid,1);
    GameTextForPlayer(playerid,"Willkommen bei AmmuNation.", 5000, 5);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 1.2,1368.4913,-1279.7889,13.5469))//-----Ten Green Bottels Bar-----
    {
    SetPlayerPos(playerid,501.9810,-69.1502,998.7578);
    SetPlayerFacingAngle(playerid,180.0000);
    SetPlayerInterior(playerid,11);
    GameTextForPlayer(playerid,"Willkommen in der Ten Green Bottles Bar.", 5000, 5);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 1.2,1199.2666,-918.3735,43.1214))//-----Burger Shot North (BSN)-----
    {
    SetPlayerPos(playerid,365.8046,-73.9349,1001.5078);
    SetPlayerFacingAngle(playerid,269.9556);
    SetPlayerInterior(playerid,11);
    GameTextForPlayer(playerid,"Willkommen im Burger Shot North.", 5000, 5);
    }
    else
    {
    SendClientMessage(playerid, 0x00D7FFFF,"** Du befindest dich an keinem Eingang!");
    }
    return 1;
    }



    dcmd_exit(playerid, params [])
    {
    #pragma unused params
    if (IsPlayerInRangeOfPoint(playerid, 1.2,-27.3434,-58.2487,1003.5469))
    {
    SetPlayerPos(playerid,2422.8091,-1741.5935,13.5469);
    SetPlayerFacingAngle( playerid, 48.2855);
    SetPlayerInterior(playerid,0);
    return 1;
    }
    else if(IsPlayerInRangeOfPoint(playerid, 1.2,1368.4913,-1279.7889,13.5469))//-----Großes AmmuNation-----
    {
    SetPlayerPos(playerid,286.1481,-38.7994,1001.5156);
    SetPlayerFacingAngle(playerid,0.3387);
    SetPlayerInterior(playerid,1);
    GameTextForPlayer(playerid,"Willkommen bei AmmuNation.", 5000, 5);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 1.2,1368.4913,-1279.7889,13.5469))//-----Ten Green Bottels Bar-----
    {
    SetPlayerPos(playerid,501.9810,-69.1502,998.7578);
    SetPlayerFacingAngle(playerid,180.0000);
    SetPlayerInterior(playerid,11);
    GameTextForPlayer(playerid,"Willkommen in der Ten Green Bottles Bar.", 5000, 5);
    }
    else if(IsPlayerInRangeOfPoint(playerid, 1.2,1199.2666,-918.3735,43.1214))//-----Burger Shot North (BSN)-----
    {
    SetPlayerPos(playerid,365.8046,-73.9349,1001.5078);
    SetPlayerFacingAngle(playerid,269.9556);
    SetPlayerInterior(playerid,11);
    GameTextForPlayer(playerid,"Willkommen im Burger Shot North.", 5000, 5);
    }
    else
    {
    SendClientMessage(playerid, 0x00D7FFFF,"** Du befindest dich an keinem Ausgang!");
    }
    return 1;
    }

    Defines und News war schon richtig die müssen nach oben zu den anderen.
    #include <a_samp>
    Musst du aber nicht mit kopieren da dass ja schon im Gamemode sein sollte.
    #define FILTERSCRIPT
    #if defined FILTERSCRIPT
    #else
    #endif
    Bitte auch nicht mit kopieren, da du es ja in einen gamemode machst.
    Nun suchst du in deinem gamemode nach
    public OngameModeInit()
    und schreibst die folgenden zeilen dort rein:
    CreateObject(982, 1552.395996, -1602.314941, 16.594999, 0.0000, 0.0000, 89.9994);
    CreateObject(984, 1539.558960, -1608.713013, 16.559000, 0.0000, 0.0000, 0.0000);
    CreateObject(983, 1539.558960, -1614.645996, 16.606001, 0.0000, 0.0000, 0.0000);
    CreateObject(983, 1542.748047, -1617.834961, 16.531000, 0.0000, 0.0000, 269.9989);
    CreateObject(982, 1577.984009, -1602.306030, 16.594999, 0.0000, 0.0000, 269.9989);
    CreateObject(982, 1594.994019, -1602.337036, 16.594999, 0.0000, 0.0000, 269.9989);
    CreateObject(982, 1607.827026, -1615.089966, 16.607000, 0.0000, 0.0000, 0.0000);
    CreateObject(984, 1607.840942, -1631.548950, 16.559000, 0.0000, 0.0000, 0.0000);
    CreateObject(983, 1604.656006, -1637.942017, 16.606001, 0.0000, 0.0000, 269.9989);
    CreateObject(3749, 1547.758911, -1627.469238, 18.241226, 0.0000, 0.0000, 269.9989);
    CreateObject(3550, 1546.067993, -1639.468018, 14.144000, 0.0000, 0.0000, 0.0000);
    CreateObject(982, 1564.003052, -1617.651001, 13.230000, 0.0000, 0.0000, 89.9994);
    CreateObject(982, 1563.996948, -1622.829956, 13.230000, 0.0000, 0.0000, 269.9989);
    CreateObject(673, 1553.665039, -1620.310059, 12.598000, 0.0000, 0.0000, 0.0000);
    CreateObject(673, 1560.784058, -1620.272949, 12.598000, 0.0000, 0.0000, 0.0000);
    CreateObject(673, 1567.484009, -1620.255981, 12.598000, 0.0000, 0.0000, 0.0000);
    CreateObject(673, 1574.343994, -1620.276978, 12.598000, 0.0000, 0.0000, 0.0000);
    CreateObject(640, 1576.444946, -1620.233032, 13.244000, 0.0000, 0.0000, 0.0000);
    CreateObject(640, 1550.725952, -1620.281006, 13.244000, 0.0000, 0.0000, 0.0000);
    CreateObject(673, 1607.572998, -1602.739014, 12.597000, 0.0000, 0.0000, 0.0000);
    CreateObject(673, 1607.608032, -1637.723999, 12.444000, 0.0000, 0.0000, 0.0000);
    CreateObject(673, 1539.859009, -1602.795044, 12.357000, 0.0000, 0.0000, 0.0000);
    CreateObject(1215, 1549.423950, -1622.709961, 13.111000, 0.0000, 0.0000, 0.0000);
    CreateObject(1215, 1549.401978, -1633.081055, 13.123000, 0.0000, 0.0000, 0.0000);
    CreateObject(3515, 1564.584229, -1675.313843, 60.115368, 0.0000, 0.0000, 0.0000);
    CreateObject(1496, 1582.605835, -1637.883545, 12.382319, 0.0000, 0.0000, 0.0000);
    CreateObject(1491, 1577.302246, -1635.447754, 14.966330, 0.0000, 269.7591, 90.0000);
    CreateObject(1412, 1578.411743, -1690.182617, 6.414586, 0.0000, 0.0000, 0.0000);
    CreateObject(1412, 1575.528687, -1690.204590, 6.492710, 0.0000, 0.0000, 0.0000);
    CreateObject(1233, 1537.587158, -1681.557007, 14.106555, 0.0000, 0.0000, 270.0000);
    CreateObject(1444, 1512.354980, -1674.942139, 13.851563, 0.0000, 0.0000, 315.0000);
    CreateObject(1744, 1580.394653, -1637.725830, 13.497363, 0.0000, 0.0000, 180.0000);
    CreateObject(1744, 1580.412720, -1637.761108, 14.158615, 0.0000, 0.0000, 180.0000);
    CreateObject(2000, 1581.507568, -1636.136108, 13.656465, 0.0000, 0.0000, 270.0000);
    CreateObject(2007, 1581.493286, -1637.001709, 13.656465, 0.0000, 0.0000, 270.0000);
    CreateObject(1518, 1581.451660, -1633.573486, 13.968813, 0.0000, 0.0000, 315.0000);
    CreateObject(1670, 1581.652100, -1634.507690, 13.696309, 0.0000, 0.0000, 303.7500);
    CreateObject(1714, 1580.604858, -1634.354126, 12.560445, 0.0000, 0.0000, 168.7499);
    CreateObject(1716, 1579.526367, -1633.497559, 12.562263, 0.0000, 0.0000, 303.7500);
    CreateObject(1716, 1580.093994, -1633.091797, 12.562263, 0.0000, 0.0000, 0.0000);
    CreateObject(1722, 1577.539063, -1635.387939, 12.562579, 0.0000, 0.0000, 270.0000);
    CreateObject(1722, 1577.518433, -1634.556274, 12.562579, 0.0000, 0.0000, 270.0000);
    CreateObject(1846, 1579.600464, -1635.631714, 11.588607, 0.0000, 0.0000, 0.0000);
    CreateObject(1242, 1580.561890, -1637.316284, 14.065311, 0.0000, 0.0000, 0.0000);
    CreateObject(1550, 1581.514893, -1635.922729, 12.952797, 0.0000, 0.0000, 0.0000);
    CreateObject(1581, 1577.454468, -1633.501221, 14.078301, 0.0000, 0.0000, 90.0000);
    CreateObject(1582, 1579.198364, -1633.398926, 13.655773, 0.0000, 0.0000, 0.0000);
    CreateObject(2035, 1579.767578, -1637.381226, 13.862298, 0.0000, 0.0000, 180.0000);
    CreateObject(2036, 1580.182739, -1637.389160, 14.533039, 0.0000, 0.0000, 180.0000);
    CreateObject(2044, 1579.219360, -1637.415039, 14.526646, 0.0000, 0.0000, 180.0000);
    CreateObject(968, 1544.686401, -1630.779663, 13.054567, 0.0000, 0.0000, 270.0000);


    tor1 = CreateObject(985, 1592.256714, -1637.879028, 13.295558, 0.0000, 0.0000, 0.0000);
    tor2 = CreateObject(986, 1585.214233, -1637.900024, 13.268489, 0.0000, 0.0000, 0.0000);
    schranke = CreateObject(968, 1544.684204, -1630.897217, 13.129307, 0.0000, 269.7591, 270.0000);
    tuere = CreateObject(1497, 1577.301392, -1635.855591, 12.540497, 0.0000, 0.0000, 270.0000);
    Dann suchst du in deinem Script nach:
    public OnPlayerCommandText(playerid, cmdtext[])
    und schreibst dort folgendes rein:
    if (strcmp(cmdtext, "/torauf", true) == 0)
    {
    MoveObject(tor1,1596.373413, -1637.951660, 13.275480,1.5);
    MoveObject(tor2,1578.540039, -1637.904907, 13.301139,1.8);
    SendClientMessage(playerid, COLOR_BLUE, "** Beamter: Die Tore werden geöffnet **");
    return 1;
    }
    if (strcmp(cmdtext, "/torzu", true) == 0)
    {
    MoveObject(tor1,1592.256714, -1637.879028, 13.295558,1.5);
    MoveObject(tor2,1585.214233, -1637.900024, 13.268489,1.8);
    SendClientMessage(playerid, COLOR_BLUE, "** Beamter: Die Tore werden geschlossen **");
    return 1;
    }
    if (strcmp(cmdtext, "/Schrankea", true) == 0)
    {
    MoveObject(schranke,1544.718750, -1630.881836, -11.070415,200.5);
    SendClientMessage(playerid, COLOR_BLUE, "** Beamter: Die Schranke wird geöffnet **");
    return 1;
    }
    if (strcmp(cmdtext, "/schrankez", true) == 0)
    {
    MoveObject(schranke,1544.684204, -1630.897217, 13.129307,200.5);
    SendClientMessage(playerid, COLOR_BLUE, "** Beamter: Die Schranke wurde Geschlossen! **");
    return 1;
    }
    if (strcmp(cmdtext, "/tuera", true) == 0)
    {
    MoveObject(tuere,1577.366211, -1639.408447, 12.548601,0.5);
    SendClientMessage(playerid, COLOR_BLUE, "** Türe geöffnet! **");
    return 1;
    }
    if (strcmp(cmdtext, "/tuerz", true) == 0)
    {
    MoveObject(tuere,1577.301392, -1635.855591, 12.540497,0.5);
    SendClientMessage(playerid, COLOR_BLUE, "** Türe Geschlossen! **");
    return 1;
    }
    if(strcmp(cmdtext, "/LSPDhelp", true) == 0 || strcmp(cmdtext, "/LSPDhilfe", true) == 0)
    {
    SendClientMessage(playerid, COLOR_RED, "** »LSPD by Dr.Fisch« **");
    SendClientMessage(playerid, COLOR_RED, "|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|");
    SendClientMessage(playerid, COLOR_GREEN, "CMD´s /Torauf /Torzu ");
    SendClientMessage(playerid, COLOR_GREEN, "CMD´s /Schrankea /Schrankez");
    SendClientMessage(playerid, COLOR_GREEN, "CMD´s /Tuera /Tuerz ");
    SendClientMessage(playerid, COLOR_GREEN, "CMD´s /LSPDCredits");
    SendClientMessage(playerid, COLOR_GREEN, "CMD´s /LSPDCopyright");
    return 1;
    }
    if(strcmp(cmdtext, "/LSPDCredits", true) == 0 || strcmp(cmdtext, "/LSPDcr", true) == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "|_____________________|");
    SendClientMessage(playerid, COLOR_YELLOW, " ");
    SendClientMessage(playerid, COLOR_RED, "* »LSPD by Dr.Fisch« *");
    SendClientMessage(playerid, COLOR_YELLOW, " ");
    SendClientMessage(playerid, COLOR_GREEN, "|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|");
    return 1;
    }
    if(strcmp(cmdtext, "/LSPDCopyright", true) == 0 || strcmp(cmdtext, "/LSPDc", true) == 0)
    {
    SendClientMessage(playerid, COLOR_GREEN, "_______________________");
    SendClientMessage(playerid, COLOR_RED, "*»LSPD« (C) By Dr.Fisch*");
    SendClientMessage(playerid, COLOR_GREEN, "¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
    return 1;
    }


    Dann Compilieren und fertig. Falls fehler vorhanden sind bitte die Fehlermeldungen + Zeilen posten damit man dir Helfen kann.


    mfg.

    Zu deiner frage: Ja musst du.
    Eine möglichkeit wäre, ein Include mit einer funktion zu erstellen.
    Also in der Include:
    #include <streamer>
    stock LoadObjects()
    {
    //Deine objekte, z.b:
    CreateDynamicObject(1649, 348.48059082031, 128.7939453125, 1008.6314697266, 0, 0, 340.24890136719, 999, 1, -1, 50.0);
    CreateDynamicObject(1649, 344.42535400391, 130.28344726563, 1008.6314697266, 0, 0, 339.74658203125, 999, 1, -1, 50.0);
    CreateDynamicObject(1649, 344.4248046875, 130.283203125, 1008.6314697266, 0, 0, 159.7412109375, 999, 1, -1, 50.0);
    CreateDynamicObject(1649, 348.48046875, 128.7939453125, 1008.6314697266, 0, 0, 160.24658203125, 999, 1, -1, 50.0);
    //usw....
    }
    Dann halt in deinem Gamemode oben die include rein und unter OnGamemodeInit
    LoadObjects();
    schreiben.



    Du kannst aber auch die Funktion LoadDynamicObjectsFromFile benutzen.
    stock LoadDynamicObjectsFromFile(filename[])
    {
    new File:file_ptr, line[256], modelid, Float:SpawnX, Float:SpawnY, Float:SpawnZ, Float:SpawnRotX, Float:SpawnRotY, Float:SpawnRotZ, worldid, interiorid, playerid, Float:distance, objects_loaded;
    file_ptr = fopen(filename, io_read);
    if(!file_ptr) return printf("ERROR! Konnte Objekte aus '%s' nicht laden (Datei existiert nicht)!", filename);
    while(fread(file_ptr, line) > 0)
    {
    //sscanf(line, "p<,>'('dffffffD(-1)D(-1)D(-1)F(250.0)')'", modelid, SpawnX, SpawnY, SpawnZ, SpawnRotX, SpawnRotY, SpawnRotZ, worldid, interiorid, playerid, distance);
    sscanf(line, "p<,>'('dffffffdddp<)>f", modelid, SpawnX, SpawnY, SpawnZ, SpawnRotX, SpawnRotY, SpawnRotZ, worldid, interiorid, playerid, distance);
    CreateDynamicObject(modelid, SpawnX, SpawnY, SpawnZ, SpawnRotX, SpawnRotY, SpawnRotZ, worldid, interiorid, playerid, distance);
    objects_loaded++;
    }
    fclose(file_ptr);
    printf("<-| [SERVER] %d Objekte aus '%s' geladen.", objects_loaded, filename);
    return objects_loaded;
    }


    Dann schreibst du einfach unter OngameModeInit:
    LoadDynamicObjectsFromFile("Objekte.txt");
    Dann läd der alle Objekte die in der Datei "Objekte.txt" im Scriptfiles ordner sind.
    Die datei selbst muss die Objekte im Folgendem format haben (sind jetzt nur beispiele):

    Code
    CreateDynamicObject(1649, 348.48059082031, 128.7939453125, 1008.6314697266, 0, 0, 340.24890136719, 999, 1, -1, 50.0);
    CreateDynamicObject(1649, 344.42535400391, 130.28344726563, 1008.6314697266, 0, 0, 339.74658203125, 999, 1, -1, 50.0);
    CreateDynamicObject(1649, 344.4248046875, 130.283203125, 1008.6314697266, 0, 0, 159.7412109375, 999, 1, -1, 50.0);
    CreateDynamicObject(1649, 348.48046875, 128.7939453125, 1008.6314697266, 0, 0, 160.24658203125, 999, 1, -1, 50.0);
    usw....