Beiträge von Jeffry

    Done: Das macht keinen Sinn.


    Im command:
    DMRandom[0] = random(5);


    zu:
    DMRandom[0] = random(4);


    Weil: 0 -> 3 sind 4, nicht 5. Daher wurde bei 20% der Fälle keine Position gesetzt.

    SetTimer("NaheGate", 1000, true);


    forward NaheGate();
    public NaheGate()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(Fraktion[i] == 1 && IsPlayerInRangeOfPoint(i, ...)) //Gate bewegen...
    }
    return 1;
    }

    Timer erstellen. Der hat einer schleife durch alle Spieler und überprüft für jeden Spieler diese Fraktion und ob er nahe dem Tor ist. Falls das zutrifft, das Gate bewegen.


    SetTimer
    IsPlayerInRangeOfPoint
    MoveObject

    Ziemlich chaotische Variablen-Benennung hast du da.


    Versuch mal:
    Hauser[haus][pCreated] = 1;
    bei CreateHaus hinzuzufügen.


    An sich hast du aber noch einen weiten Weg vor dir, weil so wie das jetzt ist, erstellst du immer ALLE Häuser und kaufst auch immer ALLE auf einmal.


    Nun ja, ich fand eigentlich nur das es perfekt hier rein passen würde, da das Thema "Tag" angesprochen wurde,
    und ich bin doch bestimmt nicht der einzige hier im Forum den es interessieren würde wie man einen Spieler kicken tut,


    Könnten alle auch bei einem neuen Thema sehen, wahrscheinlich noch besser. Ist ja auch egal, nur fürs nächste mal.



    Ich bedanke mich trotzdem bei dir funktioniert fast perfekt, außer das die Nachricht nicht angezeigt wird :D


    return Kick(playerid);
    mit dem ersetzen:
    return SetTimerEx("KickMe", 150, 0, "d", playerid);


    Und das unten in den GM/FS:
    forward KickMe(playerid);
    public KickMe(playerid)
    {
    return Kick(playerid);
    }

    nur mal angenommen mein Server heißt ' samp ist cool ' und ich den Tag [SIC] nehmen würde
    und sich ein User auf dem Server Registrieren tut aber in seinem namen den Tag [SIC] hat dann kann man ihn doch automatisch vom Server kicken lassen,
    nur wie stellt man dies an ?


    Mach doch bitte für eine neue Frage ein neues Thema. Sonst wirds einfach nur chaotisch, oder frag im: [SAMMELTHREAD] Kleine Scripting Fragen


    Dennoch:
    Dort wo der Spieler sich registriert (command?):
    if(strfind(SpielerName(playerid), "[SIC]", true) != -1)
    {
    SendClientMessage(playerid, ROT, "Du darfst diesen Tag nicht verwenden.");
    return Kick(playerid);
    }

    new string[144];
    for(new i=0; i<13; i++)
    {
    new weap, ammo;
    GetPlayerWeaponData(playerid, i, weap, ammo);
    if(ammo > 0)
    {
    format(string,sizeof(string),"Slot: %d || Waffe %d || Munnition %d",i, weap, ammo);
    SendClientMessage(playerid,FARBE,string);
    }
    }

    public Spielertimer(i)
    {
    if(GetPVarInt(i,"Handystatus")==1)
    {
    new distancestring[20];
    TextDrawHideForPlayer(i, Empfangsbalken1);
    TextDrawHideForPlayer(i, Empfangsbalken2);
    TextDrawHideForPlayer(i, Empfangsbalken3);


    if(GetPlayerDistance(i)<50&&GetPlayerDistance(i)>20)
    {
    TextDrawShowForPlayer(i, Empfangsbalken1);
    TextDrawHideForPlayer(i, Empfangsbalken2);
    TextDrawHideForPlayer(i, Empfangsbalken3);
    }
    if(GetPlayerDistance(i)<20&&GetPlayerDistance(i)>10)
    {
    TextDrawShowForPlayer(i, Empfangsbalken1);
    TextDrawShowForPlayer(i, Empfangsbalken2);
    TextDrawHideForPlayer(i, Empfangsbalken3);
    }
    if(GetPlayerDistance(i)<10)
    {
    TextDrawShowForPlayer(i, Empfangsbalken1);
    TextDrawShowForPlayer(i, Empfangsbalken2);
    TextDrawShowForPlayer(i, Empfangsbalken3);
    }


    format(distancestring,sizeof(distancestring),"%0.2f",GetPlayerDistance(i));
    SendClientMessage(i,ROT,distancestring);


    }
    return 1;
    }



    stock Float:GetPlayerDistance(playerid)
    {
    return GetPlayerDistanceFromPoint(playerid,1132.9893,-1449.1814,15.7969);
    }


    Oder wenn du ganze Zahlen haben willst:
    format(distancestring,sizeof(distancestring),"%d",floatround(GetPlayerDistance(i)));

    Text is wie Float, Text3D, ... schon belegt.


    public HouseLog(string[])
    {
    new tmp[160];//Erstellt einen neuen Text
    format(tmp, sizeof(tmp), "%s\r\n",string);//Befiehlt das %s als Text genommen wird
    new File:hFile;
    hFile = fopen("HouseLog.log", io_append);//Erstellt eine neue Datei namens HouseLog.log
    fwrite(hFile, tmp);//Schreibt den Text ind die Datei
    fclose(hFile);//Schließt die Datei
    }

    Ja, ich hab auch Deine Zeile schon probiert. Aber schon bevor ich hier mein Problem gepostet habe.


    Hab es grade selbst ausprobiert, die braucht man tatsächlich nicht, hab ich nicht gewusst.
    Gut zu wissen, aber schlecht für das Problem von dir, da weiß ich sonst nichts mehr was das Problem sein könnte. :huh:


    EDIT:
    Gerade dieses Topic gesehen:
    MYSQL 'string' Problem
    Da hat er die ' ' nicht gehabt, durch Hinzufügen hats getan. Was zum .... :wacko:


    EDIT2: Ah, die ' ' sind nur bei strings notwendig, jetzt mach es Sinn. Hilft dir trotzdem nicht.

    Oben im Code:
    new SchonTot[MAX_PLAYERS];


    OnPlayerDeath & Disconnect:
    new lebt;
    SchonTot[playerid] = 1;
    for(new i=0; i<MAX_PLAYERS; i++) if(SchonTot[i]==0 && IsPlayerConnected(i)) lebt++;
    if(lebt==0) //Hier den gamemode ändern lassen

    Stimmt. Du speicherst die gangs zwar, aber nur in temporären Variablen, die nach einem Server erspart wieder weg sind.


    Du musst die gangs mittels Files oder MySQL speichern und ebenso wieder laden.
    Das ist aber kein fünf-minuten-code, da solltest etwas Zeit einplanen, nur so am Rande.

    Du erstellst eine spieler variable, die du auf 0 setzt wenn das Spiel los geht. Stirbt der Spieler setzt du sie auf 1 und gehst mit einer schleife durch alle Spieler. Findet sich kein Spieler mit 0 mehr, kannst du den Römer killen und die Funktion zum mapchange direkt aufrufen. Die schleife sollte auch bei OnPlayerDisconnect hin.


    Soweit klar?


    fenestro: Dann muss aber eindeutig ausgeschlossen sein, dass ein Spieler nicht 2x sterben kann. Wenn ein Spieler den Server verlässt, wird's dennoch buggy.

    if(!IsNumeric(inputtext)) ... errors Nachricht oder so


    stock IsNumeric(str[])
    {
    if(!strlen(str)) return false;
    for(new i = 0; i<strlen(str); i++) if(str[i] < '0' || str[i] > '9') return false;
    return true;
    }