Beiträge von Kasakow

    Guten Tag,


    Mein Name lautet CIBERKLILLER.
    Und zwar bräuchte ich mal eure Hilfe!
    Ich habe einen Fahrzeug Respawn mit optionaler Zeit geschrieben!
    Dieser wird nach Beendigung dieser Zeit aber nicht durchgeführt.
    Das System sollte alle Fahrzeuge Respawnen wo keine Bei/Fahrer enthalten sind.


    Quelltext:
    new vID;
    for(new i;i<GetMaxPlayers();i++){
    if(!IsPlayerConnected(i))continue;
    if(IsPlayerNPC(i))continue;
    if(!sStats[i][Eingeloggt])continue;
    if(IsPlayerInAnyVehicle(i))continue;
    vID = GetPlayerVehicleID(i);
    SetVehicleToRespawn(vID);
    }


    Könnt ihr einen Fehler in diesem Quellcode finden ?


    Mit freundlichen Grüßen,


    CIBERKILLER.

    Nein du musst den namen verkürzen und die Infomeldung
    zum heapspace ist ja nur eine Meldung und kein Fehler.


    #pragma dynamic sorgt nur dafür diese Meldung zu verstecken, wie viel speicher reserviert wird legst du damit nicht fest das holt sich der Server selbst.


    Ich weis dass es kein Fehler ist, schade dann werde ich wohl die Bezeichnungen ändern müssen ;)

    Guten Tag,


    Mein Name lautet CIBERKILLER.
    Und zwar wollte ich euch mal fragen ob man diese Warnung ausblenden lassen kann.

    Zitat

    warning 200: symbol "dialogname" is truncated to 31 characters


    Denn ich schreibe ausführliche Systeme mit sehr vielen Dialogen und da werden die Definitionen der Dialognamen schon ein bisschen länger.
    Das würde mich mal interessieren!
    Danke für zukünftige Antworten.


    Mit freundlichen Grüßen,


    CIBERKILLER.

    Also das Resultat sagt ja,


    Ich lasse ganz so in die Datenbank eintragen.

    SQL
    INSERT INTO `enters` (`Label`,`elp0`,`elp1`,`elp2`,`epp0`,`epp1`,`epp2`,`PModel`,`PVW`,`PType`) VALUES ('Test für Jeffrys Augen','1750.3582','-1110.2223','27.5590','1750.3582','-1110.2223','27.5590','1239','0','1')


    Ingame wird das alle 20 Sekunden übernommen.

    Es wird folgendes geprintet:


    Aber jetzt laden die objekte und weiteres wieder!

    Guten Tag,


    Mein Name lautet CIBERKILLER.
    Und war wollte ich euch mal fragen ob es eine Möglichkeit gibt um abzufragen ob ein 3DTextLabel & Pickup sich schon auf dem Server befinden.
    Weil meine jetzige Methode Funktioniert nicht ^^


    if(!eInfo[j][eLabel]) eInfo[j][eLabel] = Create3DTextLabel(query1, Weis, elp[0], elp[1], elp[2], 45.0, 0, 1);
    else Delete3DTextLabel(eInfo[j][eLabel]), eInfo[j][eLabel] =Create3DTextLabel(query, Weis, elp[0], elp[1], elp[2], 45.0, 0, 1);
    if(!eInfo[j][ePickup]) eInfo[j][ePickup] = CreatePickup(in[0], in[1], epp[0], epp[1], epp[2], in[2]);
    else DestroyPickup(eInfo[j][ePickup]), eInfo[j][ePickup] = CreatePickup(in[0], in[1], epp[0], epp[1], epp[2], in[2]);


    Mit freundlichen Grüßen,


    CIBERKILLER

    Ist für Anfänger ganz nützlich, fortgeschrittene würden sich diese Funktion denke mal selber machen.


    Verbesserungsvorschlag.
    Mach aus:
    stock ToggleEngine(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
    }

    stock ToggleLights(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
    }

    stock ToggleAlarm(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, engine, lights, VEHICLE_PARAMS_ON, doors, bonnet, boot, objective);
    }

    STOCK ToggleDoors(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, engine, lights, alarm, VEHICLE_PARAMS_ON, bonnet, boot, objective);
    }

    STOCK ToggleBonnet(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, VEHICLE_PARAMS_ON, boot, objective);
    }

    STOCK ToggleBoot(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, VEHICLE_PARAMS_ON, objective);
    }

    STOCK ToggleObjective(vehicleid){
    new bool:engine, bool:lights, bool:alarm, bool:doors, bool:bonnet, bool:boot, bool:objective;
    GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
    return SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, VEHICLE_PARAMS_ON);
    }


    Nur eine Funktion.
    Halt noch mit einem 2.ten Parameter.
    z.B
    stock ToggleStatus(vehicleid, param[]){}

    @CIBERKILLER: Nur zur Information, dein Code ist eher problematisch weil du abfragst, ob die aktuelle ID mit einer Konstane (ziemlich hohe Zahl) übereinstimmt, die nie als ID autritt, da ein
    SAMP Server nicht so viele Slots hat.
    So werden auch nicht belegte Slots mitgezählt.


    LG


    Ach stimmt ja, irgent was mit 66355 oder so, wenn ich mich nicht irre. Naja dann halt if(!IsPlayerConnected(i))continue;

    stock GetPlayers()
    {
    new count = 0;
    for(new i;i<GetMaxPlayers();i++)
    {
    if(i == INVALID_PLAYER_ID)continue;
    if(IsPlayerNPC(i))continue;
    count ++;
    }
    return count;
    }


    Versuch das mal, habe ich dir gerade geschrieben ;)

    Schreibs mal so:


    public AndromadaKlappe()
    {
    new Float:vPos[3];
    GetVehiclePos(ARMYCARS[40], vPos[0], vPos[1], vPos[2]);
    for(new i=0; i < MAX_PLAYERS; i++)
    {
    if(i == INVALID_PLAYER_ID)continue;
    if(pInfo[i][fraktion] != 3)continue;
    if(GetPlayerDistanceFromPoint(i, vPos[0], vPos[1], vPos[2]) >= 5.1)continue;
    if(AKV[i] != 0)continue;
    ShowPlayerDialog(i, DIALOG_AKANFRAGE, DIALOG_STYLE_MSGBOX, "test", "Willst du in den Stauraum des Andromada gehen?", "Betreten", "Abbrechen");
    }
    return 1;
    }