Beiträge von Darklight

    Guten Morgen,


    momentan habe ich ein kleines Problem mit der Abfrage, ob der Motor eines Fahrzeuges an- oder ausgeschaltet ist.
    Sobald ich eine bestimmte Taste drücke sollte dies überprüft werden und dementsprechend gehandelt werden.
    Allerdings wird dies nicht so gehandelt wie ich es mir gedacht habe.
    Hier erstmal die Codes:


    Allgmeine Parameter-Abfrage aller Fahrzeuge, diese wird bei GameModeInit ausgeführt.
    public LoadVehicleParams()
    {
    for(new i=0;i<MAX_VEHICLES;i++)
    {
    GetVehicleParamsEx(i,engine[i],lights[i],alarm[i],doors[i],bonnet[i],boot[i],objective[i]);
    }
    print(" -> Parameter erfolgreich geladen");
    return 1;
    }
    Hier wird die bestimmte Taste abgefragt und demnach gehandelt.
    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    switch(newkeys)
    {
    case KEY_ANALOG_DOWN:
    {
    if(!IsPlayerInAnyVehicle(playerid)) return 1;
    new vehicleid=GetPlayerVehicleID(playerid);
    if(engine[vehicleid] == 0)
    {
    engine[vehicleid]=1;
    SendClientMessage(playerid,GRUEN," Motor wurde gestartet.");
    }
    else if(engine[vehicleid] == 1)
    {
    engine[vehicleid]=0;
    SendClientMessage(playerid,ROT," Motor wurde ausgeschaltet.");
    }
    SetVehicleParamsEx(vehicleid,engine[vehicleid],lights[vehicleid],alarm[vehicleid],doors[vehicleid],bonnet[vehicleid],boot[vehicleid],objective[vehicleid]);
    }
    }
    }


    Ich schätze mal das es an der if-Abfrage scheitert, verstehe aber nicht wieso.
    Danke schon mal im Voraus.

    Guten Abend,


    wie aus meiner Überschrift zu lesen ist, habe ich ein kleines Problem mit dem Laden von Floats über MySQL.
    Ich habe das Tutorial von Maddin ([ SCRIPTING ] MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel)) verwendet.


    Jedesmal wenn ich versuche ein Float zu laden, wie z.B. diesen hier:
    SetPVarFloat(playerid,"Health",mysql_GetFloat("accounts","Health","Name",Name));


    Kommt eben dieser Warning:

    Code
    C:\Users\######\Desktop\TP-SA\gamemodes\###.pwn(1648) : warning 213: tag mismatch
    1 Warning.


    Das nervt ein wenig. Wo liegt das Problem ?
    Danke schon mal im Voraus.


    //edit: Hier ist noch der Stock zum Laden von Floats:
    stock mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return sqlfloat;
    }

    Hey,


    ich habe momentan ein ziemlich mieses Problem.
    CMD:einnehmen(playerid,params[])
    {
    #pragma unused params
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i,"Einnehmer") == 1)
    {
    return SendClientMessage(playerid,GRAU," Es gibt schon eine Person welche diese Einnahme leitet.");
    }
    }
    if(GetPVarInt(playerid,"Fraktion") <= 2) return SendClientMessage(playerid,GRAU," Für diesen Befehl musst du einer Gang angehören.");
    SetPVarInt(playerid,"Einnehmer",1);
    ETimer=SetTimer("Einnahme",1000,1);
    print("Timer gestartet");
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if((GetPVarInt(i,"MitEinnehmer") == 1) || (GetPVarInt(i,"Fraktion") == 1) || (GetPVarInt(i,"Einnehmer") == 1))
    {
    SendClientMessage(i,0xFF0055FF,"Die Einnahme wurde gestartet");
    }
    }
    return 1;
    }
    public Einnahme()
    {
    print("Public 'Einnahme' gestartet");
    new string[256];
    ECount++;
    print("Ecount gezählt");
    format(string,sizeof(string)," Die Einnahme läuft nun seit %d Minute(n)",ECount);
    print("String formatiert");
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    print("For-Schleife gestartet");
    if(GetPVarInt(i,"Einnehmer") == 1 || GetPVarInt(i,"MitEinnehmer") == 1)
    {
    print("If-Schleife gestartet");
    SendClientMessage(i,0xFF0055FF,string);
    print("String gesendet");
    SendClientMessage(i,0xFF0055FF,"Alle verbliebenen (Mit)Einnehmer bekommen einen Geldzuschuss.");
    print("Message gesendet");
    GivePlayerMoney(i,5000);
    print("Geld gegeben");
    }
    }
    return 1;
    }


    Die Nachricht das die Einnahme gestartet ist wird auch an alle gesendet, von daher gehe ich aus der Timer wurde gestartet.
    Das Print "Public 'Einnahme' gestartet" wird nicht ausgeführt.


    Hoffe ihr könnt mir helfen.

    Eigentlich bin ich nicht schlecht im scripten, aber momentan finde ich einfach den Fehler nicht -.-
    CMD:freeze(playerid,params[])
    {
    new pID,amsg[256],pmsg[256],pName[MAX_PLAYER_NAME],aName[MAX_PLAYER_NAME];
    if(GetPVarInt(playerid,"Adminlevel") << 3) return SendClientMessage(playerid,GRAU," Für diesen Befehl benötigst du das Adminlevel 3.");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,GRAU," Benutze: /freeze [Name|ID]");
    TogglePlayerControllable(pID,0);
    GetPlayerName(playerid,aName,sizeof(aName));
    GetPlayerName(pID,pName,sizeof(pName));
    format(amsg,sizeof(amsg),"[/freeze] Admin %s freezte Spieler %s.",aName,pName);
    format(pmsg,sizeof(pmsg),"Admin %s hat dich gefreezt",aName);
    SendAdminMessage(AGELB,amsg);
    SendClientMessage(pID,ORANGE,pmsg);
    return 1;
    }


    Das Problem:
    Es wird oben abgefragt ob mein Adminlevel kleiner als 3 ist.
    Mein Adminlevel auf dem Server ist 5.
    Trotzdem wird mir die Nachricht angezeigt, das ich das Adminlevel 3 brauche.

    Ein iPod ist ganz einfach ein MP3-Player.
    Dieser Besitzt ein Touchscreen und eigentlich sonst alles was auch ein iPhone hat, bis auf die Telefonie sowie SMS Möglichkeiten. Er besitzt ebenso kein GPS oder Kompass.
    Der einzigste Vorteil eines iPods ist, das er 64GB Speicher haben kann.


    Das iPhone ist ganz einfach ein iPod, welche die oben genannten Möglichkeiten besitzt.
    Das heißt er ist ein iPod mit Telefon und SMS Funktion, GPS, Kompass.


    Kaufen kannst du diese in vielen Elektronikmärkten.
    Schau einfach mal in einen Blödiamarkt oder Mars in deiner Nähe vorbei :D