Beiträge von IPrototypeI


    if(strcmp(cmd, "/eva", true) == 0)
    {
    if(SpielerInfo[playerid][sMember] == 1 || SpielerInfo[playerid][sLeader] == 1 || SpielerInfo[playerid][sMember] == 2 || SpielerInfo[playerid][sLeader] == 2 || SpielerInfo[playerid][sMember] == 3 || SpielerInfo[playerid][sLeader] == 3 || SpielerInfo[playerid][sMember] == 7 || SpielerInfo[playerid][sLeader] == 7)
    {
    if(IsPlayerInRangeOfPoint(playerid,10, 1226.4733,-809.5693,1084.0078))
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,385.3541,2435.7546,16.5000);
    SendClientMessage(playerid, COLOR_YELLOW, "Evakuierung aus dem Weißen Haus erfolgreich, Die Airforce One steht bereit!");
    }
    else if(IsPlayerInRangeOfPoint(playerid,10, 347.7137,162.0104,1025.7891))
    {
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,1483.9882,-1721.2739,7.3273);
    SendClientMessage(playerid, COLOR_YELLOW, "Evakuierung aus der Stadthalle erfolgreich");
    }
    else return SendClientMessage(playerid, COLOR_GRAD1, "Du kannst dich nicht evakuieren lassen");
    }
    else return return SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht befugt dazu!");
    return 1;
    }


    Das liegt daran das deine zweite Abfrage nicht in der ersten if abfrage drinnen sein darf

    ok du kannst das ganze kombinieren ich mach es immer noch gerne mit einer zusätzlichen klammer ist jedoch nicht nötig es ist += ist eine kombination aus zwei operator aber das hat kein
    einfluss auf den rückgabe wert des Ternären operators.


    currentHpLoss[0][issuerid][playerid] += ((amount > hp) ? hp : amount);
    currentHpLoss[1][playerid][issuerid] += ((amount > hp) ? hp : amount);


    du kannst auch ganz einfach die zusätzlichen Klammern auch weg lassen wie schon oben geschrieben


    currentHpLoss[0][issuerid][playerid] += (amount > hp) ? hp : amount;
    currentHpLoss[1][playerid][issuerid] += (amount > hp) ? hp : amount;

    Dan setzt es doch nicht gleich im oberen beispiel sondern addier es dazu.


    Du benutzen hier den Ternären Operator was möchtest du genau damit erreichen.
    die damage hinzuaddieren das ist klar aber was willst du mit dem leben machen welches du versuchst hier "auszulesen " auch hinzuaddieren wenn der betrag größer ist als das leben

    Dan brauchst du eine weitere abfrage ich hab dir hier mal ein beispiel gemacht


    if(strcmp(cmd, "/eva", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerInRangeOfPoint(playerid,10, 1226.4733,-809.5693,1084.0078))
    {

    // code
    }
    else if(IsPlayerInRangeOfPoint(playerid,10, Jeweilige Positionen eintragen))
    {
    // code
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst dich nicht evakuieren lassen");
    }
    }
    return 1;
    }


    //edit die einrückung ist einfach nur fail

    Du hast einfach so case benutzt ohne switch.
    daher kommt diese fehler


    Beispiel:
    case 1:{ }
    case 2:{ }
    case 3:{ }
    verursacht den error



    switch(id){
    case 1:{ }
    case 2:{ }
    case 3:{ }
    }


    so würde es kein Fehler geben


    Bitte fass dir mal an die Nase und überdenke deinen code


    for(new c = 0; c < MAX_VEHICLES; c++)
    {
    AttachTrailerToVehicle(strval(var), GetPlayerVehicleID(playerid));
    }
    Zu dem kannst du noch ein return 1; setzen es sei den es sollte beabsichtigt sein wenn der spieler nicht die bedingungen erfüllt das UNKNOWN COMMAND kommt

    Sind deine Tabellen einstellungen dies bezüglich der Koordinaten richtig .
    Zu dem ist blitzerid kein string.
    für den specifier s bitte noch die string länge angeben benutzt du das sscanf plugin überhaupt.


    dein sscanf code ist richtig du kannst das auch vereinfachen
    sscanf(data, "p<|>e<iffffiiis[24]iii{i}>",BlitzerInfo[blitzer_count]);


    sonst fällt mir nix auf



    enum Blitzerdata
    {
    Blitzerid,
    Float:Blitzerx,
    Float:Blitzery,
    Float:Blitzerz,
    Float:BlitzerRotz,
    Geschwindigkeit,
    Strafe,
    Punkte,
    LastBlitz[24],
    Filmabschnitte,
    Toleranz,
    Inuse,
    Objectid,
    }

    Hier bitte sollte so perfekt gehen IsValidVehicle bitte oben einfügen oder in die a_samp include


    native IsValidVehicle(vehicleid);
    if(!strcmp("/anhan",cmdtext,true))
    {
    if(PlayerInfo[playerid][pAdmin] < 3)return SendClientMessage(playerid,0xFFFF0000,"Du bist nicht befugt dazu!");
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,0xFFFF0000,"Du bist in keinem Fahrzeug!");
    new Float:Pos[3],i,veh= GetPlayerVehicleID(playerid);
    for(; i<MAX_VEHICLES; ++i)
    {
    if(!IsValidVehicle(i))continue;
    GetVehiclePos(i,Pos[0],Pos[1],Pos[2]);
    if(IsPlayerInRangeOfPoint(playerid,8.8,Pos[0],Pos[1],Pos[2]))AttachTrailerToVehicle(i,veh);
    }
    return 1;
    }


    also in der Mysqllog Steht alles Richtig nur ich der Split ist fehlergahft?


    Dann bitte poste doch das query wo die daten ausgelesen werden eins davon oder solltest du dies nicht hinbekommen kannst auch die ganze log posten und ein enum.
    wenn nix ausgegeben wird haben die leute meist einen fehler in der abfolge der Specifier

    Dafür benötigst du eine schleife hab das auf der ersten Seite schon gepostet


    cache_get_data(rows, fields);
    new i;
    for(;i < rows;++i){
    cache_get_row(i, 0, ....);
    cache_get_row(i, 1, ....);
    }


    cache_get_row


    kannst du durch die neuen funktionen ersetzen du musst für den ersten parameter das i setzen dies ist für die einträge
    die werten mit dem query aus der datenbank herraus gefiltert


    //edit vergess nicht ein return 1; am ende zu setzen das signalisiert dem plugin cache leeren.

    If you use "char arrays" instead of normal ones where needed 50 times you'll save 75,000 bytes (~73 kb).
    Ich nutze Char Arrays mindestens 50 mal also sollte der normalerweise ~73kb kleiner sein oder nicht?
    Siehe deine Quelle...


    Versteh ich nicht ganz -_-


    Ja grundsätzlich schon hab nochmal nach geschaut das es grundsätzlich den memory verbrauch sinkt ist klar da keine 4 Bytes verwenden pro Zelle sondern 1 Byte.
    Es ist nur interessant wenn du mal ein leeres skript erstellst und das mal testest wenn das array innerhalb einer funktion deklariert wurde und außerhalb das sich da
    die größe ändert.


    //edit
    Dies liegt an dem unterschied zwischen globalem und stack Speicher.
    Das ist das was man hier sehen kann.
    mehr kannst du hier erfahren und dir den ganzen post durchlesen
    http://forum.sa-mp.com/showthread.php?t=101322&page=3

    Char-Arrays verbrauchen weniger Ram als normale dennoch können diese nur werte von 0 - 255 speichern der grund die geschweiften klammern zu benutzen liegt daran
    das der wert anders zugeordnet werden bei den eckigen Klammern. Da dadurch werte überschrieben werden.


    Falsch machst du so wie ich es sehen kann nix.


    Jedoch kann man die größe der .amx nicht auf die des verbrauchs des server genau beziehen.


    http://forum.sa-mp.com/showthread.php?t=216730


    Es sollte sich dennoch auch in der .amx größe doch zeigen


    Jesus, unser Herr, hat mit allen Dingen etwas zu tun, mein Lieber.


    Ganz recht, heute vor vielen Jahren ist unser Herr, Jesus Christus, am Kreuz gestorben. Deshalb ist dies heute ein stiller Trauertag.


    Meine meinung zur Religion ist mehr als sinnlos da erstens Religion sowieso völliger humbug ist und die leute sich schon seit der renaissance sich davon los reisen. Man sollte nicht auf die Religion oder sonstigen scheiß sich darauf beziehen jedoch kann man auch wiederrum glauben was man will. Das sind idealen des Neuzeitmenschen im Jahre 2000. Man betrachte nur die Idioten im Muslimischenraum die sich dank der Religion immer noch in fremde Häuser oder menschen stürzen für ihre 20 Jungfrauen, wenn dabei paar leute krepieren. Man möge hier nur mal die anderen Religionen ansehen das Christentum wozu du dich bekehrst ist auch der größte Schwachsinn und besteht auch nur im katholischen Raum aus Prister die Kinder misshandeln( vergewaltigen) und dazu wenn man sich auch n och die Kreuzzüge ansieht. Wenn man alles genau betrachtet ist die Religion einer der Ursachen für das Weltelend seit grauer Vorzeit.
    Soviel dazu zu dem ergaunern diese ja auch noch euer Geld dank der Kirchensteuer.