Beiträge von shoxinat0r

    Hallo zusammen,


    ich suche eine WBB 3.1.8 Lizenz.
    Am besten sollte der ganze WoltLab Account verkauft werden.


    Über den Preis bin ich gerne bereit mich zu unterhalten. :)


    Viele Grüße
    shoxinat0r
    ______
    Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.


    stock KillFrakCar(id)
    {
    DestroyVehicle(FrakCarInfo[id][f_ID]);
    }


    stock GetVehicleName(vehicleid)
    {
    format(str,144,"%s",FahrzeugNamen[GetVehicleModel(vehicleid)-400]);
    return str;
    }

    Hallo zusammen!

    COMMAND:fcars(playerid,params[])
    {
    if(GetPVarInt(playerid,"Fraktion") == 0) return SCM(playerid,COLOR_GREY,"Du bist in keiner Fraktion.");
    if(GetPVarInt(playerid,"Leader") == 0) return SCM(playerid,COLOR_GREY,"Du bist kein Leader.");

    new var,string[1256],lol[1256];
    printf("1");

    for(new i=0;i<MAX_FRAKCARS;i++)
    {
    if(FrakCarInfo[i][f_Fraktion] == GetPVarInt(playerid,"Fraktion"))
    {
    format(string,sizeof(string),"%s\n%s: Model: %i Vehicleid: %i",string,GetVehicleName(FrakCarInfo[i][f_ID]),FrakCarInfo[i][f_Model],FrakCarInfo[i][f_ID]);
    var++;
    printf("%i",FrakCarInfo[i][f_ID]);
    }
    }
    printf("1");
    if(!var) return SCM(playerid,COLOR_GREY,"Zurzeit besitzt deine Fraktion keine Fahrzeuge.");
    printf("1");


    format(lol,sizeof(lol),"{FFFFFF}Folgende Fahrzeuge besitzt deine Fraktion:\n\n%s",string);
    ShowPlayerDialog(playerid,DIALOG_ALL,DIALOG_STYLE_MSGBOX,"{FF9900}Fraktionsfahrzeuge",lol,"OK","");
    printf("1");
    return 1;
    }


    Die Schleife läuft korrekt durch und gibt auch über printf(); die korrekten Fahrzeug IDs zurück.
    Nur alles was nach der Schleife kommt wird nicht ausgeführt. Das Problem taucht aber erst auf, nachdem ein Fahrzeug gelöscht/verkauft wurde.


    Ein Beispiel für einen "Lösch"-Command (/verkfcar):

    COMMAND:verkfcar(playerid,params[])
    {
    if(!IsPlayerInAnyVehicle(playerid)) return 1;
    if(GetPVarInt(playerid,"Fraktion") == 0) return SCM(playerid,COLOR_GREY,"Du bist in keiner Fraktion.");
    if(GetPVarInt(playerid,"Leader") == 0) return SCM(playerid,COLOR_GREY,"Du bist kein Leader.");

    if(IsAFrakCar(GetPlayerVehicleID(playerid)) != -1)
    {
    new car = IsAFrakCar(GetPlayerVehicleID(playerid));
    GivePlayerMoneyEx(playerid,FrakCarInfo[car][f_Preis]/2);
    format(squery,sizeof(squery),"DELETE FROM `Fraktionsfahrzeuge` WHERE `ID` = '%d'",car);
    mysql_query(squery);
    KillFrakCar(car);
    SCM(playerid,COLOR_GREY,"Fraktionsfahrzeug verkauft.");
    }
    else
    {
    SCM(playerid,COLOR_GREY,"Du sitzt in keinem Fraktionsfahrzeug.");
    }
    return 1;
    }

    Hi zusammen,
    sicherlich eine ziemlich dumme Frage, aber warum wird der Spieler nicht aus dem Fahrzeug gekickt, wenn er den rechten Dialogbutton drückt?


    case DIALOG_FAUTOHAUS:
    {
    if(response)
    {
    new id=GetPVarInt(playerid,"buyCarID");
    new fid=GetPVarInt(playerid,"Fraktion");
    new pr=GetPVarInt(playerid,"buyCarPreis");
    printf("1");
    if(GetPVarInt(playerid,"Money") < pr)
    {
    SCM(playerid,COLOR_GREY,"Du hast nicht genügend Geld.");
    RemovePlayerFromVehicle(playerid);
    printf("2");
    }
    else
    {
    printf("3");
    WithdrawPlayerMoney(playerid,pr);
    AddFrakCar(1708.1882,1286.8730,10.5252,359.1886,fid,id,FraktionsInfo[fid][f_Farbe],FraktionsInfo[fid][f_Farbe]);
    RemovePlayerFromVehicle(playerid);
    SCM(playerid,COLOR_YELLOW,"Du hast dieses Fahrzeug für deine Fraktion gekauft.");
    printf("4");
    }
    }
    else
    {
    RemovePlayerFromVehicle(playerid);
    }
    }


    Eine zweite Frage hätte ich auch noch:
    Ich überprüfe unter OnPlayerStateChange wenn ein Spieler ein Fahrzeug als Spieler betritt, ob er dieses Fahrzeug fahren darf (Job, Fraktion etc.). Wenn er es aber nicht darf, soll er rausgeworfen werden. Steigt der Spieler aber ein und fährt weiter, passiert nichts und er kann das Fahrzeug ohne Probleme fahren, bis er langsamer wird und/oder steht.


    Dazu auch nochmal den Code (Beispiel):
    if(IsAMedicCar(GetPlayerVehicleID(playerid)))
    {
    if(GetPVarInt(playerid,"Fraktion") != 2)
    {
    RemovePlayerFromVehicle(playerid);
    SCM(playerid,COLOR_GREY,"Du bist kein Sanitäter.");
    }
    }

    PS: Wer damit kommt, dass meine Beschreibung zu meinem Angebot zu klein wäre, der kann sich wortwörtlich in den Ar*ch fi*ken und wo anders weitersuchen, da ich hier sowas nicht brauche und versuche meinen Thread sehr informativ und nicht zu lang zu gestalten.

    Cool. Allein für so einen Satz würde ich mich nicht um dich bemühen.
    Außerdem hab ich nicht verstanden, wieso ich dich anfragen sollte und nicht einen der zahlreichen anderen Vorsteller.


    Ich bin momentan nämlich auf der Suche nach Leuten und ich kann dir ganz ehrlich sagen, dass ich bis jetzt niemanden in Betracht gezogen habe, der sich hier vorstellt, weil einfach niemand sich wirklich so präsentiert, dass auch langfristiges Interesse vorhanden wäre.


    Wenn du hier ein Projekt findest, und das wünsche ich dir und generell jedem anderen auch, besorg dir lieber was langfristiges. Dafür musst du dich aber interessanter verkaufen.

    Ich glaub' ich steh total auf dem Schlauch.
    Wieso geht es nach der Gehalt-Abfrage nicht mehr weiter? Ich kann mir in etwa denken, wo der Fehler liegt nur irgendwie komme ich nicht auf die Lösung.


    SetPVarInt(i,"Paydaytime",3600);
    PaydaypP[i]=0;
    pdcars[i]=0;
    SCM(i,COLOR_BLUE,"|__________ Zahltag __________|");
    //== Alter Kontostand
    format(str,144,"Alter Kontostand: %i$",GetPVarInt(i,"Bank"));
    SCM(i,COLOR_WHITE,str);
    //== Gehalt
    if(GetPVarInt(i,"Fraktion") > 0)
    {
    format(str,144,"Gehalt: %i$",GetPVarInt(i,"Rang")*750);
    SCM(i,COLOR_WHITE,str);
    PaydaypP[i]+=GetPVarInt(i,"Rang")*750;
    }
    //== Arbeitslosengeld
    if(GetPVarInt(i,"Hartz4") == 1)
    {
    format(str,144,"Arbeitslosengeld: %i$",HARTZ4);
    SCM(i,COLOR_WHITE,str);
    PaydaypP[i]+=HARTZ4;
    }
    //== KFZ-Steuer
    for(new is;is<MAX_VEHICLES;i++)
    {
    if(IsAPlayerCar(is))
    {
    if(!strcmp(PlayerName[i],CarInfo[is][c_Owner],true))
    {
    pdcars[i]++;
    }
    }
    }
    if(pdcars[i] > 0)
    {
    format(str,144,"Fahrzeugsteuer: %i$ (%i Fahrzeuge)",pdcars[i]*150,pdcars[i]);
    SCM(i,COLOR_WHITE,str);
    PaydaypP[i]-=pdcars[i]*150;
    }
    //== Zinsen
    format(str,144,"Zinsen: %i$ (%i%%)",GetPVarInt(i,"Bank")/100*ZINSSATZ_PAYDAY);
    SCM(i,COLOR_WHITE,str);
    PaydaypP[i]+=GetPVarInt(i,"Bank")/100*ZINSSATZ_PAYDAY;
    //== Geänderter Betrag
    format(str,144,"Geänderter Betrag: %i$",PaydaypP[i]);
    SCM(i,COLOR_WHITE,str);
    //== Geld geben
    AddOnePVar(i,"Bank",PaydaypP[i]);
    //== Neuer Kontostand
    format(str,144,"Neuer Kontostand: %i$",GetPVarInt(i,"Bank"));
    SCM(i,COLOR_WHITE,str);
    //== Respektpunkt
    AddOnePVar(i,"Respektpunkte",1);
    //== Variablen resetten
    pdcars[i]=0;
    PaydaypP[i]=0


    //Edit:
    Es klappt jetzt. Zum Glück. Vielen Dank Jeffry: ! :)

    Der Befehl sieht momentan so aus:

    COMMAND:carlock(playerid,params[])
    {
    new Float:CarPos[3],string[144];
    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
    for(new i;i<MAX_VEHICLES;i++)
    {
    for(new x;x<sizeof CarInfo;x++)
    {
    GetVehiclePos(i,CarPos[0],CarPos[1],CarPos[2]);
    if(IsPlayerInRangeOfPoint(playerid,3,CarPos[0],CarPos[1],CarPos[2]))
    {
    if(CarInfo[x][c_ID] == i)
    {
    if(!strcmp(PlayerName[playerid],CarInfo[x][c_Owner],true))
    {
    GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
    if(!doors)
    {
    SetVehicleParamsEx(i,engine,lights,alarm,1,bonnet,boot,objective);
    format(string,sizeof(string),"~w~%s ~r~abgeschlossen",GetVehicleName(i));
    GameTextForPlayer(playerid,string,2000,4);
    CarInfo[x][Locked]=1;
    return 1;
    }
    else
    {
    SetVehicleParamsEx(i,engine,lights,alarm,0,bonnet,boot,objective);
    format(string,sizeof(string),"~w~%s ~g~aufgeschlossen",GetVehicleName(i));
    GameTextForPlayer(playerid,string,2000,4);
    CarInfo[x][Locked]=0;
    return 1;
    }
    }
    }
    }
    }
    }
    }
    else if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    for(new i;i<MAX_VEHICLES;i++)
    {
    for(new x;x<sizeof CarInfo;x++)
    {
    if(CarInfo[x][c_ID] == i)
    {
    if(!strcmp(PlayerName[playerid],CarInfo[vehicleid][c_Owner],true))
    {
    GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
    if(!doors)
    {
    SetVehicleParamsEx(i,engine,lights,alarm,1,bonnet,boot,objective);
    format(string,sizeof(string),"~w~%s ~r~abgeschlossen",GetVehicleName(vehicleid));
    GameTextForPlayer(playerid,string,2000,4);
    CarInfo[x][Locked]=1;
    return 1;
    }
    else
    {
    SetVehicleParamsEx(i,engine,lights,alarm,0,bonnet,boot,objective);
    format(string,sizeof(string),"~w~%s ~g~aufgeschlossen",GetVehicleName(vehicleid));
    GameTextForPlayer(playerid,string,2000,4);
    CarInfo[x][Locked]=0;
    return 1;
    }
    }
    }
    }
    }
    }
    return 1;
    }


    Die Abfrage habe ich geändert.

    Jetzt funktioniert es sowohl von Außen als auch von Innen.
    Eine letzte Frage:
    Wieso erscheint kein Gametext, wenn ich im Fahrzeug den Befehl /carlock ausführe? Ab- bzw. aufgeschlossen wird das Fahrzeug.


    //Edit:
    Eine weitere Frage:
    Der Befehl öffnet jetzt alle Fahrzeuge und nicht nur Privatfahrzeuge.
    Wenn ich eine entsprechende Abfrage einbaue, funktioniert der Befehl nicht mehr.
    Hier die Abfrage:
    [pwn]stock IsAPlayerCar(vehicleid)
    {
    for(new i=0;i<MAX_CARS;i++)
    {
    if(vehicleid == CarInfo[i][c_ID])
    {
    return i;
    }
    }
    return -1;
    }


    //Edit:
    Ich pushe hier einmal ganz dezent. Das Problem besteht leider immer noch, dass der Befehl in einem Fahrzeug "nicht erkannt" wird.

    Hallo zusammen!
    Ich habe folgendes Problem: Der Query wird lt. mysql_log nicht ausgeführt. Weiß jemand weiter?


    stock AddHouse(Float:x,Float:y,Float:z,interioor,owner[32],preis,level,kasse)
    {
    for(new i=0;i<MAX_HOUSE;i++)
    {
    new query[1256];
    format(query,sizeof(query),"SELECT * FROM `Haus` WHERE `ID` = '%d'",i);
    mysql_query(squery);
    mysql_store_result();
    if(mysql_num_rows() == 0)
    {
    format(query, sizeof(query), "INSERT INTO `Haus` (ID,PositionX, PositionY, PositionZ, Interior, Besitzer, Preis, Level, Kasse) VALUES ('%d','%f', '%f', '%f', '%d', '%s', '%d', '%d', '%d')",i,x,y,z,interioor,owner,preis,level,kasse);
    mysql_query(query);
    return LoadHouse(i);
    }
    mysql_free_result();
    }
    return 1;
    }