Beiträge von Kit

    Kaliber könntest du mir vllt. helfen? sitze nun seit 3 Stunden daran dass zu verändern, dass man mehrere Autos besitzen kann aber komme einfach nicht drauf bin noch Anfänger deswegen
    wenn du mir nur einen Denkanstoss geben könntest oder welche bestehenden Variabeln davon nötig sind zu sagen, das wäre super! :)

    Wäre auch daran interessiert wie man das einstellen kann dass bei dem Autohaus von Kaliber man mehrere Autos kaufen kann

    Kannst ja einen Timer setzen damit sich die Reifen/Auto Jede Sekunde Repairen


    Auf garkeinen Fall!! Stell dir mal vor auf dem Server spielen grade 250 Leute von diesen 250 Leuten fahren 200 mit dem auto und bei jedem Auto repariert sich jede Sekunde die Reifen
    Kannst dir vorstellen was für Laggs das verursacht?

    Erstmal Danke dass du mir hilfst :)
    Wie muss ich dass den machen? will z.B. das alle Autos von 0-35 in LV spawn dann z.B von 36-49 in SF usw.
    Wie muss ich diese if abfrage gestalten?
    Hab absolut keine Ahnung da ich Anfänger bin :/


    Wie kann ich das machen das z.B. wenn der Spiele Auto nummer 46 kauft, dass das Script automatisch erkennt aha autozahl ist jetzt 46 ?

    Hab ein autohaus gescriptet wo die autos halt parken und wenn man einsteigt diese kaufen kann. Nun gibt es mehrere Autohäuser und hab soweit alles funktionierend. Nur eine Stelle bereitet mir echt Probleme. Wenn man ein Auto z.B. in Los Santos kauft wird es halt an die Stelle des ersten Autohauses von mir In LV geportet. Hab jetzt so einiges versucht unten der Code hoffe ihr könnt mir Helfen.


    Spoiler anzeigen
    if(dialogid == Dialog0)
    {
    new autozahl = 0;
    if(response == 1)
    {
    if(PlayerInfo[playerid][psKey] > 0)
    {
    SendClientMessage(playerid, rot,"Du besitzt schon ein Auto !");
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, 1);
    return 1;
    }
    if(GetPlayerMoney(playerid) >= pspreis[playerid])
    {
    if(psautohaus[autozahl] <= psautohaus[35]) //LV Limos
    {
    GivePlayerMoney(playerid, -pspreis[playerid]);
    PlayerInfo[playerid][psPreis] = pspreis[playerid];
    format(string, sizeof(string),"2175.2119,1391.9048,10.4454,90.0187, 0, 0, %d, %d",GetVehicleModel(GetPlayerVehicleID(playerid)),pspreis[playerid]);
    SaveVehicles(string, playerid);
    PlayerInfo[playerid][psKey] = CreateVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)), 2175.2119,1391.9048,10.4454,90.0187,0,0,-1);
    GetPlayerName(playerid, name, sizeof(name));
    format(sts, sizeof(sts),"%s",name);
    SetVehicleNumberPlate(PlayerInfo[playerid][psKey], sts);
    SetVehicleToRespawn(PlayerInfo[playerid][psKey]);
    SetPlayerPos(playerid, 2199.4885,1393.2869,10.8203);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, 1);
    format(str, sizeof(str),"Auto erfolgreich für %d$ gekauft !",pspreis[playerid]);
    SendClientMessage(playerid, blau, str);
    return 1;
    }
    if(psautohaus[autozahl] >= psautohaus[36] && psautohaus[autozahl] <= psautohaus[49] ) //Sportwagen
    {
    GivePlayerMoney(playerid, -pspreis[playerid]);
    PlayerInfo[playerid][psPreis] = pspreis[playerid];
    format(string, sizeof(string),"-1636.4858,1207.8816,6.7321,224.7615, 0, 0, %d, %d",GetVehicleModel(GetPlayerVehicleID(playerid)),pspreis[playerid]);
    SaveVehicles(string, playerid);
    PlayerInfo[playerid][psKey] = CreateVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)), -1636.4858,1207.8816,6.7321,224.7615,0,0,-1);
    GetPlayerName(playerid, name, sizeof(name));
    format(sts, sizeof(sts),"%s",name);
    SetVehicleNumberPlate(PlayerInfo[playerid][psKey], sts);
    SetVehicleToRespawn(PlayerInfo[playerid][psKey]);
    SetPlayerPos(playerid, -1641.5842,1203.4105,7.2471);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, 1);
    format(str, sizeof(str),"Auto erfolgreich für %d$ gekauft !",pspreis[playerid]);
    SendClientMessage(playerid, blau, str);
    return 1;
    }
    if(psautohaus[autozahl] >= psautohaus[50] && psautohaus[autozahl] <= psautohaus[63] ) //wang cars
    {
    GivePlayerMoney(playerid, -pspreis[playerid]);
    PlayerInfo[playerid][psPreis] = pspreis[playerid];
    format(string, sizeof(string),"-1988.2111,303.7925,34.9628,269.2296, 0, 0, %d, %d",GetVehicleModel(GetPlayerVehicleID(playerid)),pspreis[playerid]);
    SaveVehicles(string, playerid);
    PlayerInfo[playerid][psKey] = CreateVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)), -1988.2111,303.7925,34.9628,269.2296,0,0,-1);
    GetPlayerName(playerid, name, sizeof(name));
    format(sts, sizeof(sts),"%s",name);
    SetVehicleNumberPlate(PlayerInfo[playerid][psKey], sts);
    SetVehicleToRespawn(PlayerInfo[playerid][psKey]);
    SetPlayerPos(playerid, -1967.1671,293.7437,35.2752);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, 1);
    format(str, sizeof(str),"Auto erfolgreich für %d$ gekauft !",pspreis[playerid]);
    SendClientMessage(playerid, blau, str);
    return 1;
    }
    if(psautohaus[autozahl] >= psautohaus[64] && psautohaus[autozahl] <= psautohaus[72] ) //bikes
    {
    GivePlayerMoney(playerid, -pspreis[playerid]);
    PlayerInfo[playerid][psPreis] = pspreis[playerid];
    format(string, sizeof(string),"2127.1387,-1150.8926,23.7617,322.1908, 0, 0, %d, %d",GetVehicleModel(GetPlayerVehicleID(playerid)),pspreis[playerid]);
    SaveVehicles(string, playerid);
    PlayerInfo[playerid][psKey] = CreateVehicle(GetVehicleModel(GetPlayerVehicleID(playerid)), 2127.1387,-1150.8926,23.7617,322.1908,0,0,-1);
    GetPlayerName(playerid, name, sizeof(name));
    format(sts, sizeof(sts),"%s",name);
    SetVehicleNumberPlate(PlayerInfo[playerid][psKey], sts);
    SetVehicleToRespawn(PlayerInfo[playerid][psKey]);
    SetPlayerPos(playerid, 2131.4353,-1149.5685,24.2485);
    SetCameraBehindPlayer(playerid);
    TogglePlayerControllable(playerid, 1);
    format(str, sizeof(str),"Auto erfolgreich für %d$ gekauft !",pspreis[playerid]);
    SendClientMessage(playerid, blau, str);
    return 1;
    }
    }

    Spoiler anzeigen
    else
    {
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, 1);
    SendClientMessage(playerid, rot,"Du besitzt zu wenig Geld für dieses Auto !");
    return 1;
    }
    }
    if(response == 0)
    {
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, 1);
    return 1;
    }
    }

    Positives:
    -Ein komplett neues PD losgelöst vom alten Standort
    -Tolle Idee
    -Wie ich erkennen konnte sauber gemappt


    Negatives:
    -Die eingangshalle vom PD sieht bisschen leer aus
    -Holzboden in einer garage?
    -anscheinend hast du auch den Aufentshaltsraum mit der Waffenkammer in einem raum gesetzt, naja nicht so mein Geschmack
    -Du hast garkeine Zellen eingebaut *lach*


    Idee: 10/10
    Umsetzung: 3/10

    Eine kurze frage unzwar kenn ich das von Java dort kann man z.B. eine Methode die man erstellt hat bsp. public void bewegen() nochmal ein einer anderen Methode aufrufen lassen, sodass man diese nicht neu schreiben muss heißt einfach bewegen();
    wie ist das in Pawn?
    wenn ich ne Methode geschrieben hab /bewegen
    wie kann ich diese in anderen Methoden aufrufen lassen?

    Ursprünglich wars ja so

    Spoiler anzeigen
    if(strcmp(cmd,"/fkasse",true) == 0)
    {
    new fraktion = 0;
    GetPlayerName(playerid,sendername,sizeof(sendername));
    if(PlayerInfo[playerid][pMember] > 0) fraktion = PlayerInfo[playerid][pMember] - 1;
    if(PlayerInfo[playerid][pLeader] > 0) fraktion = PlayerInfo[playerid][pLeader] - 1;
    if(fraktion >= 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Benutze: /fkasse [einzahlen/auszahlen] [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse.",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    if(strcmp(tmp,"einzahlen",true) == 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Benutze: /fkasse einzahlen [Betrag]");
    format(string,sizeof(string),"Derzeit sind $%d in der Fraktionskasse.",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    new amount = strval(tmp);
    if(amount < 0 || amount > 1000000) return SendClientMessage(playerid,COLOR_RED,"Sie maximal nur 1 Mio. Doller einzahlen.");
    if(GetPlayerMoney(playerid) < amount) return SendClientMessage(playerid,COLOR_RED,"Sie haben nicht soviel Geld.");
    FraktionsKasse[fraktion] += amount;
    GivePlayerMoney(playerid,-amount);
    format(string,sizeof(string),"Sie haben $%d in die Fraktionskasse eingezahlt. Gesamt: $%d",amount,FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GREEN,string);
    format(string,sizeof(string),"%s hat $%d in die Fraktionskasse eingezahlt. Gesamt: $%d",sendername,amount,FraktionsKasse[fraktion]);
    SendLeaderMSG(fraktion+1,COLOR_LIGHTBLUE,string);
    SaveFraktionsKassen();
    }
    else if(strcmp(tmp,"auszahlen",true) == 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Benutze /fkasse auszahlen [Betrag]");
    format(string,sizeof(string),"Derzeit sind $%d in der Fraktionskasse.",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    new amount = strval(tmp);
    if(PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_WHITE," Nur Leader dürfen Geld aus der Fraktionskasse nehmen!");
    if(amount < 0 || amount > 1000000) return SendClientMessage(playerid,COLOR_WHITE," Bitte nur Summen in Höhe von 1 bis 1 Million Dollar!");
    if((FraktionsKasse[fraktion] - amount) < 0) return SendClientMessage(playerid,COLOR_WHITE," Du kannst keine Schulden machen!");
    FraktionsKasse[fraktion] -= amount;
    GivePlayerMoney(playerid,amount);
    format(string,sizeof(string),"Sie haben $%d aus der Fraktionskasse genommen. Gesamt: $%d",amount,FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GREEN,string);
    format(string,sizeof(string),"%s hat $%d aus der Fraktionskasse genommen. Gesamt: $%d",sendername,amount,FraktionsKasse[fraktion]);
    SendLeaderMSG(fraktion+1,COLOR_LIGHTBLUE,string);
    SaveFraktionsKassen();
    }
    else
    {
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Benutze /fkasse [einzahlen/auszahlen] [Betrag]");
    format(string,sizeof(string),"Derzeit sind $%d in der Fraktionskasse.",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    }
    }
    else SendClientMessage(playerid,COLOR_RED,"Sie sind in keiner Fraktion.");
    return 1;
    }

    habs halt danach geändert so dass man z.B. auf das Pickup im HQ geht und /fraktion schreibt dann kann man halt die Fraktionskasse auswählen und kommt auf die jeweilige Stelle mit dem Dialog
    deswegen hab ich das einfach nach ganz oben geschrieben diese new fraktion, bin Anfaänger in Pawn hab vorher bisschen Java gemacht daher hab ich ein paar Parallelen gezogen

    Hallo liebe leute unzwar hab ich grade für mein Script das Fraktionkassen system umgeschrieben in Dialoge
    Alles soweit gut man kann ein und aus zahlen nur scheint es für jede Fraktion nur eine Kasse zu geben.
    Heißt wenn ich beim LSPD was einzahle hab ich die gleiche Summe beim LCN
    Wie kann ich das beheben?
    Hier der Code:
    //FKASSE
    if(dialogid == DIALOG_FKASSE)
    {
    if(response)
    {

    if(listitem == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_FKASSE2,DIALOG_STYLE_INPUT,"Einzahlen","Gebe den gewünschten Betrag ein den du einzahlen möchtest:","Einzahlen","Abbrechen");
    return 1;
    }
    if(listitem == 1)
    {
    ShowPlayerDialog(playerid,DIALOG_FKASSE3,DIALOG_STYLE_INPUT,"Auszahlen","Gebe den gewünschten Betrag ein den du einzahlen möchtest:","Auszahlen","Abbrechen");
    return 1;
    }
    if(listitem == 2)
    {
    format(string,sizeof(string),"In der Fraktionskasse sind insgesamt $%d Dollar.",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GREEN,string);
    }
    }
    }
    //FKASSE einzahlen
    if(dialogid == DIALOG_FKASSE2)
    {

    if(response)
    {
    new amount = strval(inputtext);
    if(amount < 0 || amount > 1000000) return SendClientMessage(playerid,COLOR_RED,"Sie maximal nur 1 Mio. Doller einzahlen.");
    if(GetPlayerMoney(playerid) < amount) return SendClientMessage(playerid,COLOR_RED,"Sie haben nicht soviel Geld.");
    FraktionsKasse[fraktion] += amount;
    GivePlayerMoney(playerid,-amount);
    format(string,sizeof(string),"Sie haben $%d in die Fraktionskasse eingezahlt. Gesamt: $%d",amount,FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GREEN,string);
    format(string,sizeof(string),"%s hat $%d in die Fraktionskasse eingezahlt. Gesamt: $%d",sendername,amount,FraktionsKasse[fraktion]);
    SendLeaderMSG(fraktion+1,COLOR_LIGHTBLUE,string);
    SaveFraktionsKassen();
    }
    }
    //FKASSe auszahlen
    if(dialogid == DIALOG_FKASSE3)
    {
    if(response)
    {
    new amount = strval(inputtext);
    if(PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_WHITE," Nur Leader dürfen Geld aus der Fraktionskasse nehmen!");
    if(amount < 0 || amount > 1000000) return SendClientMessage(playerid,COLOR_WHITE," Bitte nur Summen in Höhe von 1 bis 1 Million Dollar!");
    if((FraktionsKasse[fraktion] - amount) < 0) return SendClientMessage(playerid,COLOR_WHITE," Du kannst keine Schulden machen!");
    FraktionsKasse[fraktion] -= amount;
    GivePlayerMoney(playerid,amount);
    format(string,sizeof(string),"Sie haben $%d aus der Fraktionskasse genommen. Gesamt: $%d",amount,FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GREEN,string);
    format(string,sizeof(string),"%s hat $%d aus der Fraktionskasse genommen. Gesamt: $%d",sendername,amount,FraktionsKasse[fraktion]);
    SendLeaderMSG(fraktion+1,COLOR_LIGHTBLUE,string);
    SaveFraktionsKassen();
    }
    }