Beiträge von Kasakow

    Benutze SetPlayerAttachedObject
    Kannst auch gerne meinen Editor dafür haben :)


    command(editx, playerid, params[])
    {
    new id, Float:x, Float:y, Float:z;
    if(sscanf(params, "i", id))return SendClientMessage(playerid, Weiß, "Befehl: /editx [Objekt - ID]");
    SetPlayerAttachedObject(playerid, 0, id, 6, x, y, z, 0.0, 0.0, 0.0, 1, 1, 1);
    EditAttachedObject(playerid, 0);
    return 1;
    }


    public OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ)
    {
    new File:hFile = fopen("/file.txt", io_append), string[420];
    if(response && hFile) {
    format(string, sizeof(string), "SetPlayerAttachedObject(playerid, 0, %i, 0, %f, %f, %f, %f, %f, %f, %f, %f, %f);", modelid, fOffsetX, fOffsetY, fOffsetZ, fRotX, fRotY, fRotZ, fScaleX, fScaleY, fScaleZ);
    fwrite(hFile, string);
    fclose(hFile);
    }
    else if((!response || !hFile)) {
    RemovePlayerAttachedObject(playerid, 0);
    }
    return 1;
    }

    Guten Tag,


    Mein Name lautet MrPawn.
    Und zwar habe ich mein Script von Dini auf MySQL umgeschrieben (War ein etwas älteres & kleineres Script).
    Aber jetzt wenn ich gesperrt bin und auf den Server connecte kommt der Dialog nicht mehr.


    if(mysql_CheckIP(playerid) || mysql_CheckBan(playerid))return 1;


    Das lasse ich bei OnPlayerConnect abfragen!
    Das soll bewirken das der Login Dialog nicht kommt.


    Das habe ich dann bei OnPlayerRequestClass
    if(mysql_CheckIP(playerid) == 1)
    {
    new string[128];
    format(string, sizeof(string), "* Der IP Gesperrte Spieler %s hat versucht sich einzuloggen!",GetName(playerid));
    SendAdminMessage(playerid, HellRot, string);
    SendClientMessage(playerid, Rot, "Deine IP wurde Gesperrt. Du wirst nun gekickt!");
    Kick_Ex(playerid);
    return 1;
    }
    if(mysql_CheckIP(playerid) == 1)
    {
    new string[128];
    format(string, sizeof(string), "* Der Gesperrte Spieler %s hat versucht sich einzuloggen!",GetName(playerid));
    SendAdminMessage(playerid,HellRot, string);
    SendClientMessage(playerid, Rot, "Dein Account wurde Gesperrt. Du wirst nun gekickt!");
    Kick_Ex(playerid);
    return 1;
    }

    //BanAbfrage
    stock mysql_CheckBan(playerid) {
    if(!mysql_CheckAccount(playerid))return -1;
    sStats[playerid][sGesperrt] = mysql_GetInt("acc", "Gesperrt", "Name", GetName(playerid));
    return sStats[playerid][sGesperrt];
    }
    //CheckIP
    stock mysql_CheckIP(playerid) {
    new query[256], result;
    mysql_real_escape_string(GetIP(playerid), GetIP(playerid));
    format(query, sizeof(query), "SELECT * FROM ip WHERE BIP = '%s'", GetIP(playerid));
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows()){result = true;}
    else result = false;
    mysql_free_result();
    return bool:result;
    }


    Aber das lustige ist, mir wird nichtmal gesagt das ich gesperrt bin :)
    Hier mal ein Paar Screens zur übersicht.


    Datenbank:



    Ingame:





    Wäre nett, wenn mir einer Helfen könnte :thumbup:


    Mit freundlichen Grüßen,


    MrPawn

    Your are banned.. kommt auch wenn du keine Verbindung aufbauen ,sowie du schlechtes Internet hast.
    Ich habe dies mal ausprobiert, in dem ich meinen eigenen server mit "DoS" überflutet habe ;)
    Dieser Fehler kann genau so gut auftreten, sobald der Server schlechte anbindung hat.

    Habs behoben :thumbup:


    Aktueller Code:


    public OnPlayerSpawn(playerid)
    {
    if(uInfo[playerid][sTod] == 1) {
    SpawnEx(playerid);
    }
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    uInfo[playerid][sTod] = 1;
    return 1;
    }


    //Spawn System
    stock SpawnEx(playerid) {
    uInfo[playerid][sTod] = 0;
    if(!strcmp(uInfo[playerid][sArena], "Keine", true)) {
    SetCameraBehindPlayer(playerid);
    SetSpawnInfo(playerid, 0, uInfo[playerid][sSkin], 1310.2816, -1369.6655, 13.5655, 181.3278, 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid),SetPlayerInterior(playerid, 0), SetPlayerVirtualWorld(playerid, 0),TogglePlayerControllable(playerid, true);
    SetPlayerPos(playerid, 1310.2816, -1369.6655, 13.5655);
    SetPlayerSkin(playerid, uInfo[playerid][sSkin]);
    }
    return 1;
    }

    //Spawn System
    stock SpawnEx(playerid) {
    uInfo[playerid][sTod] = 0;
    if(!strcmp(uInfo[playerid][sArena], "Keine", true)) {
    SetCameraBehindPlayer(playerid);
    SetSpawnInfo(playerid, 0, uInfo[playerid][sSkin], 1310.2816, -1369.6655, 13.5655, 181.3278, 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid),SetPlayerInterior(playerid, 0), SetPlayerVirtualWorld(playerid, 0),TogglePlayerControllable(playerid, true);
    }
    return 1;
    }


    Ehm also es ist so:
    Ich mache /test dann sterbe ich.
    Ich komme zu den Pfeiltasten & Spawnbutton, und wenn ich dann auf Spawn klicke, dann kommt mir die Nachricht .
    Also OnPlayerSpawn wird erst nach dem Spawnbutton ausgeführt!

    Guten Tag,


    Mein Name lautet MrPawn.
    Und zwar bekomme ich hier gerade irgentwie dieses bug nicht gefixxt.


    public OnPlayerSpawn(playerid)
    {
    if(GetPVarInt(playerid, "Tod") < 1)return 1;
    SetPVarInt(playerid, "Tod", 0);
    format(uInfo[playerid][sArena], 30, "Keine");
    SpawnEx(playerid);
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    SetPVarInt(playerid, "Tod", 1);
    return 1;
    }


    Ich sterbe, spawne zwar am spawn aber bleibe in der luft hänhen und habe diese Pfeiltasten & den Spawn button


    Mit freundlichen Grüßen,


    MrPawn :thumbup:

    Es wird schwer gleich ganz s0Beit im 0.3z zu blocken dennoch hätte ich eine Idee.
    Wenn das so wie in 0.3x ist dann wenn man z.B auf einen 0.3z r2 server joint aber man hat 0.3z wegen s0beit, dann könnte man mit GetPlayerVersion arbeiten :thumbup:


    Sagen wir wir haben einen > 0.3z server
    Dann fragen wir das so ab:


    public OnPlayerConnect(playerid) {
    if(strcmp(GetVersion(playerid), "0.3zr..", false))return Kick(playerid);
    return 1;
    }



    stock GetVersion(playerid) {
    new version[lenght];
    GetPlayerVersion(playerid, version, lenght);
    return version;
    }


    Sie wird ja in die PVars gesetzt sobald, mann ins cpjail gesteckt wurde..

    Guten Tag,


    Mein Name lautet MrPawn.
    Und zwar ist mir aufgefallen, da ich bisjetzt nur Tutorials statt mal Releases gemacht habe, und zu dem zwecke habe ich mir überlegt mal was kleines zu Releasen :).
    Das ist ein Checkpoint System für leute die ins RCON System eingeloggt sind.
    Dieses Filterscript ist zwar klein, aber dennoch fein :S


    Viel dazu gibt es eigentlich nicht zu sagen:


    Spoiler anzeigen

    Wie lauten die Befehle dieses Filterscriptes ?

    Spoiler anzeigen
    Wo kann ich es mir Downloaden ?



    EDIT: Download & Pastebin wurd erneuert, Grund: Changelog
    CHANGELOG:
    FIXED: Spawnbug, Textdraw anzeige

    VIDEO HINZUGEFÜGT

    Spoiler anzeigen
    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Mit freundlichen Grüßen


    MrPawn :thumbup:

    Also ich das so nun machen oder wie ?


    new Float:vX,Float:vY,Float:vZ,Float:vR;
    GetVehiclePos(veh,vX,vY,vZ),GetVehicleZAngle(veh,vR),GiveRotation(vR,180.0),GetXYInFrontOf(vR, vX, vY, 10.0);
    SetPlayerCheckpoint(playerid, vX, vY, vZ, size);


    Wenn ich das nun richtig geschrieben habe, dann ist es ja ganz simpel :thumbup: