Beiträge von [C]Jack

    Kommt drauf an, wie rum du es benutzt.


    Wenn du erst den Player, dann erst MAX_PLAYERS
    Wenn du erst das Auto, dann die Definition davon


    Das ist mir schon klar, aber das hat ja nichts mit meinem Array zu tun.
    Da geht es schließlich um einen String.
    MAX_PLAYER_NAME ersetzt ja nun mal nur die Zahl "24". Die Array ist also ein String..

    ntferne mal das break, denn das unterbricht die Schleife.


    Dann würde er ja wenn noch kein Fahrzeug gespawned ist 200 spawnen bzw. auf jede Variable der Arry "SpawnCar" die auf 0 steht
    ein Fahrzeug spawnen.


    Die Schleife ist dazu da, dass er auf eine noch Freie Variable des Arry "spawncar"s das Fahrzeug erstellt.
    Also daran kann es definitiv nicht legen.

    Hey,


    in meinem Befehl zum Spawnen von Fahrzeugen gibt es folgenden Fehler:
    Wenn ich mehr als 24 Autos Spawne, sprich das 25te Auto was ich mit dem
    Befehl spawne wird alles unter SetVehicleWorld.. nicht mehr ausgeführt.
    Sprich die Variable "SpawnedCars" wird nicht hochgesetzt, es kommt keine
    Message für den Spieler und es wird auch nicht returned sondern nur "Unknow Command" angezeigt.


    Hoffe mir kann jemand helfen. Hier der Code:




    #define MAX_SPAWNCARS 100
    // Die Variablen:
    new SpawnedCars;
    new SpawnCar[MAX_SPAWNCARS];
    new SpawnCarSpawner[MAX_PLAYER_NAME][MAX_SPAWNCARS];


    ...
    for(new veh = 0; veh < MAX_SPAWNCARS; veh++)
    {
    if(SpawnCar[veh] == 0)
    {
    SetPlayerPos(playerid,X,Y,Z+3);
    FreezePlayer(playerid,500);


    SpawnCar[veh] = CreateVehicle(model,X,Y,Z-0.2,ZA,color1,color2,-1);
    LinkVehicleToInterior(SpawnCar[veh],GetPlayerInterior(playerid));
    SetVehicleVirtualWorld(SpawnCar[veh],GetPlayerVirtualWorld(playerid));

    new name[MAX_PLAYER_NAME];
    format(name,sizeof(name),pInfo[playerid][pAccName]);
    SpawnCarSpawner[veh]=name;

    SpawnedCars++;


    format(string,sizeof(string),"* Fahrzeug %d wurde erstellt.",SpawnCar[veh]);
    SendClientMessage(playerid,COLOR_GRAD2,string);
    break;
    }
    }

    Die Länge von Gametext ID 1 buggt immer etwas bzw. kannst du nicht auf 3 Sekunden setzen. Weniger als 8 geht nicht. Wenn du den Gametext kürzer anzeigen möchtest musst du einen anderen Gametext nutzen.


    Stimmt, danke dir! Habe total vergessen, dass man des mit format machen muss.


    Viele Grüße
    [C]Jack

    Natürlich sind das Player Variablen.
    Was meinst du, wofür das P in SetPVar.. zb. steht
    bzw. warum man eine PlayerID angeben muss?


    Sind Spielerspezifische Variablen. Siehe dazu: http://wiki.sa-mp.com/wiki/SetPVarString eine Lösung wäre das GVar Plugin von Incognito: GVar Plugin 1.3


    Ähnelt den PVar's wird jedoch nicht auf einem Spieler bezogen und werden erst gelöscht wenn DeleteGVar genutzt worden ist.

    Danke dir, das werde ich mal versuchen!

    Hey,


    habe grad ein Problem: Und zwar fällt mir nicht ein, wie am Besten
    einen String von meinem Mainscript in den Filterscript transportieren kann.


    Ich habe eine Funktion, mit der ich Strings aus einer MysQL Datenbank lesen kann
    und diese möchte ich auch gern im Filterscript nutzen.


    So funktioniert es im Mainscript:
    forward mysql_getStrFS(Field[], Where[], Is, var[], len);
    public mysql_getStrFS(Field[], Where[], Is, var[], len)
    {
    new query[128], Get[128];
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    format(query, 128, "SELECT `%s` FROM `tabelle1` WHERE `%s` = '%d'", Field, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return format(var, len, Get, 0);
    }


    Doch wenn ich das jetzt im Filterscript aufrufe crasht der komplette Server.
    new string[128];
    CallRemoteFunction("mysql_getStrFS", "ssisi","Name","id",id, string,128);


    Hoffe mir kann da jemand helfen.


    Viele Grüße
    [C]Jack

    Hey,
    suche jetzt schon seit einiger Zeit nach einer Animation,
    bisher bin ich allerdings noch nicht fündig geworden.


    Und zwar suche ich die Animation, bei der der Spieler sich auf die Knie stützt und 'durchschnauft'.
    Wird von vielen Servern zB. auch als Animation genutzt um C-Bug zu verhindern.


    Viele Grüße
    [C]Jack

    Es ist möglich, es so im Gamemode zu verwenden, ich würde es
    allerdings trotzdem gern 'enthooken', da es so erstens übersichtlicher ist
    und zweitens sicher auch ein wenig Ressourcensparender ist.

    Hallo,


    sicher kennt jeder das OCMD-Include von kleinerOpa.


    Dies nutze ich auch, doch möchte es nun in meinen Gamemode einfügen, sodass ich das
    Include nicht mehr benötige und einfacher Änderungen vornehmen kann.


    Doch nun bin ich mir nicht sicher, wie ich dieses gehookte Callback richtig auflöse.


    Hier noch mal der Code:

    Spoiler anzeigen

    /*-- --- . . --
    | | | |\ /| | \
    | | | | V | | |
    | | | | | | /
    --- --- | | --
    I.O.O by kleinerOpa*/
    #include <a_samp>
    forward ocmdOnPlayerCommandText(playerid,cmdtext[]);
    #define ocmd:%1(%2) forward ocmd_%1(%2);\
    public ocmd_%1(%2)
    public OnPlayerCommandText(playerid,cmdtext[])
    {
    cmdtext[0]='_';
    new ocmdStr[128],ocmdParams[128],bool:ocmdAffe,ocmdFu;
    for(new i;i<128;i++)
    {
    if(cmdtext[i]=='\0')break;
    if((cmdtext[i]==' ')&&(!ocmdAffe))
    {
    ocmdAffe=true;
    continue;
    }
    if(!ocmdAffe)ocmdStr[i]=cmdtext[i];
    else
    {
    ocmdParams[ocmdFu]=cmdtext[i];
    ocmdFu++;
    }
    }
    format(ocmdStr,128,"ocmd%s",ocmdStr);
    if(!strlen(ocmdParams))format(ocmdParams,128," ");
    if(CallLocalFunction(ocmdStr,"ds",playerid,ocmdParams))return 1;
    cmdtext[0]='/';
    return CallLocalFunction("ocmdOnPlayerCommandText","ds",playerid,cmdtext);
    }
    #define OnPlayerCommandText ocmdOnPlayerCommandText