Beiträge von Scripter-oNE

    Wen es so leicht ist, könntest du dann einen evtl leicht zu bearbeitenden Rohling machen?


    Und diesen evtl. releasen?
    Wäre der Hammer!
    i-wie so dass man einfach das Design ändert bzw, sich halt selber einen machen muss, und halt das man die Links leicht ändern kann.



    8| sorry kenne mich mit VB nun garnicht aus... hoffe man versteht wie ich das meine!

    Ehmm.... Der Samp mapeditor ist der Hammer... und die Object awahl ist so Easy und Geil!


    Wenigstens kann man die Objecte da auch in der Ansicht drehen und genau anschauen!....
    Allso ich wiß nicht was ihr habt.. ? 8|

    Jop es get um KEY_SUBMISSION ^^
    Nunja, es geht immernoch an aber nicht wieder aus...
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if ( newkeys == (132) ) {
    if(GetPlayerVehicleSeat(playerid) == 0) {
    new car = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510) {
    SendClientMessage(playerid, error, "Ein Fahrrad hat kein Motor.");
    }
    else if (Motor[car] == false) {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    if ( Tank[car] >= 1 ) { Motor[car] = true; SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); }
    else { Motor[car] = false; SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~~n~~n~Der Tank ist leer!",3000,3); }
    }
    else {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = false;
    }
    }
    }

    if ( newkeys == (512) )
    {
    new bool:licht[MAX_VEHICLES]; // Diese Variable global definieren, anstatt lokal.
    //new engine,lights,alarm,doors,bonnet,boot,objective;
    if(IsPlayerInAnyVehicle(playerid)) {
    new vid = GetPlayerVehicleID(playerid);
    if(!licht[vid]) {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    licht[vid] = true;
    }
    else if(licht[vid]) {


    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    licht[vid] = false;
    }
    }
    }
    return 1;
    }

    Hey leuts....


    Ich glaube men hirn läuft heute auf Standby..
    an den einfachsten sachen scheiter ich heute 8|
    Ich muss es aber unbedingt fertig stellen,
    könnt ihr mir helfen? :D


    Allso es geht um folgendes


    Habe ein motorsystem und licht system...
    Der Motor Funktioniert... einwandfrei mit der rechten STRG taste
    Aber das licht... mhh es geht an! aber nicht wieder aus 8|


    Hier mein Komplettes
    OnPlayerKeyStateChange Callback


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if ( newkeys == (132) ) {
    if(GetPlayerVehicleSeat(playerid) == 0) {
    new car = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(car) == 509 || GetVehicleModel(car) == 481 || GetVehicleModel(car) == 510) {
    SendClientMessage(playerid, error, "Ein Fahrrad hat kein Motor.");
    }
    else if (Motor[car] == false) {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    if ( Tank[car] >= 1 ) { Motor[car] = true; SetVehicleParamsEx(car,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); }
    else { Motor[car] = false; SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); GameTextForPlayer(playerid,"~w~~n~~n~~n~~n~~n~~n~~n~~n~Der Tank ist leer!",3000,3); }
    }
    else {
    GetVehicleParamsEx(car,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[car] = false;
    }
    }
    }

    if ( newkeys == (512) ) {
    new status;
    new bool:licht[MAX_VEHICLES];
    //new engine,lights,alarm,doors,bonnet,boot,objective;
    if(IsPlayerInAnyVehicle(playerid))
    {
    new vid = GetPlayerVehicleID(playerid);
    if(status == 0)
    {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_ON,alarm,doors,bonnet,boot,objective);
    licht[vid] = true;
    status = 1;
    }
    else if(status == 1)

    {
    GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vid,engine,VEHICLE_PARAMS_OFF,alarm,doors,bonnet,boot,objective);
    licht[vid] = false;
    status = 0;
    }
    }
    return 1;
    }


    return 1;
    }


    Wie gesagt alles geht... nur das Licht geht nicht wieder aus!
    Ich denke mal dass da nur n dummer denkfeheler drinne ist



    MFG

    Da hast du warscheinlich recht, aber mir geht es halt auch sehr um die Funktion das ich die objecte ingame reloaden kann ohne den Server neustarten zu müssen.


    So hatte ich mir halt nen /oreload befehl gemacht der der Streamer FS reloadet und somit die neuen maps da sind!

    Hey Breadfish,


    Ich habe da ein Problemchen.


    Ich bin dabei eine neue Insel bzw. Stadt zu mappen.
    Anfangs ging das auch ganz gut... nur jetzt bin ich so an meine 850 Objecte die mehr oder weniger gleichzeitig laden müssen wen ich mich in der nähe befinde...
    nun kommt es sehr offt vor, das diese sehr langsam laden und man durch die Map fällt.


    Ich Nutze den Streamer von BlackFox_UD. Ich möchte diesen auch nicht mehr missen, da dieser über ein Filterscript arbeitet und ich so einfach ingame das Filterscipt neu laden muss um die Objecte zu aktualisieren. Somit muss man nicht immer den gesamten Server neu starten!


    so, nun meine Frage. wie bekomme ich es hin das der Streamer die Objecte Schneller läd und halt auch mehr in einem Umkreis!
    Das Limit ist noch nicht erreicht, deswegen frage ich mich was man evtl machen könnte.



    MFG

    xD Was eine Geistreiche Antwort!
    Er will wissen warum das so ist!


    versuche das mal bitte, wobei ich nicht glaube das es an dem befehl selber liegt!
    Funktionieren alle anderen den?


    if (strcmp("/serverinfo", cmdtext, true) == 0)
    {
    SendClientMessage(playerid,blau,"~~~ Informationen zum Server ~~~");
    SendClientMessage(playerid,gelb,"Serverowner : TimPhillip");
    SendClientMessage(playerid,gelb,"Script Info : 100 pro. Selfmade");
    return 1;
    }

    Füge das ganz unten ind ein Script ein, dann brauchste ken include mehr!


    stock sscanf(sstring[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(sstring))
    #else
    if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    sstringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
    {
    sstringPos++;
    }
    while (paramPos < paramCount && sstring[sstringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = sstring[sstringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = sstring[++sstringPos];
    }
    do
    {
    sstringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = sstring[sstringPos];
    do
    {
    sstringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, sstring[sstringPos++]);
    }
    case 'f':
    {


    new changestr[16], changepos = 0, strpos = sstringPos;
    while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
    {
    changestr[changepos++] = sstring[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    sstringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = sstringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = sstring[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    sstring[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - sstringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, sstring[sstringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    sstring[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    sstringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = sstring[sstringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = sstring[sstringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    sstringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
    {
    sstringPos++;
    }
    while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
    {
    sstringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }

    xD habs jetzt so inetwas versucht, ist aber genau so ein Epic Fail wie mein Erster versucht...


    public BotFreeze(playerid,GetPlayerID)
    {
    new CityDriver2ID = GetPlayerID("CityDriver2");
    new Float:x,Float:y,Float:z;
    GetPlayerPos(CityDriver2ID,x,y,z);
    {
    if(IsPlayerInRangeOfPoint(playerid,5.0,x,y,z))
    {
    TogglePlayerControllable(playerid,0);
    }
    }

    return 1;
    }


    Kannst du mir Zeigen wie man die Position einen NPC´s richtig gettet und hinterher dann auch bei IsPlayerInRangeOfPoint richtig verwendet?
    //edit: Es müssten aber mit mehreren Bots Funzen...