Beiträge von CaZe

    • Was mich eher verwundert ist, dass ich 0% Aimpunch sehe, welcher bei der Deagle eigentlich ziemlich stark ist. Ich weiß jetzt nicht ob dies daran liegt, dass das irgendein Demo bug ist was ich aber bezweifle. Sonst teile ich die Meinung mit Machida

    Nabend Leute,
    ich habe das Problem, dass wenn ich ein Fraktionsauto abschließen möchte, dies entweder die Server Konsole vollspammt oder sagt dass dieses Fahrzeug nicht zu meiner Fraktion gehört.
    Das ganze System ist nach diesem Tutorial aufgebaut: [jTut]Fraktions-Fahrzeug System.
    Danke im Voraus.
    Der Flock Befehl:


    So werden die Fahrzeuge aus der Datenbank ausgeladen:


    Tag liebe leuts,
    ich habe mal wieder bzw. immer noch ein Problem mit meinem Death-System. Diesmal liegt es nicht am Timer sondern an dem TextLabel und dem Pickup.
    Das Problem hierbei ist: Dass wenn ich sterbe, soll ein Pickup sowie TextLabel erstellt werden, dies erfolgt auch nur leider werden diese beiden Sachen an der Position vom Krankenhaus gespawnt hier der code:
    Wird übrigens unter OnPlayerDeath aufgerufen.

    Jeffry:
    MedicalTimerID kommt hier überall vor:
    Deklarierung:
    new MedicalTimerID[MAX_PLAYERS];
    OnPlayerConnect:
    MedicalTimerID[playerid] = -1;
    OnPlayerDisconnect:
    KillTimer(MedicalTimerID[playerid]);
    stock MedicalSpawn(playerid)
    MedicalTimerID[playerid] = SetTimerEx("MedicalTimer",2000,true,"i",playerid);
    Public MedicalTimer(playerid)
    KillTimer(MedicalTimerID[playerid]);


    Nochmal alles was mit dem Death System zu tun hat:
    OnPlayerDeath:

    Code
    public OnPlayerDeath(playerid, killerid, reason)
    {
    	SpielerInfo[playerid][pTode]++;
    	if(killerid != INVALID_PLAYER_ID)
    		SpielerInfo[killerid][pMorde]++;
    	SpielerInfo[playerid][pDeathtime] = 120;
    	MedicalSpawn(playerid);
    	return 1;
    }


    stock MedicalSpawn:


    Public MedicalTimer:


    SpielerInfo[playerid][pSpawn] Hat nichts mit dem Death System zu tun, da dies lediglich dazu dient an welchen Spawn der Spieler Spawnt. (Haus oder Zivilspawn)
    Es funktioniert alles, und es wird alles ausgegeben/ausgeführt, der Timer wird lediglich nicht "gekillt"

    Welche Abfragen sehen in diesem Public denn "komisch" aus?

    Exakt, dass hängt mit dem Befehl hier zusammen:
    ocmd:hospital(playerid,params[])
    {
    if(!IsPlayerOnline(playerid))return SendClientMessage(playerid,Rot,NotOnlineMSG);
    if(!SpielerInfo[playerid][pDeathtime])return SendClientMessage(playerid,Rot,"Error"#cWeiß": You aren't in the hospital.");
    new str[25];
    format(str,sizeof(str),"%i Seconds remaining",SpielerInfo[playerid][pDeathtime]);
    GameTextForPlayer(playerid,str,3000,5);
    return 1;
    }
    //EDIT::
    Und wenn man den Server disconnected muss die Zeit ja irgendwie gespeichert und wieder richtig wiedergegeben werden.

    Guten Tag,
    ich habe das Problem, dass mein Timer einfach nicht aufhört sich zu wiederholen, obwohl ich diesen per KillTimer ausschalte.
    Beim Tot passiert dies:(Ist übrigens kein Klammerfehler)


    SpielerInfo[playerid][pDeathtime] = 120;
    MedicalSpawn(playerid);


    stock MedicalSpawn(playerid)
    {
    SetSpawnInfo(playerid,0,SpielerInfo[playerid][pSkin],1171.4297, -1323.3737, 15.5000,90.000,0,0,0,0,0,0);
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerInterior(playerid,0);
    SpawnPlayer(playerid);
    TogglePlayerControllable(playerid,0);
    SetPlayerCameraPos(playerid, 1233.3835, -1325.5378, 28.5698);
    SetPlayerCameraLookAt(playerid, 1232.3846, -1325.5327, 28.4548);
    MedicalTimerID[playerid] = SetTimerEx("MedicalTimer",2000,true,"i",playerid);
    return 1;
    }


    Public MedicalTimer:
    public MedicalTimer(playerid)
    {
    SpielerInfo[playerid][pDeathtime] = SpielerInfo[playerid][pDeathtime]-1;//Habe es auch schon mit SpielerInfo[playerid][pDeathtime]--; Probiert.
    if(SpielerInfo[playerid][pDeathtime] <= 0)
    {
    KillTimer(MedicalTimerID[playerid]);
    if(SpielerInfo[playerid][pSpawn] == 0)
    SpawnPlayerEx(playerid);
    else
    HouseSpawn(playerid);
    ClearChatForPlayer(playerid);
    SendClientMessage(playerid,Weiß,"Spawn");
    TogglePlayerControllable(playerid,1);
    SpielerInfo[playerid][pDeathtime] = 0;
    SetCameraBehindPlayer(playerid);
    return 1;
    }
    return 1;
    }

    if(funkid < 3 || 22)return SCM(playerid, -1, "Fehler: der Funkspruch ist nicht verfügbar.");
    zu
    if(funkid < 3 || funkid > 22)return SCM(playerid, -1, "Fehler: der Funkspruch ist nicht verfügbar.");

    stock SendMeMessage(playerid, MeMessage[])
    {
    new string[128];
    format(string, sizeof(string), "* %s %s", GetPlayerNameEx(playerid), MeMessage);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    return 1;
    }
    Sollte so gehen.

    Probiere es bitte so:

    Probiere es mal so:
    public SaveAllCars()
    {
    printf("Starte SaveAllCars");
    new query[1024];
    for(new i=0; i<MAX_AUTOS; i++)
    {
    printf("i: %d | Model: %d | Besitzer: %s", i, CarInfo[i][modelID], CarInfo[i][Besitzer]);
    if(CarInfo[i][modelID] >= 400 && CarInfo[i][modelID] <= 611)
    {
    printf("Gekauft: %d", CarInfo[i][c_Gekauft]);
    if(CarInfo[i][c_Gekauft] == 0)
    {
    //GetVehiclePos(CarInfo[i][c_vID], CarInfo[i][c_x], CarInfo[i][c_y], CarInfo[i][c_z]);
    //GetVehicleZAngle(CarInfo[i][c_vID], CarInfo[i][c_a]);
    format(query, sizeof(query), "UPDATE Cars SET Besitzer = '%s',ModelID = '%d', PosX = '%f', PosY = '%f', PosZ = '%f', PosA = '%f', Color1 = '%d', Color2 = '%d',Preis = '%d',Gekauft = '%d', Versicherung = '%d', Schild = '%s', Drogen = '%d', Waffen = '%d', Geld = '%d' WHERE ID = '%d'",
    CarInfo[i][Besitzer],CarInfo[i][modelID], CarInfo[i][c_x], CarInfo[i][c_y], CarInfo[i][c_z], CarInfo[i][c_a], CarInfo[i][c_color1], CarInfo[i][c_color2],CarInfo[i][c_Preis],CarInfo[i][c_Gekauft], CarInfo[i][c_Versicherung],CarInfo[i][c_Schild],CarInfo[i][c_Drogen],CarInfo[i][c_Waffen],CarInfo[i][c_Geld], i);
    mysql_tquery(handle, query);
    printf("query: %s", query);
    SendClientMessageToAll(info, "Nicht gekauft Autos wurden gespeichert!");
    }
    if(CarInfo[i][c_Gekauft] == 1)
    {
    new Float:VehPos[4];
    GetVehiclePos(CarInfo[i][c_vID],VehPos[0],VehPos[1],VehPos[2]);
    GetVehicleZAngle(CarInfo[i][c_vID], VehPos[3]);
    format(query, sizeof(query), "UPDATE Cars SET Besitzer = '%s',ModelID = '%d', PosX = '%f', PosY = '%f', PosZ = '%f', PosA = '%f', Color1 = '%d', Color2 = '%d',Preis = '%d',Gekauft = '%d', Versicherung = '%d', Schild = '%s', Drogen = '%d', Waffen = '%d', Geld = '%d' WHERE ID = '%d'",
    CarInfo[i][Besitzer],CarInfo[i][modelID], VehPos[0], VehPos[1], VehPos[2], VehPos[3], CarInfo[i][c_color1], CarInfo[i][c_color2],CarInfo[i][c_Preis],CarInfo[i][c_Gekauft],CarInfo[i][c_Versicherung],CarInfo[i][c_Schild],CarInfo[i][c_Drogen],CarInfo[i][c_Waffen],CarInfo[i][c_Geld], i);
    mysql_tquery(handle, query);
    printf("query: %s", query);
    SendClientMessageToAll(info, "Gekaufte Autos wurden gespeichert!");
    // new query[256];
    format(query, sizeof(query), "UPDATE Cars SET tuning0 = %d", GetVehicleComponentInSlot(CarInfo[i][c_vID], 0));
    for(new j=1; j<14; j++)
    {
    format(query, sizeof(query), "%s, tuning%d = %d ", query, j, GetVehicleComponentInSlot(CarInfo[i][c_vID], j));
    }
    format(query, sizeof(query), "%sWHERE ID = %d", i);
    mysql_tquery(handle, query);
    printf("query: %s", query);
    }
    }
    }
    SendClientMessageToAll(info, "Alle Fahrzeuge wurden gespeichert!");
    printf("Fertig.");
    return 1;
    }


    format(query, sizeof(query), "%sWHERE ID = %d", i);
    zu
    format(query, sizeof(query), "%sWHERE ID = %d",query, i);

    Dachte ich hätte es geschrieben, Syntax Fehler:

    Code
    [17:44:26] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'UDPATE banneduser SET IsBanned='0', BannedBis='0', BanAdmin='', BanReason='' WHE' at line 1