Beiträge von DeathlyPhil

    Hallo,
    Ich hab aus Langeweile mal ein Admin Fs gemacht.



    Ersteller: DeathlyPhil


    Version: 0.1


    Was kann es?:
    Es speichert den Score, Adminlevel und Geld.
    Login /Register mit dini . (Mit Dialog)



    Es gibt momentan 3 Ränge: Supporter,Admin und Superadmin.


    Die Commands:

    SendClientMessage(playerid,COLOR_WHITE," [Supporter]: /a, /kick, /wetter, /freeze, /unfreeze, /heal, /kill ");
    SendClientMessage(playerid,COLOR_WHITE," [Admin]: /ban, /veh, /get, /goto, /giveweapon, /resetweapon, /spectate, /endspectate,");
    SendClientMessage(playerid,COLOR_WHITE," [Superadmin]: /makeadmin, /gmx, /boombaby");


    EDIT:


    Version: 0.1b:


    Was ist anders?:


    Es gibt nun neue Befehle : /fixcar /givemoney, /deletemoney, /givearm und /skin



    SendClientMessage(playerid,COLOR_YELLOW," [Supporter]: /givearm, /fixcar, /a, /kick, /wetter, /freeze, /unfreeze, /heal, /kill ");
    SendClientMessage(playerid,COLOR_YELLOW," [Admin]: /ban, /veh, /get, /goto, /giveweapon, /resetweapon, /givemoney, /deletemoney, /spectate, /endspectate,");
    SendClientMessage(playerid,COLOR_YELLOW," [Superadmin]: /skin, /makeadmin, /gmx, /boombaby");


    Das Script wurde nun Optimiert circa 300-Zeilen eingespart.



    Der Bug mit dem einloggen wurde gefixxt.
    Script getestest läuft einwandfrei.


    Ich werde es immer wieder Updaten mit neuen Commands und mehr.


    Die Credits dürfen nicht entfernt werden!


    Hoffe es gefällt euch, es ist mein erstes Fs. :)


    Pastebin


    P-Admin.amx


    P-Admin.pwn


    P.S Wenn bugs da sind oder ich etw. vergessen habe schreibt es hier drunter oder mir eine Pn ^^


    So hab nun heute noch die Version 0.1b gemacht wegem dem loggin bug. Hab alle Download Datein durch die neuen ersetzt sowie die Pastebin. :)

    Hi,
    Wie mache ich es das der LogText nicht nebeneinander sondern untereinander gespeichert wird?


    stock KickLog(text[])
    {
    new log[256],File:hFile;
    new Tag,Monat,Jahr,Stunde,Minute,Sekunde;
    GetDatum(Tag,Monat,Jahr,Stunde,Minute,Sekunde);
    format(log,sizeof(log),"\n[%d]:[%d]:[%d] [%d]/[%d]/[%d] %s\n",Tag,Monat,Jahr,Stunde,Minute,Sekunde,text);
    hFile=fopen("kick.log",io_append);
    fwrite(hFile,log);
    fclose(hFile);
    }


    ? Pls helft mir^^

    Hi,
    Ich hab ma versucht einen /goto Befehl zu machen nur kommt dann immer :C:\Dokumente und Einstellungen\a\Desktop\Server (selfmade)\filterscripts\P-Admin.pwn(598) : warning 213: tag mismatch
    C:\Dokumente und Einstellungen\a\Desktop\Server (selfmade)\filterscripts\P-Admin.pwn(598) : warning 213: tag mismatch


    Zu der Zeile GetPlayerPos(go, lolx,loly,lolz);


    Von if(strcmp(cmd, "/goto", true) == 0)
    {
    new go;
    if(Spieler[playerid][Admin] == 0)
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
    return 1;
    }
    if(Spieler[playerid][Admin] == 1)
    {
    SendClientMessage(playerid,COLOR_RED,"Du musst mindestens Admin sein!");
    return 1;
    }
    if(Spieler[playerid][Admin] >= 2)
    {
    if(!IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid,COLOR_RED," Dieser Spieler existiert nicht!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(strlen(tmp) == 0)
    {
    SendClientMessage(playerid,COLOR_RED," Benutze /goto [Playerid]");
    return 1;
    }
    new Float:lolx,loly,lolz;
    go = strval(tmp);
    GetPlayerPos(go, lolx,loly,lolz);

    SetPlayerPos(playerid,lolx,loly,lolz);
    }
    return 1;
    }


    Hoffe ihr könnt mir helfen mfg.DeathlyPhil

    Warum geht der Befehl nicht? wenn ich /fight 1 eingebe dann kommt nix ich werd auch nicht geportet :P
    if(strcmp(strget(cmdtext,0),"/fight"))
    {
    if(!strlen(strget(cmdtext,0)))
    {
    SendClientMessage(playerid,COLOR_RED,"Benutze: /fight [1]");
    return 1;
    }
    if(IsPlayerInRangeOfPoint(playerid,500.0,-1396.806030,992.765136,1024.053466))
    {
    SendClientMessage(playerid,COLOR_RED,"ACHTUNG:Du bist noch in einem fight! Benutze /back um ihn zu verlassen");
    return 1;
    }
    new fight = strval(strget(cmdtext,2));
    if(fight == 1)
    {
    SetPlayerPos(playerid,-1396.806030,992.765136,1024.053466);
    SetPlayerInterior(playerid,15);
    ResetPlayerWeapons(playerid);
    GivePlayerWeapon(playerid,39,50000);
    SendClientMessage(playerid,COLOR_YELLOW, "Du hast du zu einem Fight geportet!.");
    return 1;
    }
    return 1;
    }
    thx schonma :)

    news hab ich drinnen und die Uhrzeit hatte ich rausgenommen weil ich die schon habe.
    und dann halt unter gamemode
    Copyright = TextDrawCreate(10,428,"Forum:http://www.evo-rpg.de");
    TextDrawLetterSize(Copyright,0.5,1.3);
    TextDrawColor(Copyright,COLOR_RED);
    TextDrawSetShadow(Copyright,0);
    TextDrawShowForAll(Copyright);


    ModeName = TextDrawCreate(628.000000,427.000000,"Zombultion Version 0.1beta");//Deine ServerVersion
    TextDrawAlignment(ModeName,3);
    TextDrawBackgroundColor(ModeName,0xffffffff);
    TextDrawFont(ModeName,2);
    TextDrawLetterSize(ModeName,0.399999,1.700000);
    TextDrawColor(ModeName,0x000000ff);
    TextDrawSetProportional(ModeName,1);
    TextDrawSetShadow(ModeName,1);
    TextDrawShowForAll(ModeName);

    Ich wollte eine schwarze Box vor den Bildschirm "knallen" beim Connecten aber irgendwie kommt die nicht.
    Hier mal das Script:
    // This is a comment
    // uncomment the line below if you want to write a filterscript
    #define FILTERSCRIPT


    #include <a_samp>


    #if defined FILTERSCRIPT



    #define COLOR_RED 0xFF0000AA


    new Text:Text;



    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Epic");
    print("--------------------------------------\n");
    Text = TextDrawCreate(240.0,580.0,"_");
    TextDrawUseBox(Text, 1);
    TextDrawTextSize(Text,240.0,580.0);
    TextDrawBackgroundColor(Text ,0x000000FF);
    TextDrawBoxColor(Text ,0x000000FF);
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    #else


    main()
    {
    print("\n----------------------------------");
    print(" Epic");
    print("----------------------------------\n");
    }


    #endif


    public OnGameModeInit()
    {
    // Don't use these lines if it's a filterscript
    SetGameModeText("Blank Script");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
    }


    public OnGameModeExit()
    {
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
    }


    public OnPlayerConnect(playerid)
    {
    TextDrawShowForPlayer(playerid,Text);
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    return 1;
    }


    Pls help ^^

    xD also ich meinte kein Textdraw hm wie kann ichs erklären hm
    Also y ist ja nach oben wie du sagtest und ich meinte ob man eine bestimmte nach oben Koordinate nehmen kann.
    So und wenn der Spieler darüber ist dass er das Beispielsweise ne Naricht bekommt .


    So hoffe man verstehts jetzt so einiger maßen ^^

    oben new Gangzone;


    Dann unter OnGameModeInit oder OnFilterscriptinit je nachdem was du hast:
    Gangzone = GangZoneCreate(-2989.536, 1763.359, 2977.858, 2989.536); //hier die Koords deiner Gangzone kannst auch im englischen samp FOrum nach Xtreme vehicle Plotter suchen das programm ist sehr gut


    Und unter OnPlayerSpawn
    GangZoneShowForAll(Schutzone, 0x000000FF); // zuerst die Gangzonen bzw den namen den du benutzt hast und dann die Farbe (bei mir ist es jetzt schwarz die farben kannst du ganz einfach hier mit machen

    Wenn du mir die Zeile erklären kannst , dann kann ich vielleicht helfen
    if (PlayerInfo[playerid][pFraktion] > 1 && PlayerInfo[playerid][pFraktion] < 1)
    Ich verstehe dass nämlich so dass wenn PlayerInfo[playerid][pFraktion] größer als 1 ist UND kleiner als eins ist ... hä?

    probiers mal so :P
    public Tutorial(playerid)
    {
    if(TutTime[playerid] >= 1)
    {
    if(TutTime[playerid] == 2)
    {
    SendClientMessage(playerid,COLOR_BLUE,"***************************************************************************************************");
    SendClientMessage(playerid,COLOR_GREY," **Wilkommen zum Tutorial**");
    SendClientMessage(playerid,COLOR_GREY,"Es folgt nun ein kleines Tutorial, passe bitte gut auf.");
    SendClientMessage(playerid,COLOR_GREY,"Falls dann doch noch Fragen offen bleiben, fragt die Admins oder Spieler");
    SendClientMessage(playerid,COLOR_BLUE,"***************************************************************************************************");
    SendClientMessage(playerid,COLOR_BLUE," ");
    SendClientMessage(playerid,COLOR_BLUE," ");
    }
    else if(TutTime[playerid] == 10)
    {
    SendClientMessage(playerid,COLOR_BLUE,"***************************************************************************************************");
    SendClientMessage(playerid,COLOR_GREY," **Gamemode & Verhaltensregeln**");
    SendClientMessage(playerid,COLOR_GREY,"Erklärung des Gamemodes:");
    SendClientMessage(playerid,COLOR_GREY,"In diesem Gamemode handelt es sich um ein 'Trucker Gamemode'.");
    SendClientMessage(playerid,COLOR_GREY,"Du kannst hier verschiedene Touren abfahren und Geld verdienen.");
    SendClientMessage(playerid,COLOR_GREY,"Verhaltensregeln:");
    SendClientMessage(playerid,COLOR_GREY,"Bitte respektiere die Admins, denn auch sie werden dich respektieren.");
    SendClientMessage(playerid,COLOR_GREY,"Beleidigungen sind auch verboten und werden mit einem Ban bestraft.");
    SendClientMessage(playerid,COLOR_BLUE,"***************************************************************************************************");
    SendClientMessage(playerid,COLOR_BLUE," ");
    SendClientMessage(playerid,COLOR_BLUE," ");
    SendClientMessage(playerid,COLOR_BLUE," ");


    }
    else if(TutTime[playerid] == 18)
    {
    SetPlayerCameraPos(playerid, 852.2684,-577.2018,19.8256);
    SetPlayerCameraLookAt(playerid, 854.8256,-597.4880,18.4219);
    SendClientMessage(playerid,COLOR_BLUE,"***************************************************************************************************");
    SendClientMessage(playerid,COLOR_GREY," **Trucker Job & LKW Parkplatz**");
    SendClientMessage(playerid,COLOR_GREY,"Hier kannst du Touren annehmen und LKS's holen.");
    SendClientMessage(playerid,COLOR_GREY,"Die LKW's sind hier ebenfalls geparkt.print Die Ware musst du im Lager abholen.");
    SendClientMessage(playerid,COLOR_GREY,"Es gibt insgesamt 10 verschiedene Touren die du abfahren kannst.");
    SendClientMessage(playerid,COLOR_GREY,"Für jede Tour bekommst du Geld, wovon du dir einen eigenen LKW kaufen kannst.");
    SendClientMessage(playerid,COLOR_BLUE,"***************************************************************************************************");


    }
    else if(TutTime[playerid] == 26)
    {
    SetPlayerCameraPos(playerid, 814.0050,-583.9631,19.3363);
    SetPlayerCameraLookAt(playerid, 810.0995,-612.9784,16.3359);
    SendClientMessage(playerid,COLOR_BLUE,"***************************************************************************************************");
    SendClientMessage(playerid,COLOR_GREY," **Das Lager**");
    SendClientMessage(playerid,COLOR_GREY,"Hier kannst du die Ware abholen. Um deine Touren fahren zu können.");
    SendClientMessage(playerid,COLOR_GREY,"Es stehen 6 zu verfügung. Sollten keine mehr da sein...");
    SendClientMessage(playerid,COLOR_GREY,"...musst du warten bis ein Trucker von einer Tour zurück kommt.");
    SendClientMessage(playerid,COLOR_BLUE,"***************************************************************************************************");
    SendClientMessage(playerid,COLOR_BLUE," ");
    SendClientMessage(playerid,COLOR_BLUE," ");
    SendClientMessage(playerid,COLOR_BLUE," ");
    }
    else if(TutTime[playerid] == 34)
    {
    SetPlayerCameraPos(playerid, 641.0378,-590.9648,16.1875);
    SetPlayerCameraLookAt(playerid, 655.7474,-573.8463,16.3359);
    SendClientMessage(playerid,COLOR_BLUE,"***************************************************************************************************");
    SendClientMessage(playerid,COLOR_GREY," **Der Truckstop**");
    SendClientMessage(playerid,COLOR_GREY,"Hier kannst du dir bestimmt sachen kaufen und tanken.");
    SendClientMessage(playerid,COLOR_GREY,"Wenn du dir etwas kaufen willst, musst du in den Truckstop gehen und /buy eingeben.");
    SendClientMessage(playerid,COLOR_GREY,"Zum Tanken musst du an die Tankstelle fahren und /fill eingeben.");
    SendClientMessage(playerid,COLOR_BLUE,"***************************************************************************************************");
    SendClientMessage(playerid,COLOR_BLUE," ");
    SendClientMessage(playerid,COLOR_BLUE," ");
    SendClientMessage(playerid,COLOR_BLUE," ");
    }
    else if(TutTime[playerid] == 42)
    {
    SendClientMessage(playerid,COLOR_BLUE,"****************************************************************************************************");
    SendClientMessage(playerid,COLOR_GREY," **Tutorial Ende**");
    SendClientMessage(playerid,COLOR_GREY,"Vielen Dank, dass du dir Zeit fürs Tutorial genommen hast.");
    SendClientMessage(playerid,COLOR_GREY,"Falls weitere Fragen bestehen, wende dich an Spieler oder Admins.");
    SendClientMessage(playerid,COLOR_BLUE,"***************************************************************************************************");
    SendClientMessage(playerid,COLOR_BLUE," ");
    SendClientMessage(playerid,COLOR_BLUE," ");
    SendClientMessage(playerid,COLOR_BLUE," ");
    }
    else if(TutTime[playerid] == 50)
    {
    KillTimer(TutTimer[playerid]);
    TutTime[playerid] = -1;
    SetPlayerCamerPos(playerid,672.8124,-521.0684,16.3281);
    SetPlayerPos(playerid,672.8124,-521.0684,16.3281);
    TogglePlayerControllable(playerid,true);
    GameTextForPlayer(playerid,"Willkommen, in ~r~ Dillimore.",6000,2);
    }
    TutTime[playerid]++;
    }
    }
    Aber wie immer keine Garantie dass es geht :)

    Jetzt hab ich noch ein problem gefunden ich hab ja:
    for(new players = 0; players <= MAX_PLAYERS; players++)
    {
    new Float:aX,Float:aY,Float:aZ;
    GetPlayerPos(playerid, aX, aY, aZ);
    CreateObject(16370, aX, aY, aZ, 0, 0, 0);
    SetPlayerCheckpoint(players, aX, aY, aZ, 3.0);
    return 1;
    }


    das players eig für alle den Checkpoint anzeigt, aber er zeigt garkeinen an weder für den Ersteller noch für andere

    Hi,
    Ich hab es so momentan :
    public OnPlayerEnterCheckpoint(playerid)
    {
    SendClientMessage(playerid,ORANGE,"Pieeeep... Du hast dein Ziel erreicht das Navi schaltet sich ab, du kriegst einen kleinen Stromschlag ab!!");
    SetPlayerHealth(playerid, 90);
    DisablePlayerCheckpoint(playerid);
    return 1;
    }


    doch will ich dass das nur für die Checkpoints aus dem Navi menü gilt, wie mache ich das?
    if(dialogid == navimenu)
    {
    if(response)
    {
    if(listitem == 0)
    {
    SetPlayerCheckpoint(playerid,-1678.9899, 416.3573, 6.6837,3.0);
    }
    if(listitem == 1)
    {
    SetPlayerCheckpoint(playerid,-2115.0771,-227.6208,34.6056,3.0);
    }
    if(listitem == 2)
    {
    SetPlayerCheckpoint(playerid,-2026.5631,156.7928,28.3243,3.0);
    }
    if(listitem == 3)
    {
    SetPlayerCheckpoint(playerid,-2673.8937,616.2485,15.6815,3.0);
    }
    }
    return 1;
    }
    return 1;
    }


    thx schonmal ^^

    Probiers mal so :P Keine Garantie dass es geht ^^
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == startinfo)
    {
    if(response == 0)
    {
    SpawnPlayer(playerid);
    }
    if(response == 1)
    {
    Kick(playerid);
    }
    }

    if(dialogid == regeln)
    {
    if(response == 0)
    {
    SpawnPlayer(playerid);
    }
    if(response == 1)
    {
    Kick(playerid);
    }
    }
    return 0;
    }