Beiträge von JohnGotti

    Auf jeden Fall sollen die endlich mal hinne machen.... ich warte schon seit gefühlten Ewigkeiten auf einen angemessenen Ersatz für SA-MP, um da irgendwas machen zu können.


    Alle bisher angebotenen Lösungen sind einfach noch absolut unausgereift, deren Bemühungen und investierte Zeit in allen Ehren... ich würde mich wirklich freuen wenn da mal eines dieser Projekte einen erwähnenswerten Fortschritt erzielen würde.
    GTA:N, GT-MP, Rage-MP.... alle wesentlich zu unsync... quasi fast unspielbar, an faires Deathmatch ist gar nicht erst zu denken...


    Mir ist absolut schleierhaft wie auf den GT-MP Servern (laut Masterlist) tagsüber teilweise 500-800 Leute spielen können..... in dem Zustand muss die maximale Frustration doch dauernd vorherrschend sein.....


    Vielleicht wird GTA-Orange bisschen besser, wenns denn endlich mal was zum ausprobieren gibt... toi toi toi

    Ich wollte gerne einen Anti-Überfahrschutz machen, leider klappt das nicht ganz so wie gewollt...


    Mein Ansatz war das ich über die Erkennung der Spieleranimation, bei Auftreten einer/dieser speziellen Liegeanimation den Spieler dann +2.0 nach oben setze. Funktioniert auch ziemlich gut, jedoch musste ich feststellen das man wenn man angeschossen wird schneibar und komischerweise die selbe Animation verwendet wird. Jetzt ist es leider so das man sobald man geschossen wird auch einfach um +2.0 nach oben gesetzt wird. Sieht etwas lustig aus, wenn der ganze Server am hüpfen ist ^^ . Hat jemand cleveres ne bessere Lösung oder ne Idee zur Verbesserung für mich parat ?


    if(GetPlayerAnimationIndex(i))
    {
    new animlib[32];
    new animname[32];
    new parken[30] = "factalk";
    GetAnimationName(GetPlayerAnimationIndex(i),animlib,32,animname,32);
    if(strcmp(parken, animname, true) == 0)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(i,X,Y,Z);
    SetPlayerPos(i,X,Y,Z+2);
    }
    }

    Klar kann das an einem Textdraw liegen. Hatte erst vor einer Weile das gleiche Problem. Bei mir wars ein ~n statt ~n~ im Textdraw...


    Vielen Dank für die schnelle Hilfe euch allen, besonders Haxler, ich habe in der Tat jetzt beim nochmaligen durchsehen in einem Textdraw einen Fehler gefunden in welchem ich ein unnötiges "~" zuviel hatte.

    Der Fehler tritt nur auf meinem Server auf.
    Wenn der betroffene Spieler sich auf einem anderen Server einloggt ist der Fehler nicht vorhanden.


    Wenn ich mich mit dem Account des betroffenen Spieler einlogge habe auch ich im Regelfall diesen Kästchen-Bug... sehr mysteriös

    Hallo,


    Ich, bzw. einige Spieler auf meinem Server haben ab und zu einen Bug dass sich Textdraws aufhängen bzw falsch/nicht dargestellt werden und auch selbst das Menü im GTA nicht mehr korrekt angezeigt wird. Es muss etwas mit dem Script und/oder der Speicherung der ACCs zu tun haben. Dieser Bug tritt sehr selten auf und er bleibt auch vorhanden wenn der Spieler sich mit dem gleichen Account später wieder einloggt. Ich habe die betreffenden Account Dateien angesehen jedoch konnte ich keinen Fehler feststellen. Hatte schon mal jemand diesen oder einen ähnlichen Fehler bzw. Erfahrungen mit einem Fehler dieser Art und weis vielleicht wodurch er hervorgerufen wird bzw. an was es liegen könnte ?


    Danke im Voraus.


    Hallo und guten morgen...


    Ich möchte gerne das der Spieler sich bei mir nachträglich mit einem Namen anmeldet, bzw. sich einen aussucht. Dabei will ich dies so reglementieren das der erste Buchstabe Groß geschrieben sein muss und die restlichen Buchstaben klein geschrieben werden müssen. Dazu habe ich ein kleines System gebastelt was aber leider irgendwie nicht funktioniert obwohl ich keinen Fehler erkennen kann. Wäre schön wenn sich das mal jemand ansehen und mir jemand helfen könnte. Danke im Voraus.


    const grosseb = 26;
    new GrossBuch[grosseb][256] =
    {
    {"A"},
    {"B"},
    {"C"},
    {"D"},
    {"E"},
    {"F"},
    {"G"},
    {"H"},
    {"I"},
    {"J"},
    {"K"},
    {"L"},
    {"M"},
    {"N"},
    {"O"},
    {"P"},
    {"Q"},
    {"R"},
    {"S"},
    {"T"},
    {"U"},
    {"V"},
    {"W"},
    {"X"},
    {"Y"},
    {"Z"}
    };



    const kleineb = 26;
    new KleinBuch[kleineb][256] =
    {
    {"a"},
    {"b"},
    {"c"},
    {"d"},
    {"e"},
    {"f"},
    {"g"},
    {"h"},
    {"i"},
    {"j"},
    {"k"},
    {"l"},
    {"m"},
    {"n"},
    {"o"},
    {"p"},
    {"q"},
    {"r"},
    {"s"},
    {"t"},
    {"u"},
    {"v"},
    {"w"},
    {"x"},
    {"y"},
    {"z"}
    };



    new vorbcheck = 0;
    for(new i = 0;i<grosseb;i++)
    {
    if(strfind(inputtext,GrossBuch[i],false) == 0)
    {
    vorbcheck++;
    }
    }
    for(new i = 0;i<kleineb;i++)
    {
    if(strfind(inputtext,KleinBuch[i],false) == 1)
    {
    vorbcheck++;
    }
    if(strfind(inputtext,KleinBuch[i],false) == 2)
    {
    vorbcheck++;
    }
    if(strfind(inputtext,KleinBuch[i],false) == 3)
    {
    vorbcheck++;
    }
    if(strfind(inputtext,KleinBuch[i],false) == 4)
    {
    vorbcheck++;
    }
    if(strfind(inputtext,KleinBuch[i],false) == 5)
    {
    vorbcheck++;
    }
    if(strfind(inputtext,KleinBuch[i],false) == 6)
    {
    vorbcheck++;
    }
    if(strfind(inputtext,KleinBuch[i],false) == 7)
    {
    vorbcheck++;
    }
    if(strfind(inputtext,KleinBuch[i],false) == 8)
    {
    vorbcheck++;
    }
    if(strfind(inputtext,KleinBuch[i],false) == 9)
    {
    vorbcheck++;
    }
    }
    if(strlen(inputtext) != vorbcheck)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "Dein Vorname darf nur Buchstaben enthalten, der erste Buchstabe muss groß geschrieben sein, der Rest klein!");
    return 1;
    }



    Danke, hat sich inzwischen erledigt !

    Irgendwas geiles...


    The German Life of Street ^^ oder so haha.... die Projektnamen in der Server Werbung bringen mich so oft zum lachen...
    Tjo, am besten im Team ma Brainstorming... is auch immer besser als wenn dann hinterher immer im Raum steht das der Projektname nichtma ne Eigenerfindung war

    Du musse nix tun...


    Einfach 0.3c Server saugen -> dann aus deinem 0.3a etc. Server Pack da ausem Pawno deine eigenen Zusatz-Includes rauskopieren in dein Pawno von 0.3c, dann dein altes Script (pwn) mit dem neuen Pawno ausem 0.3c Ordner öffnen und complien -> Tada "Du haben fertig" ^^

    Hallo,


    Ich war vor kurzem auf einem Server auf dem man von den 9mm Pistolen nur eine in der Hand hatte, mich würde interessierenwie das umgesetzt wird/wurde ? Weis das jemand ? Denn momentan habe ich die Pistole eben komplett rausgenommen aufgrund der "Überbevorteilung" wegen Duals.


    Danke im Voraus.

    Danke für den Tipp, das hab ich schon getestest und von ca 100 auf 300 erhöht, jedoch handelt es sich dabei nur um den Inhalt der in einer Zeile/einem String dargestellt wird.


    Ich muss diesen einen string wie gesagt aufteilen auf zwei string vorausgesetzt eine bstimmte Zeichenanzahl wird überschritten (120 Zeichen zb.), ich weis nur leider nicht wie ich es angehen soll

    Ich würde gerne die Möglichkeit bieten das man eine längere Werbung schalten kann, dazu müsste man die Werbung bei Bedarf über zwei Zeilen "brechen", dH. wenn der "string" mit Werbetext+PlayerName+TelNo. länger als ka 150 Zeichen ist, ab 150 Zeichen den restlichen Inhalt von string Nr. 1 in einen string Nr. 2 stopfen, könnte mir da jemand bei der Umsetzung helfen ? Danke im Voraus.




    if(strcmp(cmd, "/advertise", true) == 0 || strcmp(cmd, "/ad", true) == 0 || strcmp(cmd, "/werbung", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist noch nicht eingeloggt !");
    return 1;
    }
    if(PlayerInfo[playerid][pLevel] < 2)
    {
    SendClientMessage(playerid, COLOR_GREY, " Werbung erst ab Level 2 möglich");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[300];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "ANWENDUNG: /werbung [Werbetext]");
    return 1;
    }
    if ((!adds) && (PlayerInfo[playerid][pAdmin] < 1))
    {
    format(string, sizeof(string), "Versuche es später noch einmal, das Werbelimit liegt bei einer Werbung pro %d Sekunden!", (addtimer/750));
    SendClientMessage(playerid, COLOR_GRAD2, string);
    return 1;


    }
    new payout = idx * 25;
    if(GetPlayerMoney(playerid) < payout)
    {
    format(string, sizeof(string), "* %d Buchstaben verbraucht, du hast keine $%d um das zu bezahlen", offset, payout);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
    }
    GivePlayerMoney(playerid, - payout);
    SBizzInfo[7][sbTill] += payout;
    format(string, sizeof(string), "WERBUNG: %s. VON: %s Tel: %d", result, sendername,PlayerInfo[playerid][pPnumber]);
    OOCNews(TEAM_GROVE_COLOR,string);
    format(string, sizeof(string), "~r~Rechnung: $%d~n~~w~Deine Nachricht umfasste %d Buchstaben", payout, idx);
    GameTextForPlayer(playerid, string, 5000, 5);
    if (PlayerInfo[playerid][pAdmin] < 1){SetTimer("AddsOn", addtimer, 0);adds = 0;}
    }
    return 1;
    }

    Jo, technisch möglich... müsstest du ein Abfrage machen die abfrägt das wenn du im richtigen LKW sitzt und wenn der 5000 oder mehr Raketen geladen hat, das du zB. jede Sekunde den Fahrzeughealthwert abfägst und wenn der von 1000 (Neuwagen) auf zB. kleiner gleich 950 sinkt/gesunken ist (= Du bist wo dagegen gefahren) das du dann die Carhealthwert auf unter 250 setzt damit der LKW brennt und hochgeht, etl. noch ne Explosionanimation erstellen und das Explosionsgeräusch abspielen...

    dcmd_raketenabladen(playerid,params[])
    {
    if(!PlayerToPoint(10.0,playerid,-1538.9214,358.2908,7.1875))
    {
    SendClientMessage(playerid,rot,"Du bist nicht an der Militär-Basis!");
    return 1;
    }
    new Float:a;
    new audoid = GetPlayerVehicleID(playerid)
    GetVehicleZAngle(audoid, a);
    if(audoid != 433)
    {
    SendClientMessage(playerid,rot,"Du sitzt im falschen Fahrzeug ?");
    return 1;
    }
    new name[MAX_PLAYER_NAME], s[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"acc/%s.ini",name);
    new jobid = dini_Int(s, "job");
    new admin = dini_Int(s, "admin");
    if(jobid == 15 || admin == 2)
    {
    SendClientMessage(playerid,rot,"Du hast den falschen Job oder bist kein Admin ?");
    return 1;
    }
    if(Raketen[audoid] == 0)
    {
    SendClientMessage(playerid,rot,"Du hast gar keine Raketen geladen ?");
    return 1;
    }
    if(a >= 350 || a <=10)
    {
    DisablePlayerCheckpoint(playerid);
    Raketen[audoid] = 0;
    GivePlayerEuro(playerid, 5000);
    SendClientMessage(playerid,dgreen,"|Militär Wachmann: Guten Tag Sir");
    SendClientMessage(playerid,dgreen,"|Militär Wachmann: Sind das die bestellten Raketen?");
    SendClientMessage(playerid,dgreen,"|Militär Wachmann: Danke das Sie sie geliefert haben!");
    SendClientMessage(playerid,dgreen,"|Militär Wachmann: Raketen erfolgreich abgeladen!!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,rot,"Du stehst in einem falschen Winkel zur Laderampe ?");
    return 1;
    }
    }


    ungetestet


    Nachtrag: Fehler ausgebessert
    Nachtrag: nochmal Fehler ausgebessert

    So in etwa, 20Grad Spielraum weil man nie 100% grade parken kann... musste die gradzahl noch selber anpassen 80-100 je nachdem wie rum der Laster stehen muss



    NACHTRAG: hab Winkel angepasst an deine Vorgaben



    new Float:a;
    new audid = GetPlayerVehicleID(playerid)
    GetVehicleZAngle(audid, a);
    if(a >= 350 || a <=10)
    {
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du stehst in einem falschen Winkel zur Laderampe ?");
    return 1;
    }

    evtl. noch erweitern und ne Abfrage rein ob der Spieler noch 3 Euro hat, damit er nich ins Minus geht, bzw. keine kaufen kann wenn er nich genug Geld hat

    if(IsPlayerInRangeOfPoint(playerid,3.0,378.7523,-186.6056,1000.6328))
    {
    SendClientMessage(playerid,0x663399FF,"Viel Spaß mit deinen Pancakes!");
    new Float:hchecka;
    GetPlayerHealth(playerid,hchecka);
    if (hchecka > 85)SetPlayerHealth(playerid,100);
    else if (hchecka < 85)SetPlayerHealth(playerid,hchecka+15);
    GivePlayerMoney(playerid,-3);
    }