Beiträge von robbi2304

    Das sieht mir nach dem Null-Punkt aus.
    Hast du deine AddPlayerClass in OnGameModeInit alle auf 0,0,0 angelegt?


    Falls ja, dann wird dieses Problem durch den Lag zwischen dir und dem Server (extern?) erzeugt, da die Kommandos von OnPlayerSpawn nicht sofort bei dir sind, sondern mit etwas Verzögerung, daher spawnst du zuerst dort, wo unter AddPlayerClass definiert ist. Das ist normalerweise auch so, nur fällt es nicht auf, wenn es schnell genug geht.

    Ich habe AddPlayerClass garnicht in OnGameModeInit

    Zwei Fragen habe ich derzeit noch,


    derzeit wird das Tanklabel nicht runtergezählt



    if(tanktimer == 1)
    {
    tanktimer = 0;
    //Tanks reduzieren
    for(new i=1; i<sizeof(cInfo); i++)
    {
    if(!hatAutoMotor(i))continue;
    if(!isMotorOn(i))continue;
    cInfo[i][tankinhalt]--;
    new id=GetCInfoIndex(GetPlayerVehicleID(playerid));
    if(id == -1) continue;
    if(cInfo[id][tankinhalt]>0)continue;
    stopMotor(i);
    }
    }


    hinzu, wie speichere ich am sinnvollsten den Tankstand wenn der Spieler das Fahrzeug verlässt ?


    for(new i=0; i<MAX_PLAYERS; i++)
    {
    new vID=GetPlayerVehicleID(playerid);
    format(string, sizeof(string), "Tanke: %i%%", cInfo[vID][tankinhalt]);
    PlayerTextDrawSetString(i,Textdraw12[playerid], string);
    }

    kann den tankinhalt nicht Richtig auslesen wodurch dauerhaft 0 Angegeben wird


    Wie folgt werden die Cars erstellt



    forward OnPlayerCarsLoad(playerid);
    public OnPlayerCarsLoad(playerid)
    {
    for(new i=0; i<cache_num_rows(); i++)
    {
    new id = getFreeCarID();
    cache_get_value_name_int(i, "id", cInfo[id][db_id] );//Integer
    cache_get_value_name_int(i, "model", cInfo[id][model]);//Integer
    cache_get_value_name_int(i, "besitzer", cInfo[id][besitzer]);//Integer
    cache_get_value_name_float(i, "x", cInfo[id][c_x]); //Float
    cache_get_value_name_float(i, "y", cInfo[id][c_y]);//Float
    cache_get_value_name_float(i, "z", cInfo[id][c_z]);//Float
    cache_get_value_name_float(i, "r", cInfo[id][c_r]);//Float
    cache_get_value_name_int(i, "c1", cInfo[id][color1]);//Integer
    cache_get_value_name_int(i, "c2", cInfo[id][color2]);//Integer
    cache_get_value_name_int(i, "c3", cInfo[id][color3]);//Integer
    cache_get_value_name_int(i, "key", cInfo[id][key]);//Integer
    cache_get_value_name_int(i, "c_gesperrt", cInfo[id][c_gespeert] );//Integer
    cache_get_value_name_int(i, "tank", cInfo[id][tankinhalt]);//Integer
    if(cInfo[id][c_gespeert] == 0)
    {
    cInfo[id][id_x] = CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],cInfo[id][color1],cInfo[id][color2],cInfo[id][color3],cInfo[id][tankinhalt]);
    }
    }
    return 1;
    }

    Handbremse


    Ist für die User sinnvoll damit man nicht das Auto verschieben kann


    Vlt ein Computersystem wo alle Fahrzeuge und Fahrzeughalter aufgelistet sind damit man direkt das Kennzeichen abfragen kann wie im echten Leben.
    /Halter [Kennzeichen]

    Hab ich vergessen. Ist mit Eingebaut und über die Carid abrufbar.


    Blitzer eventuell? :D


    Eine Art Blitzerfunktion ist eine gute idee



    Ein Befehl womit man zum Super-Saiyajin wird und durch die Gegend rumfliegen kann :)


    Oder vielleicht ein Befehl womit man dynamische Parkuhren erstellen kann.

    Schreib ich mit auf. Bin ich noch unschlüssig.
    Wie würdest du das ganze die Vorstellen wie es angezeigt wird ?





    Finde es aber toll von euch Ideen zu bekommen und diese dann umzusetzen.


    public OnPlayerRequestClass(playerid)
    {
    if(!PlayerInfo[playerid][pLoggedIn])
    {
    new query[128];
    mysql_format(handle, query, sizeof(query), "SELECT id FROM users WHERE name = '%e'", PlayerInfo[playerid][pName]);
    mysql_pquery(handle, query, "OnUserCheck", "d", playerid);
    }
    return 1;
    }

    OnPlayerRequestSpawn besitz ich nicht

    Ich habe derzeit das Problem wenn ich auf den Server Connecte und dann mein Passwort eingebe, das sobald ich auf Spawn klicke für 1 Sekunde durch die Luft fliege.


    Siehe Video:

    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    OnPlayerSpawn



    public OnPlayerSpawn(playerid)
    {
    if(PlayerInfo[playerid][pMember]==0)
    {
    SetPlayerPos(playerid,742.4116,-1339.6249,13.5291);
    SetPlayerInterior(playerid,0);
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerColor(playerid, 0xFFFFFFAA);
    }
    if(justDied[playerid] == true)
    {
    PlayerInfo[playerid][pMoney]-=600;
    GivePlayerMonez(playerid,-600);
    justDied[playerid] = false;
    }
    if(PlayerInfo[playerid][pTutorial]==1)
    {
    SetPlayerCheckpoint(playerid,1505.5254,-1560.0374,14.9087,5);
    SendClientMessage(playerid,COLOR_RED,"[TUTORIAL] Hallo und Herzlich Willkommen =)");
    SendClientMessage(playerid,COLOR_RED,"[TUTORIAL] Begebe dich zur Stadthalle. Diese wurde dir markiert");
    TUTCheckpoint[playerid]=1;
    }
    }

    Hallo liebe Brotfische, ich habe mal eine Frage an euch. Ich bin gerade dabei die Funktionen für das Ordnungsamt zu erstellen. Welche Befehle wären für euch Wichtig in der Fraktion. Derzeit schon fertiggestellte




    /punkte [id][anzahl]
    /abschleppen
    /tow
    /ticket
    /frisk
    /take [Waffenschein/Führerschein/Flugschein]
    /waffenabnehmen [id]


    fällt euch noch mehr dazu ein ?

    Sobald ich einen Spieler durchsuchen will stürzt mein PC sogut wie ab. Wo kann das Problem sein. Hatte das schonmal bin aber nicht weiter auf Hilfe eingegangen xD.




    ocmd:frisk(playerid,params[])
    {
    if(PlayerInfo[playerid][pLoggedIn]==false)return 1;
    new pID, str[128], weapons[13][2];
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    if(PlayerInfo[playerid][pMember]==1 || PlayerInfo[playerid][pMember]==2 || PlayerInfo[playerid][pMember]==3 || PlayerInfo[playerid][pMember]==4 || PlayerInfo[playerid][pMember]==5)
    {
    if(OnDuty[playerid] == 0) return SendClientMessage(playerid,COLOR_RED,"Du bist nicht OnDuty");
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_RED,"[Benutze]: /frisk [Name/ID]");
    if(!IsPlayerInRangeOfPoint(pID,5,x,y,z)) return SendClientMessage(playerid,COLOR_RED,"Der Spieler ist nicht in deiner Nähe.");
    format(str,sizeof(str),"* %s untersucht %s nach Gegenständen.",getPlayerName(playerid),getPlayerName(pID));
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i, 10.0,X, Y, Z))
    {
    SendClientMessage(i, COLOR_GREEN, str);
    }
    new str2[128];
    for(new is = 0; is < 13; is++)
    {
    GetPlayerWeaponData(playerid, is, weapons[is][0], weapons[is][1]);
    format(str2, sizeof(str2), "Waffe_%i: %s",is,WeaponName(weapons[is][0]));
    SendClientMessage(playerid, COLOR_RED, str);
    }
    }
    }
    return 1;
    }



    evtl. kann @Jeffry ja schnelle abhilfe leisten :D:P

    Okay. Wenn ich es Richtig auslese ist es ja schonmal Gut. Mir wird dauerhaft der Wert 0 in der Tankanzeige angezeigt.


    Der Wert soll hier abgefragt werden


    [list=1][*] for(new i=0; i<sizeof(tank); i++)[*] {[*] tank[i]=cInfo[i][tankinhalt];[*] }[/list]


    Habe gerade gesehen das ich das bei OnFoot hinzugefügt habe aber aucch wenn ich es bei PLAYER_STATE_DRIVER hinzufüge wird es mir nicht richtig angezeigt.


    if(newstate==PLAYER_STATE_DRIVER) { for(new i=0; i<sizeof(tank); i++) { tank[i]=cInfo[i][tankinhalt]; } }



    /push 05.12 von meinem Handy

    Also derzeit lade ich das Geld garnicht mehr weil ich einen Textdraw hatte der das übernommen hat. Aber wegen den PNS´s fand ich das doof. Da konntest du mir glücklicherweise helfen. Hinzu war das mit der AntiCheat da noch etwas schwieriger.
    Das funktioniert nun auch. Herzlichen dank dazu.



    Ich lade das Geld derzeit aus


    cache_get_value_name_int(0, "money", PlayerInfo[playerid][pMoney]);
    und muss dieses mit


    GivePlayerMonez


    zuweisen. Da ja die AntiCheat sonst wieder meckern tut.


    Teil aus dem AntiCheat was dies betrifft.


    public GivePlayerMonez(playerid) return PMoney[playerid];


    und im letzten Thread meine ich


    GivePlayerMonez(playerid, PlayerInfo[playerid][pMoney]);

    Ich habs mit dem AntiCheat scheinbar viel zu genau genommen.


    Hier noch ein Teil vom AntiCheat der beim Joinen das Geld mit lädt

    public OnPlayerUpdate(playerid)
    {
    if (IsPlayerNPC(playerid)) return 1;
    new cash = GetPlayerMoney(playerid); if (cash != PlayerInfo[playerid][pMoney])
    {
    ResetPlayerMoney(playerid); GivePlayerMoney(playerid,PlayerInfo[playerid][pMoney]);
    }
    return 1;
    }

    Kein Problem. Wir habens Nachts um 2 da darf das gerne vorkommen. Ich bin erstmal dankbar das es überhaupt jemanden gibt der mir da hilft :D.


    Das Auto hat schaden ja. Es werden 100$ abgezogen. Dann sagt AntiCheat aber nein das darfst du nicht und schreibt das Geld wieder Gut weil ihm da ja die außnahme fehlt.