Beiträge von alva

    Moin,


    ocmd:makeadmin(playerid,params[])
    {
    if(IsPlayerAdmin(playerid))
    {
    new pid,admin,string[128];
    if(sscanf(params,"ui",pid,admin))return SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /makeadmin [ID/Name] [Rang]");
    if(GetPVarInt(pid,"loggedin")== 0)return SendClientMessage(playerid,COLOR_GREY,"Der Spieler ist nicht eingeloggt!");
    if(admin > 4)return SendClientMessage(playerid,COLOR_WHITE,"Ungültiger Rang, Maximal 4.");
    SetPVarInt(pid,"admin",admin);
    format(string,sizeof(string),"Du wurdest von %s zum Teammitglied Rang %i ernannt!",PlayerName(playerid),admin);
    SendClientMessage(pid,BLAU,string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du bist kein RCON Admin!");
    }
    return 1;
    }


    ggf. Anpassen usw.
    Hier wird abgefragt, ob du ein RCON Admin bist, also ingame vorher /rcon login [Passwort]

    Genau Eddy, das hat mir nicht weitergeholfen, trotzdem danke :)


    stock IsPlayerInArea(playerid,Float:minX,Float:minY,Float:maxX,Float:maxY)
    {
    new Float:pX,Float:pY,Float:pZ;
    GetPlayerPos(playerid,pX,pY,pZ);
    if(pX >= minX && pX <= maxX && pY >= minY && pY <= maxY) return 1;
    else return 0;
    }


    Ich denke mal der Stock ist richtig.

    Moin,


    Ich habe ein Problem mit meinen NO-DM Zonen System ( Naja, ich weiß nicht ob ich es System nennen kann. )
    Jedenfalls, habe ich ein Textdraw erstellt und dies sollte kommen, wenn man in die Zone geht.
    Dazu habe ich ein Public erstellt, welches unter OnGameModeInit alle 1,5 Sekunden aufgerufen wird.
    Hier das Public:


    public Nodm_Abfrage()
    {
    for(new i;i<MAX_PLAYERS; i++)
    for(new nodmsys;nodmsys<sizeof(NoDmSystem);nodmsys ++)
    {
    if(GetPVarInt(i,"loggedin") == 0)continue;
    if(IsPlayerInArea(i,NoDmSystem[nodmsys][MinX],NoDmSystem[nodmsys][MinY],NoDmSystem[nodmsys][MaxX],NoDmSystem[nodmsys][MaxY]))
    {
    TextDrawShowForPlayer(i,Text:blackTD);
    }
    else
    {
    TextDrawHideForPlayer(i,Text:blackTD);
    }
    }
    return 1;
    }


    Jedoch, wenn jemand in die Zone geht, kommt kein Textdraw.
    Wenn ich es so machen würde:


    if(IsPlayerInArea(i,1813.8855,-1862.1486,1698.2018,-1948.9227))


    Klappt es, aber halt nur für die angegebene Zone.


    Hier das Enum und das andere, KP wie man es nennt ^^


    enum nodm
    {
    Float:MinX,
    Float:MinY,
    Float:MaxX,
    Float:MaxY,
    ZoneID
    };
    new NoDmSystem[][nodm]=
    {
    /*MinX, MinY, MaxX, MaxY*/
    {1813.8855,-1862.1486,1698.2018,-1948.9227}, // Zivispawn
    {1060.145,-1721.339,1166.624,-1583.168},
    {}
    };



    Ich hoffe ihr könnt mir weiterhelfen.


    Gruß,

    Meiner Meinung nach ist ein WBB Forum am übersichtlichsten und am einfachsten, daher reicht es auch vom Preisleistungsverhältnis her.
    VBulletin hat bestimmt seine Qualitäten, jedoch finde ich es ein wenig unübersichtlich.

    Hey Leute, ich habe ein Problem und zwar möchte ich bestimmten Parametern etwas zuweisen.
    Ich arbeite mit OCMD hierbei ( weiß nicht ob es wichtig ist. )
    Bisher sieht mein Versuch so aus:

    ocmd:paratest(playerid,params[])
    {
    new para;
    if(sscanf(params,"u",para))return SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /paratest [Parameter]");
    if(para < 1 || para > 3)return SendClientMessage(playerid,COLOR_WHITE,"Ungültiger Parameter, nur (1-3).");
    if(para == 1){SendClientMessageToAll(COLOR_RED,"PARAMETER 1!");}
    if(para == 2){SendClientMessageToAll(COLOR_YELLOW,"PARAMETER 2!");}
    if(para == 3){SendClientMessageToAll(COLOR_WHITE,"PARAMETER 3!");}
    return 1;
    }

    Nur, wenn ich ingame nun /paratest 1 schreibe, kommt nichts im Chat, also die SendClientMessageToAll ist einfach für mich eine Überprüfung ob es funktioniert, ich glaube ihr wisst was ich meine.
    Könnt ihr mir erklären wie man Parametern etwas zuweist?


    Viele Grüße,

    loose indication -> falsch eingerückt

    Genau, einfach ganz oben im Script folgendes schreiben, wie auch schon oben genannt:
    #pragma tabsize 0 -> Damit werden die Tabsprünge = 0 gezählt, das heißt, der Code braucht nicht mehr richtig eingerückt werden, es ist Theoretisch egal ob du bei einem if 5 Tabsrünge machst und bei was anderen wieder 2 oder 3.

    Was hat denn der /makeadmin Befehl mit MySQL zu tun? Du kannst doch weiterhin mit Set/GetPVarInt/Str/Float arbeiten... Nur musst du halt die Werte aus der Datenbank beim Verbinden des Spielers in die PVars eintragen und beim Disconnect in die Datenbank wieder speichern

    Danke dir.
    Hab mir schon Maddins Tutorial angeguckt.

    Heyho, ich wollte mal fragen wie ich bei MysQL ein Adminsystem machen kann?


    Ich bräuchte eigentlich nur ein Beispiel und den Stock. Habe nichts in der Suchfunktion gefunden, falls ihr mir einen Direktklinkl schicken könnnt wäre das auch gut. Das Filterscript von Goldkiller wollte ich mir anschauen, aber ich kann es mir nicht downloaden.


    Mit dem Beispiel mein ich das:


    ocmd:makeadmin(playerid,params) // darunter bitte ein Beispiel.



    (ab hier weiß ich nicht weiter, habe vorher mit PVars gearbeitet.)

    Ich versteh nicht so genau weßhalb er beim Disconnecten das Register Dialog zeigen will, normalerweise gehört des doch unter OnPlayerConnect :P
    public OnPlayerConnect(playerid)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
    return 1;
    }

    Hey, hat leider nichts gebracht, ich glaube es liegt daran, das die HP direkt wieder auf 100 gesetzt wird.
    Ich versuch mal das Explosion über den GetPlayerHealth zu machen und schauen was passiert, trotzdem danke für deinen Hilfsversuch! :)


    Gruß,


    E:
    Ich weiß nun woran es liegt, aber ich weiß nicht wie ich es Scripten soll :P
    Es liegt daran, das die HP zu schnell wieder auf 100 gesetzt sind un die Abfrage nach dem Leben nach der Explosion einfach zu langsam ist, daher bräuchte ich einen Timer, der nach ca. 0,5-1 Sekunde erst Abfragt wie viel Leben der Spieler hat.