Beiträge von FoxHound

    Zitat

    GF wird nicht benutzt, auserdem hab ich auch die bots an allem connect zeug und spawn zeug vorbeigeschläust.


    @FeeT:// bitte erst alle posts im thema durchlesen, bevor man postet (wenigstens die letzten) ;).


    @Basti!:// /sign, wollt ich grad schreiben xD

    Hier, vllt klappts ja... habs nicht getestet, aber sollte gehn :rolleyes:;)


    Unter "public OnPlayerCommandText" einfügen:
    //schmiere
    if(strcmp(cmd, "/schmiere", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, 0xFFFFFFFF, "* /schmiere [id]");
    return 1;
    }
    new gamer;
    new Float:slx, Float:sly, Float:slz;
    gamer = ReturnUser(tmp);
    if(IsPlayerConnected(gamer))
    {
    if(gamer != INVALID_PLAYER_ID)
    {
    GetPlayerPos(gamer, slx, sly, slz);
    SetPlayerPos(gamer, slx+5, sly, slz+5);
    PlayerPlaySound(gamer, 1130, slx+5, sly, slz+5);
    }
    }
    }
    return 1;
    }

    vielleicht weil settimer repeated wird...? ^^ versuch mal das hier:


    //unter ongamemodeinit
    SetTimer("Aufzughoch",10000,0);
    aufzug = CreateObject(5837, 189.004272, -1880.266479, 2.806118, 0.0000, 0.0000, 270.0000);


    //ganz unten ins script
    public Aufzughoch(playerid){
    if(unten[playerid]==1){
    MoveObject(aufzug,189.057831, -1880.291138, 22.476009,2);
    unten[playerid]=0;
    SetTimer("Aufzugrunter",20000,0);
    }
    return 1;
    }


    //wieder ganz unten ins script
    public Aufzugrunter(playerid){
    if(unten[playerid] == 0){
    unten[playerid]=1;
    MoveObject(aufzug,189.004272, -1880.266479, 2.806118,2);
    SetTimer("Aufzughoch",20000,0);
    }
    return 1;
    }


    edit://
    shit war wohl jmnd schneller

    2 mal :D einmal backup und einmal original (in der ich editiere). Und ich arbeitete an carlito's roleplay, und einer hat mir gf empfohlen. dann habe ich die morphinc und so ins original pawno include ordner gemacht und es funzte nicht... dann hab ich rausgefunden das das pawno vom backup ordner gestartet wird, wo kein morphinc und etc. ist :D:D


    Back2Topic.

    sag mal wie es noch besser sein könnte...
    es ærgert mich auch aber es gibt eben keinen anderen weg soviel ich weiß.
    wenigstens keinen besseren :D

    1.: Keine pics
    2.: Gibt es -wie gesagt- der Pawn-Quelltext zur verfügung.
    3.: So schwer ist es doch nicht mal F8 zu drücken und hochzuladen, oder?


    Oje oje heutzutage muss mal alles selber machen...
    CreateObject(987, 1549.377075, -1632.605713, 12.623906, 0.0000, 0.0000, 270.0000);
    CreateObject(987, 1539.658203, -1617.829712, 12.546875, 0.0000, 0.0000, 326.2500);
    //gate auf
    CreateObject(986, 1549.341064, -1628.498901, 14.093480, 0.0000, 0.0000, 270.0000);
    //gate zu
    CreateObject(986, 1549.362061, -1636.478638, 14.090926, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1539.635986, -1614.553711, 15.949606, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1539.658691, -1607.885620, 15.911470, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1539.683716, -1605.759399, 15.898560, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1542.985718, -1602.385742, 15.899607, 0.0000, 0.0000, 0.0000);
    CreateObject(974, 1549.600586, -1602.364868, 15.899607, 0.0000, 0.0000, 0.0000);
    CreateObject(974, 1556.217041, -1602.353760, 15.899607, 0.0000, 0.0000, 0.0000);
    CreateObject(974, 1562.861084, -1602.353394, 15.874607, 0.0000, 0.0000, 0.0000);
    CreateObject(974, 1569.513916, -1602.396240, 15.849607, 0.0000, 0.0000, 0.0000);
    CreateObject(974, 1576.105835, -1602.401001, 15.824608, 0.0000, 0.0000, 0.0000);
    CreateObject(974, 1582.757202, -1602.385132, 15.799608, 0.0000, 0.0000, 0.0000);
    CreateObject(974, 1589.416382, -1602.378784, 15.799608, 0.0000, 0.0000, 0.0000);
    CreateObject(974, 1596.068115, -1602.392944, 15.780746, 0.0000, 0.0000, 0.0000);
    CreateObject(974, 1602.696533, -1602.375122, 15.797052, 0.0000, 0.0000, 0.0000);
    CreateObject(974, 1604.589600, -1602.408081, 15.796991, 0.0000, 0.0000, 0.0000);
    CreateObject(974, 1607.921387, -1605.732300, 15.771486, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1607.977783, -1612.355469, 15.796486, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1607.988525, -1619.000244, 15.796486, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1607.998779, -1625.641357, 15.821486, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1608.025269, -1632.299805, 15.821486, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1604.677490, -1637.924561, 15.921484, 0.0000, 0.0000, 0.0000);
    CreateObject(974, 1608.006592, -1634.630981, 15.896484, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1568.555786, -1636.194092, 15.212624, 0.0000, 0.0000, 270.0000);
    //fahrstuhl oben
    CreateObject(988, 1565.885010, -1637.032349, 12.598350, 269.7592, 0.0000, 0.0000);
    //fahrstuhl unten
    CreateObject(988, 1565.885010, -1637.018921, 27.371834, 269.7592, 0.0000, 0.0000);
    CreateObject(974, 1563.092651, -1636.219238, 15.286356, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1563.075439, -1636.215698, 20.759922, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1568.588623, -1636.233032, 20.480780, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1563.083252, -1636.203125, 24.577574, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1568.592529, -1636.217163, 24.522665, 0.0000, 0.0000, 270.0000);
    CreateObject(974, 1565.785400, -1632.817749, 19.975414, 0.8594, 90.2408, 0.0000);
    CreateObject(974, 1565.822632, -1632.935303, 26.629564, 0.8594, 90.2408, 0.0000);
    CreateObject(994, 1568.524902, -1639.215210, 27.402433, 0.0000, 0.0000, 90.0000);
    CreateObject(994, 1563.117554, -1639.200928, 27.391439, 0.0000, 0.0000, 90.0000);
    CreateObject(978, 1545.435303, -1621.892944, 13.387095, 0.0000, 0.0000, 146.2500);
    CreateObject(978, 1549.160767, -1637.214966, 13.395403, 0.0000, 0.0000, 90.0000);

    Screens (imageshack album):
    klick


    weil du kein pawn quellcode benutzt hast und keine screens gepostet hast, hast schon 2 punkte verloren.
    Und es geben viele unnötige objecte. -2 punkte.


    6/10 ! ^^

    ja dieses while is mir auch aufgefallen :D


    if(strcmp("/taxi", cmdtext, true) == 0)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if (gTeam[i] == TEAM_TAXI)
    {
    GetPlayerName(sendername, sname, sizeof(sname));
    format(string, sizeof(string), "%s hat ein Taxi gerufen.", sname);
    SendClientMessage(i, COLOR_LIGHTBLUE, string);
    }
    }
    }
    return 1;
    }


    so is fertig

    hmm warte mal kurz, muss erst die 0.3 gf machen xD


    EDIT://
    Hier bitteschön. Alles wie beim normalen godfather. Nur für samp 0.3 :D
    Und die PlayerToPoint funktionen habe ich auch mit IsPlayerInRangeOfPoint ersetzt.
    GM hat 0 errors und 0 warnings.


    Download: _-= RemoveD =-_

    ehm ich dachte auch daran es einfach hochzuladen und ihm die URL zu geben. Aber wenn er es nochmal mit seinen alten includes compiled, wird sein script wieder nur auf 0.2 funktionieren xD
    Hatte auch schon aufgegeben, aber ein sehr guter freund den ich auf NeS kennengelernt habe, hat mir geholfen ;)
    Der hat 0 plan vom scripten aber er hat mir laune gegeben und hab weitergemacht und jetz scripte ich wieder. Warte, ich gebe dir alle includes und etc.. Dannn editier ich den beitrag ;)

    Hier ein paar farbcodes für dich :D ^^:
    #define red 0xFF0000AA
    #define green 0x33FF33AA
    #define COLOR_INVIS 0xAFAFAF00
    #define COLOR_SPEC 0xBFC0C200
    #define NICESKY 0x99FFFFAA
    #define AQUAGREEN 0x03D687FF
    #define COLOR_ADD 0x63FF60AA
    #define COLOR_ORANGE 0xFF9900AA
    #define COLOR_GRAD1 0xB4B5B7FF
    #define COLOR_GRAD2 0xBFC0C2FF
    #define COLOR_GRAD3 0xCBCCCEFF
    #define COLOR_GRAD4 0xD8D8D8FF
    #define COLOR_GRAD5 0xE3E3E3FF
    #define COLOR_REPORT 0x990000FF
    #define COLOR_GRAD6 0xF0F0F0FF
    #define COLOR_GREY 0xAFAFAFAA
    #define COLOR_GREEN 0x33AA33AA
    #define LIGHTGREEN 0x00FF00FF
    #define COLOR_RED 0xAA3333AA
    #define COLOR_BLUE 0x33CCFFAA
    #define COLOR_RED2 0xAA3333AA
    #define COLOR_LIGHTRED 0xFF6347AA
    #define COLOR_LIGHTBLUE 0x33CCFFAA
    #define COLOR_LIGHTGREEN 0x9ACD32AA
    #define COLOR_LIGHTYELLOW 0xFFFF99FF
    #define COLOR_YELLOW 0xFFFF00AA
    #define COLOR_YELLOW2 0xF5DEB3AA
    #define COLOR_WHITE 0xFFFFFFAA
    #define COLOR_FADE1 0xE6E6E6E6
    #define COLOR_FADE2 0xC8C8C8C8
    #define COLOR_FADE3 0xAAAAAAAA
    #define COLOR_FADE4 0x8C8C8C8C
    #define COLOR_FADE5 0x6E6E6E6E
    #define COLOR_PURPLE 0xC2A2DAAA
    #define COLOR_DBLUE 0x2641FEAA
    #define COLOR_ALLDEPT 0xFF8282AA
    #define COLOR_NEWS 0xFFA500AA
    #define COLOR_OOC 0xE0FFFFAA

    :love:

    Erst der #define, dann der farbenname, dann die farbcode. z.B.:
    #define COLOR_ORANGE 0xFF9900AA.
    Und die FarbCodes kannst du mit dem SA-MP Color Picker rausfinden ^^


    EDIT// Und du musst sie nicht unbedingt definieren, du kannst auch direkt die farbcode reinschreiben. z.B.:
    SendClientMessage(playerid, 0xFF9900AA, "Beispiel");

    Also ich weiß nicht ob hr es wirklich benutzen werdet, aber ich empfehle es zu benutzen. Das ist eine ladezeit der den spieler einloggen læsst. z.B. ein spieler connected, und da steht "Loading..." und wartet 7 sekunden. und nachdem die 7 sec. vorbei sind, kann der spieler sich einloggen. Das ist eig sehr gut. Das verhindert den bug, das man nach dem einloggen den startscreen sieht, und nicht den spieler. Und es verhindert auch den bug, das manche objecte bei den usern nicht da sind, weil sie sich zu schnell eingeloggt haben. (Beide sind mir öfters passiert)


    Also ihr macht das mal unter die ganzen "new"s:
    new AWpRegpLog


    Dann unter die ganzen "forward"s einfügen ^^:


    forward ConnectPlayer(playerid);


    Danach macht ihr den Callback dafür. Ganz unten ins script:
    public ConnectPlayer(playerid)
    {
    //001
    }


    Und jetzt kommen wir eig zur schwieren seite der sache. Vllt kann es sein das ich es nicht richtig erzæhlen kann aber hoffentlich versteht ihr es ^^:
    Jetzt drückt ihr STRG + F und sucht nach "OnPlayerConnect". Ihr müsstet solche æhnliche zeilen sehn:

    if(fexist(string))
    {
    gPlayerAccount[playerid] = 1;
    SendClientMessage(playerid, COLOR_GREEN, "Logge dich mit /login ein ");
    return 1;
    }
    else
    {
    gPlayerAccount[playerid] = 0;
    SendClientMessage(playerid,COLOR_LIGHTBLUE, " Registriere dich mit /register");
    return 1;
    }.
    Schneidet sie raus und geht unter "public PlayerConnect". Markiert die "//001" und dann STRG + V drücken ;)
    Jetzt kopiert ihr genau in die obere zeile über "if(fexist(string))" das hier:

    AWpRegpLog = 1


    So. Jetzt drückt ihr wieder STRG + F und sucht nach " "/login" ". Darunter macht ihr das hier rein:
    if(AllowRegLog[playerid] == 0)
    {
    return 1;
    }. Das gleiche macht ihr mit "/register".
    So kommen wir zum letzten schritt. Der ist leicht ;) Jetzt drückt ihr wieder STRG + F und sucht nach "OnPlayerConnect". Darunter kopiert ihr das hier rein:


    SetTimerEx("ConnectPlayer",7000,0,"i",playerid);
    SendClientMessage(playerid, COLOR_WHITE, "SERVER: Loading...");.
    Und fertig! Und vergesst nicht, das ihr auch andere funktionen benutzen könnt. z.B. kein clientmessage mit "Loading" sondern ein GameText!:
    GameTextForPlayer(playerid, "~y~Connecting...", 7000, 3);


    Falls ich fehler habe oder etwas vergessen habe, bitte meldet es unter diesem thread. ich werde den TuT so schnell wie möglich bearbeiten! :) ;)


    The kiLLercLicK


    Also alleine das wollte ich nicht posten, deswegen mach ich auch nen codeschnipsel rein. Ist bisschen merkwürdig, und auch nicht sehr nützlich aber geil XD :thumbup:
    Es heißt KillerClick (0.3). Also man kann mit dem command "/killerclickon" den killerclick mode einschalten (mit /killerclickoff auschalten)(die killerclick cmds benötigen Rcon-Rechte). Dann klickt man auf einen spieler und der spieler stirbt, und der killerclick mode wird automatisch wieder ausgeschaltet. Und wenn der killerklick mode nicht eingeschaltet ist, kommen infos über den geklickten spieler (Name, Level, Skin ID). Das mit den infos geht bei allen, nicht nur bei admins ^^.


    Unter "public OnPlayerCommandText" einfügen:

    //---------------------------: KillerClick bY PSPgamer | Foxhound :-----------------------------//
    if (strcmp(cmd, "/killerclick", true) == 0)
    {
    if(IsPlayerAdmin(playerid))
    {
    if(KillerClick == 0)
    {
    KillerClick = 1;
    SendClientMessage(playerid, COLOR_WHITE, "KillerClick aktiviert!");
    }
    else if(KillerClick == 1)
    {
    KillerClick = 0;
    SendClientMessage(playerid, COLOR_WHITE, "KillerClick deaktiviert!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein RCON-Admin !");
    }
    return 1;
    }


    Unter "public OnPlayerClickPlayer" einfügen:

    new pname[MAX_PLAYER_NAME];
    new cpname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    GetPlayerName(clickedplayerid, cpname, sizeof(cpname));
    if(KillerClick == 1)
    {
    SetPlayerHealth(clickedplayerid, 0.0);
    KillerClick = 0;
    SendClientMessage(playerid, COLOR_WHITE, "Spieler %s wurde KillClicked.");
    SendClientMessage(playerid, COLOR_WHITE, "KillerClick deaktiviert!");
    printf("[KillerClick] %s KillerClicked %s.",pname,cpname);
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_ORANGE, "|-----------------------+");
    SendClientMessage(playerid, COLOR_ORANGE, "|- Name: %s",cpname);
    SendClientMessage(playerid, COLOR_ORANGE, "|- Level: %d",PlayerInfo[clickedplayerid][pLevel]);
    SendClientMessage(playerid, COLOR_ORANGE, "|- Skin: %d",PlayerInfo[clickedplayerid][pChar]);
    SendClientMessage(playerid, COLOR_ORANGE, "|-----------------------+");
    return 1;
    }


    Wie gesagt, ist vllt nicht so sehr nützlich aber lustig :D. und wer nicht den killerclick mode sondern nur die infos benutzen möchte, hier die codes ;) :


    Unter "public OnPlayerClickPlayer" einfügen:

    new pname[MAX_PLAYER_NAME];
    new cpname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    GetPlayerName(clickedplayerid, cpname, sizeof(cpname));
    SendClientMessage(playerid, COLOR_ORANGE, "|-----------------------+");
    SendClientMessage(playerid, COLOR_ORANGE, "|- Name: %s",cpname);
    SendClientMessage(playerid, COLOR_ORANGE, "|- Level: %d",PlayerInfo[clickedplayerid][pLevel]);
    SendClientMessage(playerid, COLOR_ORANGE, "|- Skin: %d",PlayerInfo[clickedplayerid][pChar]);
    SendClientMessage(playerid, COLOR_ORANGE, "|-----------------------+");
    return 1;

    Versuch mal das:


    if(strcmp(cmd, "/goto", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /goto [spielerid/teildesnamens]");
    return 1;
    }
    new Float:plocx,Float:plocy,Float:plocz;
    new plo;
    plo = ReturnUser(tmp);
    if (IsPlayerConnected(plo))
    {
    if(plo != INVALID_PLAYER_ID)
    {
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(Spectate[playerid] != 255)
    {
    Spectate[playerid] = 256;
    }
    GetPlayerPos(plo, plocx, plocy, plocz);
    if(PlayerInfo[plo][pInt] > 0)
    {
    SetPlayerInterior(playerid,PlayerInfo[plo][pInt]);
    PlayerInfo[playerid][pInt] = PlayerInfo[plo][pInt];
    PlayerInfo[playerid][pLocal] = PlayerInfo[plo][pLocal];
    }
    if(PlayerInfo[playerid][pInt] == 0)
    {
    SetPlayerInterior(playerid,0);
    }
    if(plocz > 530.0 && PlayerInfo[plo][pInt] == 0) //the highest land point in sa = 526.8
    {
    SetPlayerInterior(playerid,1);
    PlayerInfo[playerid][pInt] = 1;
    }
    if (GetPlayerState(playerid) == 2)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
    TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
    }
    else
    {
    SetPlayerPos(playerid,plocx,plocy+2, plocz);
    }
    SendClientMessage(playerid, COLOR_GRAD1, "Du wurdest teleportiert!");
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");
    }
    }
    }
    else
    {
    format(string, sizeof(string), "%d ist kein aktiver Spieler.", plo);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }