Beiträge von IceWave

    hi, habe hier ein Problem:
    ocmd:hauskaufen(playerid,params[])
    {
    if(hatPlayerHaus(playerid))return SendClientMessage(playerid,ROT,"Du hast bereits ein Haus!");
    for(new i=0; i<sizeof(hInfo); i++)
    {
    if(!hInfo[i][h_id])continue;
    if(!IsPlayerInRangeOfPoint(playerid,2,hInfo[i][h_x],hInfo[i][h_y],hInfo[i][h_z]))continue;
    if(!strlen(hInfo[i][h_besitzer]))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    if(GetPlayerMoney(playerid)<hInfo[i][h_preis])return SendClientMessage(playerid,ROT,"Du hast nicht genügend Geld!");
    GivePlayerMoney(playerid,-hInfo[i][h_preis]);
    strmid(hInfo[i][h_besitzer],name,0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    updateHaus(i);
    saveHaus(i);
    return 1;
    }
    return SendClientMessage(playerid,ROT,"Das Haus steht nicht zum Verkauf!");
    }
    return 1;
    }
    strmid(hInfo[i][h_besitzer],name,0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
    wird durch das hier der Spieler name in die Variable h_besitzer gespeichert?


    Unten im Befehl mache ich ja saveHaus(i);


    Sieht so aus:
    saveHaus(id)
    {
    new query[128];
    format(query,sizeof(query),"UPDATE house SET besitzer='%s', h_preis='%i' WHERE id='%i'",hInfo[id][h_besitzer],hInfo[id][h_preis],hInfo[id][h_id]);
    mysql_function_query(dbverbindung, query, false,"","");
    return 1;
    }



    Wenn jetzt im hInfo[id][h_besitzer] der Spielername stehen würde, müsste ja mein Name in der Datenbank angezeigt werden. Wird er aber nicht, der bleibt leer

    Hi, ich will mein Tacho bei Fahrrädern nicht anzeigen lassen.
    Dafür hab ich schon eine Variable erstellt.
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new vID=GetPlayerVehicleID(playerid);
    new vModel=GetVehicleModel(vID);
    for(new i=0; i<sizeof(fahrzeugohneengine);i++)
    {
    if(fahrzeugohneengine[i]==vModel) continue;
    TextDrawShowForPlayer(playerid,Text:Textdraw[28]);
    TextDrawShowForPlayer(playerid,Text:Textdraw[29]);
    TextDrawShowForPlayer(playerid,Text:Textdraw[30]);
    TextDrawShowForPlayer(playerid,Text:Textdraw[31]);
    TextDrawShowForPlayer(playerid,Text:Textdraw[32]);
    TextDrawShowForPlayer(playerid,Text:Textdraw[33]);
    TextDrawShowForPlayer(playerid,Text:Textdraw[34]);
    TextDrawShowForPlayer(playerid,Text:Textdraw[35]);
    TextDrawShowForPlayer(playerid,Text:Textdraw[36]);
    TextDrawShowForPlayer(playerid,Text:Textdraw[37]);
    TextDrawShowForPlayer(playerid,Text:Textdraw[38]);
    }
    return 1;
    }


    Aber so funktionierts ja nicht.
    Da ja die fahrzeugohneengine Vehicles die ID 509 510 und 481 haben und ich jetzt zum Beispiel auf das 481 Vehicle aufsteige,
    wird ja erst das 509 überprüft und somit das Textdraw angezeigt, da ja 509 ungleich 481 ist..


    So wie ichs jetzt habe wird ja dann eigentlich das Textdraw 2 mal angezeigt und einmal continue oder ?
    vModel = 481, also ist 509 und 510 ungleich 481 --> ShowTextDraw

    Hi, ich mache eigentlich gerade was ganz einfaches, aber jetzt hänge ich nur noch dabei,
    diese Nachricht zu schicken SendClientMessage(playerid,ROT,"Du hast kein Fahrzeug welches du abgeben kannst!");



    Hier ist der Code if (dialogid==DIALOG_ABGEBEN)
    {
    if(response)
    {
    if(radbmx[playerid] != 0)
    {
    KillTimer(RadbmxTimer(playerid));
    radbmx[playerid] = 0;
    }
    else if(radmou[playerid] != 0)
    {
    KillTimer(RadmouTimer(playerid));
    radmou[playerid] = 0;
    }
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen!");
    }
    }


    Ich würde es jetzt einfach so machen if(radbmx[playerid] != 0)
    {
    KillTimer(RadbmxTimer(playerid));
    radbmx[playerid] = 0;
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast kein Fahrzeug welches du abgeben kannst!");
    }
    Aber da weiss ich jetzt nicht wie das funktioniert, wenn ich ja 2 if Abfragen habe, einmal für bmx und einmal für mou

    2 kleine Fragen hätte ich noch, was bedeutet das + ?


    Und wie funktioniert dass hier? radbmx[playerid] && KillTimer(Radbmxtimer(playerid)) || KillTimer(Radmoutimer(playerid));
    Würde ja bedeuten radbmx UND Killtimer von Radbmx ODER Killtimer Radmou


    Dann würde man ja das radmou gar nicht abfragen

    lol war zu doof das zu sehen xD
    Noch eine Frage, funktioniert das so, dass man 2 if Abfragen so wie hier in den Dialog macht?
    if (dialogid==DIALOG_ABGEBEN)
    {
    if(response)
    {
    if(radmou[playerid]!=0)
    {
    KillTimer(Radmoutimer(playerid));
    SendClientMessage(playerid,GOLD,"Du hast dein Fahrzeug abgegeben, jetzt kannst du wieder ein neues mieten!");
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast kein Fahrzeug welches du abgeben kannst!");
    }

    if(radbmx[playerid]!=0)
    {
    KillTimer(Radbmxtimer(playerid));
    SendClientMessage(playerid,GOLD,"Du hast dein Fahrzeug abgegeben, jetzt kannst du wieder ein neues mieten!");
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast kein Fahrzeug welches du abgeben kannst!");
    }
    }
    }



    Und wie könnte ich das machen dass abgefragt wird ob radmou oder radbmx ungleich 0 ist, und dann wenn radbmx ungleich 0 ist dass destroyt wird, wenn nicht das andre

    if (dialogid==DIALOG_FLEIHENBMX)
    {
    if(response)
    {
    if(radmou[playerid]!=0)return(SendClientMessage(playerid,ROT,"Du hast bereits ein Fahrzeug geliehen! Du kannst es mit '/abgeben' abgeben!");
    if(radbmx[playerid]!=0)return(SendClientMessage(playerid,ROT,"Du hast bereits ein Fahrzeug geliehen! Du kannst es mit '/abgeben' abgeben!");
    SendClientMessage(playerid,GRUEN,"Viel Spaß mit deinem BMX!");
    SetTimerEx("Radbmxtimer",600000,false,"i",playerid);
    GivePlayerMoney(playerid,-48);
    radbmx[playerid]=CreateVehicle(481,479.0388,-1501.8889,20.0479,263.1277,0,0,-1);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Du hast den Vorgang abgebrochen!");
    }
    }


    Hi, weiß jemand was hier falsch ist? bekomme viele Errors wie diese hier:
    C:\Users\Andi\Desktop\EastWestReallife\gamemodes\EastWest.pwn(1327) : error 001: expected token: ")", but found ";"
    C:\Users\Andi\Desktop\EastWestReallife\gamemodes\EastWest.pwn(1328) : error 001: expected token: ";", but found "if"

    public carSavedToDB(carid)
    {
    cInfo[carid][db_id]=cache_insert_id(dbverbindung);
    return 1;
    }


    Hier wird dann die ID, die ja beim Erstellen des Cars in der DB automatisch gesetzt wird, da die ja einfach immer um 1 hochgezählt wird dann in der Variable
    cInfo[carid][db_id] gespeichert oder ?







    Hatte jetzt beim Autoladen schon alles aus der DB geholt und in die Variablen gespeichert, geht genau so wie cache insert dann oder ?
    cInfo[id][db_id]=cache_get_field_content_int(i,"id",dbverbindung);

    ocmd:delveh(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, ROT, "Du bist kein Admin oder dein Rang ist zu niedrig!");
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, ROT, "Du musst in einem Fahrzeug sitzen!");
    for(new i=0; i<sizeof(cInfo); i++)
    {
    new vID=GetPlayerVehicleID(playerid);
    if(cInfo[i][id_x]!=vID)continue;
    new query[128];
    format(query,sizeof(query),"DELETE FROM cars WHERE id=%d");
    mysql_function_query(dbverbindung,query,false,"","");
    DestroyVehicle(vID)
    }
    return 1;
    }
    So? oder muss man das '%d' so schreiben und dahinter dann auch angeben was der Wert ist.




    Und das i des Autos entspricht aber nicht der DB Id oder?
    Wenn ich alleine am Server connecte und 5 Autos habe, steht ja im i 0,1,2,3,4


    Und die Cars in der DB haben ja dann ID 100+, jenachdem wie viel erstellt worden sind/ gelöscht sind

    Jetzt hänge ich garade bei was.
    ocmd:delveh(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid, ROT, "Du bist kein Admin oder dein Rang ist zu niedrig!");
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, ROT, "Du musst in einem Fahrzeug sitzen!");


    mysql_query("DELETE FROM cars WHERE ???='%i'",
    DestroyVehicle(GetPlayerVehicleID(playerid));
    return 1;
    }


    in der Datenbank habe ich eine ID gespeichert, die Für jedes Fahrzeug beim 1 mal erstellen gesetzt wird und einfach immer hochgezählt wird.
    Dann noch Besitzer, Kooridnaten und Farbe.


    Ist es jetzt überhaupt möglich abzufragen welches Auto ich rauslöschen will?
    Ich will es ja auch so machen, dass man auch Fahrzeuge der anderen löschen kann.



    Hätte jetzt versucht mit der id_x zu arbeiten, also der vehicleid, die ja beim Connecten wenn das Car erstellt wird gesetzt wird.. Aber keine Ahnung wie ich abfragen soll
    um welches Auto es sich in der DB handelt..

    Hi, ich bin gerade dabei einen delveh Befehl zu machen, funktioniert auch, aber ich will die Cars dann noch aus der DB löschen.
    Dazu erstmal eine kleine Frage:
    cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,f1,f2,-1);
    wird in der id_x is dann die VehicleID gespeichert?


    Und ist die Vehicleid die ID die In Game bei /dl angezeigt wird?