Beiträge von xxxRoberxxx

    Guten Abend,


    Ich wollte heute eigentlich mal nach ein paar Monaten Pause wieder anfangen was zu scripten,
    jedoch spinnt nun mein Hamachi Server rum.
    Ich kann mich erinnern das ich damals versehentlich was gelöscht habe .. aber i.wie verbindet Hamachi
    sich nicht mehr mit meinem Netzwerk und so kann
    niemand anderes auf mein Testserver zugreifen ich hoffe ihr könnt mir helfen.


    Ja


    Ich weiß jetzt auch wo ran es liegt , nur nicht genau wie ich es beheben soll ..


    Es liegt hier dran :


    public SaveCar(i)
    {
    new sform[128];
    format(sform, sizeof sform, "/Cars/%d.ini", i);
    if(fexist(sform))
    {
    if(INI_Open(sform))
    {
    INI_WriteFloat("pxx2", PlayerCar[i][pxx2]);
    INI_WriteFloat("pyy2", PlayerCar[i][pyy2]);
    INI_WriteFloat("pzz2", PlayerCar[i][pzz2]);
    INI_WriteFloat("paa2", PlayerCar[i][paa2]);
    INI_WriteInt("automodel", PlayerCar[i][automodel]);
    INI_WriteInt("c1", PlayerCar[i][c1]);
    INI_WriteInt("c2", PlayerCar[i][c2]);
    INI_WriteString("Key", PlayerCar[i][Key]);
    INI_WriteString("Key2", PlayerCar[i][Key2]);
    INI_WriteInt("Rented", PlayerCar[i][Rented]);
    INI_WriteString("ABC", PlayerCar[i][ABC]);
    INI_WriteInt("NSID", PlayerCar[i][NSID]);
    INI_WriteInt("BuyPrice", PlayerCar[i][BuyPrice]);
    INI_WriteInt("Lock", PlayerCar[i][Lock]);
    INI_WriteInt("Nitro", PlayerCar[i][Nitro]);
    INI_WriteInt("Hyd", PlayerCar[i][Hyd]);
    INI_WriteInt("Wheel", PlayerCar[i][Wheel]);
    INI_WriteInt("Auspuff", PlayerCar[i][Auspuff]);
    INI_WriteInt("SeiteL", PlayerCar[i][SeiteL]);
    INI_WriteInt("SeiteR", PlayerCar[i][SeiteR]);
    INI_WriteInt("FB", PlayerCar[i][FB]);
    INI_WriteInt("RB", PlayerCar[i][RB]);
    INI_WriteInt("Spoiler", PlayerCar[i][Spoiler]);
    INI_WriteInt("Roof", PlayerCar[i][Roof]);
    INI_WriteInt("Hood", PlayerCar[i][Hood]);
    INI_WriteInt("Vent", PlayerCar[i][Vent]);
    INI_WriteInt("Lamp", PlayerCar[i][Lamp]);
    INI_Save();
    INI_Close();
    }
    }
    return 1;
    }

    Hey Leute,


    Ich habe ein großes Problem mit mein Autohaussystem und zwar wird in den Scriptfiles im ordner Cars einmal die Cars gespeichert und einmal eine Datei namens Player. In der Datei Player wird gespeichert wieviel Autos eine Person hat das sieht dann so aus :


    xXxRoberxXx: Owner =0


    Problem nur nach dem Autokauf speichert der alles super ..


    xXxRoberxXx: Owner =1


    Aber wenn ich das Auto dann verkaufe erscheinen aufeinmal die Daten die in der anderen Datei waren in der Datei Player :



    xXxRoberxXx: Owner =0
    pyy2=-1144.6226
    pzz2=24.6126
    paa2=350.7449
    automodel=506
    c1=6
    c2=6
    Key=xXxRoberxXx
    Rented=0
    ABC=UC
    NSID=977
    BuyPrice=91000
    Lock=1
    Nitro=0
    Hyd=0
    Wheel=0
    Auspuff=0
    SeiteL=0
    SeiteR=0
    FB=0
    RB=0
    Spoiler=0
    Roof=0
    Hood=0
    Vent=0
    Lamp=0
    xXxRoberxXx: Rent =0


    Autokaufen :


    if(dialogid == BuyDiag)
    {
    if(response)
    {
    new price, co1, co2, mmautomodel, str[50];
    for(new i = 0; i<sizeof Buhnenautos; i++)
    {
    if(GetPlayerVehicleID(playerid) == Buhnenautos[i][v_id])
    {
    price = Buhnenautos[i][CarPreis];
    co1 = Buhnenautos[i][Color1];
    co2 = Buhnenautos[i][Color2];
    mmautomodel = Buhnenautos[i][mautomodel];
    }
    }
    new dform[128], i = CreateNumber(), Float:rrx, Float:rry, Float:rrz, Float:rra;
    format(dform,sizeof dform,"/Cars/%d.ini",i);
    for(new k = 0; k<sizeof CarRanges; k++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 50.0, CarRanges[k][0],CarRanges[k][1],CarRanges[k][2]))
    {
    rrx = CarSpawns[k][0];
    rry = CarSpawns[k][1];
    rrz = CarSpawns[k][2];
    rra = CarSpawns[k][3];
    }
    }
    if(!fexist(dform))
    {
    if(GetPlayerMoney(playerid) > price)
    {
    if(Spieleer[playerid][Own] < MaxCarsOwn)
    {
    GivePlayerMoney(playerid, -price);
    SendClientMessage(playerid, COLOR_YELLOW, "Glückwunsch zu deinem neuen Fahrzeug!");
    // PlayerCar[i][NS] = Create3DTextLabel("", COLOR_NS, 0.0, 0.0, 0.0, 50.0, 0, 0);
    PlayerCar[i][pxx2] = rrx;
    PlayerCar[i][pyy2] = rry;
    PlayerCar[i][pzz2] = rrz;
    PlayerCar[i][paa2] = rra;
    PlayerCar[i][c1] = co1;
    PlayerCar[i][c2] = co2;
    PlayerCar[i][automodel] = mmautomodel;
    PlayerCar[i][NSID] = i;
    PlayerCar[i][BuyPrice] = price;
    PlayerCar[i][Lock] = 1;
    format(PlayerCar[i][Key], MAX_PLAYER_NAME, "%s", pn(playerid));
    PlayerCar[i][viddd] = CreateVehicle(PlayerCar[i][automodel], PlayerCar[i][pxx2], PlayerCar[i][pyy2], PlayerCar[i][pzz2], PlayerCar[i][paa2], PlayerCar[i][c1], PlayerCar[i][c2], -1);
    format(PlayerCar[i][ABC], 11, "%s", CreateABC());
    format(str, sizeof str, "%s-%s-0%d", NSPraefix, PlayerCar[i][ABC], PlayerCar[i][NSID]);
    // Update3DTextLabelText(PlayerCar[i][NS], COLOR_NS, str);
    // Attach3DTextLabelToVehicle(PlayerCar[i][NS], PlayerCar[i][viddd], 0.0, 0.0, NSHoehe);
    SetVehicleNumberPlate(PlayerCar[i][viddd], str);
    TogglePlayerControllable(playerid, 1);
    RemovePlayerFromVehicle(playerid);
    new File:f; f=fopen(dform,io_write); if(f) { fclose(f); }
    Spieleer[playerid][Own] += 1;//TEST
    if(INI_Open("/Cars/Players.ini"))
    {
    new str9[68];
    format(str9, sizeof str9, "%s: Owner ", pn(playerid));
    INI_WriteInt(str9, Spieleer[playerid][Own]);
    print("SpieleerOWN gespeichert!");
    INI_Save();
    INI_Close();
    }

    }
    else
    {
    new string[50];
    format(string, sizeof string, "Du hast schon %d Fahrzeuge!", MaxCarsOwn);
    SendClientMessage(playerid, COLOR_GREY, string);
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, 1);
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast nicht genug Geld!");
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, 1);
    }
    }
    }
    if(!response)
    {
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid, 1);
    }
    }


    Autoverkaufen:


    if (strcmp("/Autoverkaufen", cmdtext, true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    for(new i = 0; i<MAX_VEHICLES; i++)
    {
    if(PlayerCar[i][viddd] == GetPlayerVehicleID(playerid))
    {
    if(!strcmp(PlayerCar[i][Key], pn(playerid), false))
    {
    new sform[128];
    format(sform,sizeof sform,"/Cars/%d.ini",PlayerCar[i][NSID]);
    if(fexist(sform))
    {
    print("File existiert");
    GivePlayerMoney(playerid, PlayerCar[i][BuyPrice]/2);
    new pm = GetVehicleModel(PlayerCar[i][viddd]);
    pm -= 400;
    format(str, sizeof str, "Du hast deinen %s für %d verkauft!", PlayerVehicle[pm], PlayerCar[i][BuyPrice]/2);
    SendClientMessage(playerid, COLOR_RED, str);
    DestroyVehicle(PlayerCar[i][viddd]);
    PlayerCar[i][BuyPrice] = 0;
    PlayerCar[i][pxx2] = 0;
    PlayerCar[i][pyy2] = 0;
    PlayerCar[i][pzz2] = 0;
    PlayerCar[i][paa2] = 0;
    format(PlayerCar[i][Key], MAX_PLAYER_NAME, "");
    PlayerCar[i][automodel] = 0;
    PlayerCar[i][c1] = 0;
    PlayerCar[i][c2] = 0;
    Spieleer[playerid][Own] --;
    format(PlayerCar[i][ABC], 11, "");
    if(INI_Open("/Cars/Players.ini"))
    {
    new str9[68];
    format(str9, sizeof str9, "%s: Owner ", pn(playerid));
    INI_WriteInt(str9, Spieleer[playerid][Own]);
    print("SpieleerOWN gespeichert!");
    INI_Save();
    INI_Close();
    }
    if(INI_Open(sform))
    {
    INI_Remove(sform);
    INI_Save();
    INI_Close();
    }
    return 1;
    }
    else
    {
    return 1;
    }
    }
    else
    {
    return SendClientMessage(playerid, COLOR_GREY, "Dieses Fahrzeug gehört dir nicht!");
    }
    }
    }
    }
    return 1;
    }


    Ich hoffe ihr könnt mir helfen :(

    Abend :)


    Ich habe ein kleines problem und zwar möchte ich gerne eine Kleine Serverinfo mit Textdraws machen die sich ständig abwechseln nur das Problem ist wenn ein Textdraw zum Beispiel der Text: Für Hilfe Tippe /help kommt kommt ganß schnell ein anderer direkt hinterher .. also i.wie dauert das keine 10 sek bis eins weg ist und ein neues kommt sondern manchmal geht das aufeinmal schnell..


    ich hoffe ihr wisst wie ich das meine und könnt mir helfen :(



    Bei OnPlayerLogin:


    SetTimer("serverNews2", 10000, 1);


    und hier die passende Function dazu


    Function serverNews2()
    {
    for (new i=0; i< MAX_PLAYERS; i++)
    {
    if(newswechsel2 == 1)
    {
    TextDrawHideForPlayer(i, Textdraw8);
    TextDrawShowForPlayer(i, Textdraw9);
    TextDrawHideForPlayer(i, Textdraw10);
    TextDrawHideForPlayer(i, Textdraw11);
    newswechsel2 = 2;
    }
    else if(newswechsel2 == 2)
    {
    TextDrawHideForPlayer(i, Textdraw8);
    TextDrawHideForPlayer(i, Textdraw9);
    TextDrawShowForPlayer(i, Textdraw10);
    TextDrawHideForPlayer(i, Textdraw11);
    newswechsel2 = 3;
    }
    else if(newswechsel2 == 3)
    {
    TextDrawHideForPlayer(i, Textdraw8);
    TextDrawHideForPlayer(i, Textdraw9);
    TextDrawHideForPlayer(i, Textdraw10);
    TextDrawShowForPlayer(i, Textdraw11);
    newswechsel2 = 1;
    }
    }
    return 1;
    }



    Mfg.

    Hey Leute,


    Ich habe ein Problem und zwar möchte ich gerne das beim login ein Bild Kommt bzw mein Camera Effekt nur leider kommt davon nichts!


    Wenn ich es so mache :


    public OnPlayerRequestClass(playerid, classid) // Hier bin ich
    {
    // SetSpawnInfo( playerid,7, 7, Zivilande,358.1081,0,0,0,0,0,0);
    // SpawnPlayer(playerid);
    SetupPlayerForClassSelection(playerid);
    SetPlayerPos(playerid,1641.8975,-1628.9330,76.2188);
    InterpolateCameraPos(playerid, 1654.5193,-1701.9680,84.3091, 1715.5193,-1640.2092,90.7315, 10000, 2);
    InterpolateCameraLookAt(playerid, 1654.5204,-1700.9619,84.1690, 1714.5153,-1640.1412,90.5064, 10000, 2);
    return 1;
    }


    Kommt der Effekt erst nachdem man die Spawn-Taste gedrückt hat und geht auch nicht mehr weg.




    Wenn ich es jedoch so mache spawnt die Person direkt ohne ein Bild und ohne das man die Spawn Taste drücken muss :


    public OnPlayerRequestClass(playerid, classid)
    {
    SetupPlayerForClassSelection(playerid);
    SetSpawnInfo( playerid,7, 7, Zivilande,358.1081,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    return 1;
    }



    Ich hoffe ihr könnt mir helfen :(

    Der Checkpoints werden so erstellt :


    new Float:Checkpoints2[15][3] ={
    {11.0,11.0,11.0},
    {1618.7368,-1617.0007,13.1052},
    {1641.7394,-1593.2900,12.9959},
    {1659.3987,-1548.5968,12.9410},
    {1660.8060,-1455.9927,12.9461},
    {1702.4171,-1440.6176,12.9409},
    {1825.1826,-1461.0327,12.9106},
    {1847.8026,-1493.5520,12.9197},
    {1821.4395,-1593.6122,12.9063},
    {1819.3512,-1708.4724,12.9407},
    {1756.2461,-1730.8702,12.9491},
    {1752.3213,-1641.5814,12.9410},
    {1699.7485,-1590.0297,12.9348},
    {1616.5547,-1619.4080,13.0956},
    {1617.7633,-1656.9692,13.1100}
    };


    new CheckpointS[MAX_PLAYERS] = 0;
    new CheckpointSS[MAX_PLAYERS] = 0;



    CheckpointSS[playerid] += 1;
    SetPlayerCheckpoint(playerid, Checkpoints2[CheckpointSS[playerid]][0],Checkpoints2[CheckpointSS[playerid]][1],Checkpoints2[CheckpointSS[playerid]][2], 5.0);

    Guten Abend,


    Ich habe leider ein riesen Problem mit den Checkpoints und weiß kein Rat mehr ..


    Ich habe ein Job Straßenfeger gemacht wo man Checkpoints abfahren muss. Nur das Problem ist das man mit /strassenfeger den Job startet und dann einfach /home eingeben kann und der Checkpoint dann am Haus ist fährt man dann da durch bekommen die User Geld vom Straßenfeger ..


    Ich hoffe ihr wisst wie ich das meine und könnt mir helfen.. :( ist wirklich dringen :/



    Mfg.

    Guten Abend aller seits :)


    Ich hätte da mal eine kleine Frage und zwar hatte ich geplant bei meinem Geldtransporter System es so zumachen das wenn eine Gang den Polizisten am Steuer raushaut und der Polizist 10 sekunden lang draußen ist die Gang zu einem anderen Checkpoint fahren muss mit dem Transporter und dort gegen Einlösung des Transporters Geld bekommt.



    Nur ist das ganße in der Umsetzung mir ein kleines Rätsel :/ Vill habt ihr ja Vorschläge/ Tipps für mich.


    Mfg

    Hey Leute,


    Ich habe ein Problem und zwar wollte ich das sich die User gegenseitig auf der Minimap sehen. Ich hatte dann hier ein bissien die Suchfunktion benutzt und gehört das, dass hier rein muss : ShowPlayerMarkers(1);




    Nur war das genauso drin und es funktioniert immer noch nicht :/

    Hi Leute,


    Ich wollte das wenn einer in der Drogenmission ist und durch ein Checkpoint fährt die Koords von der Person bekommen nur klappt das nicht so ganß ich hoffe ihr könnt mir helfen. Ich glaube so wie ich das gemacht habe ist es Quatsch :D


    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i))
    {
    if(Dealersystemmission[i] == 1)
    {
    new Float:XF,Float:YF,Float:ZF;
    GetPlayerPos(i, XF,YF,ZF);
    SetPlayerCheckpoint(i, XF,YF,ZF, 6);
    }
    SendClientMessage(i, TEAM_CYAN_COLOR,"*An alle Einheiten der Drogendealer wurde geortet!");
    SendClientMessage(i, TEAM_CYAN_COLOR,"*Wir haben ihnen die Koords auf die Minimap gesendet.");
    }
    }
    }

    Nee ich glaube das ist so schon richtig ..


    Ich Versuchs nochmal mit hilfe von ein paar Bildern mein Problem zu erklären ;(


    Diese Zeile Verursacht das ganße Problem :
    if(BizzInfo[bizzid][pProds] <= 0) return SendClientMessage(i,COLOR_GRAD2," Bizz: Du hast zu wenig Prods");


    Und hier ist noch mal der Komplette Code vom Bizz System beim Payday

    Spoiler anzeigen
    if(Keyy[i] == 1)
    {
    for(new bizzid=1;bizzid<MAX_BIZZES;bizzid++)
    {
    if(BizzInfo[bizzid][pProds] <= 0) return SendClientMessage(i,COLOR_GRAD2," Bizz: Du hast zu wenig Prods");
    if(BizzInfo[bizzid][bpreis] > 0 && BizzInfo[bizzid][bpreis] < 20000)
    {
    new Einnahmen = random(1500);
    new Ausgaben = random(400);
    format(string, sizeof(string), " Geschäft: Einnahmen: +$%d Ausgaben: -$%d",Einnahmen,Ausgaben);
    SendClientMessage(i,COLOR_GRAD2,string);
    PlayerInfo[i][pAccount] -= Ausgaben;
    PlayerInfo[i][pAccount] += Einnahmen;
    }
    if(BizzInfo[bizzid][bpreis] > 20000 && BizzInfo[bizzid][bpreis] < 40000)
    {
    new Einnahmen1 = random(2500);
    new Ausgaben1 = random(600);
    format(string, sizeof(string), " Geschäft: Einnahmen: +$%d Ausgaben: -$%d",Einnahmen1,Ausgaben1);
    SendClientMessage(i,COLOR_GRAD2,string);
    PlayerInfo[i][pAccount] -= Ausgaben1;
    PlayerInfo[i][pAccount] += Einnahmen1;
    }
    if(BizzInfo[bizzid][bpreis] > 40000 && BizzInfo[bizzid][bpreis] < 60000)
    {
    new Einnahmen2 = random(3500);
    new Ausgaben2 = random(750);
    format(string, sizeof(string), " Geschäft: Einnahmen: +$%d Ausgaben: -$%d",Einnahmen2,Ausgaben2);
    SendClientMessage(i,COLOR_GRAD2,string);
    PlayerInfo[i][pAccount] -= Ausgaben2;
    PlayerInfo[i][pAccount] += Einnahmen2;
    }
    if(BizzInfo[bizzid][bpreis] > 60000 && BizzInfo[bizzid][bpreis] < 800000)
    {
    new Einnahmen3 = random(4500);
    new Ausgaben3 = random(850);
    format(string, sizeof(string), " Geschäft: Einnahmen: $%d Ausgaben: -$%d",Einnahmen3,Ausgaben3);
    SendClientMessage(i,COLOR_GRAD2,string);
    PlayerInfo[i][pAccount] -= Ausgaben3;
    PlayerInfo[i][pAccount] += Einnahmen3;
    }
    }
    }


    Ohne diese Zeile die bewirken soll das wenn das Bizz von der Person keine Produkte mehr hat die Person auch kein Geld mehr bekommt , Funktioniert alles das sieht dann so aus :


    Wenn ich jedoch die Zeile wieder einbaue:
    if(BizzInfo[bizzid][pProds] <= 0) return SendClientMessage(i,COLOR_GRAD2," Bizz: Du hast zu wenig Prods");


    Und egal ob mein oder ein anderes Bizz zuwenig Produkte hat ich bekomme trotzdem die Nachricht . Außerdem verschwinden die Zeilen darunter Also:
    Hotel- Gebühren Fahrezug Steuern .. (siehe vorheriges Bild)


    Und wenn beide Bizz´s genug Produkte haben sieht es so aus ;(



    Ich hoffe ihr könnt mir helfen ich bin echt schon seit 2 Tagen total am verzweifeln ;(

    So hatte ich es auch schon Probiert ..


    Da kommt trotzdem 3 Mal die Message weil der die ja für jedes Bizz sendet ich will aber nur das der den Status des jeweiligen Bizz´s nur dem Besitzer Sendet

    Hey Leute,


    Ich habe ein riesen Problem und bin voll am verzweifeln ;(


    Ich wollte jetzt bei meinem Payday einstellen das wenn man keine Prods mehr hat der Text kommt Bizz: Du hast keine Produkte mehr nur kommt der Text wenn andere Bizz´s auch keine Prods mehr haben 2 mal oder mehr mals ich habe echt schon alles ausprobiert..


    Hier muss der fehler liegen :


    if(BizzInfo[bizzid][pProds] <= 0) continue; SendClientMessage(i,COLOR_GRAD2,"Bizz: Du hast keine Produkte mehr");


    Und hier mal das alles:
    if(Keyy[i] == 1)
    {
    for(new bizzid=1;bizzid<MAX_BIZZES;bizzid++)
    {
    if(BizzInfo[bizzid][pProds] <= 0) continue; SendClientMessage(i,COLOR_GRAD2,"G");
    if(BizzInfo[bizzid][bpreis] > 0 && BizzInfo[bizzid][bpreis] < 20000)
    {
    new Einnahmen = random(1500);
    new Ausgaben = random(400);
    format(string, sizeof(string), " Geschäft: Einnahmen: +$%d Ausgaben: -$%d",Einnahmen,Ausgaben);
    SendClientMessage(i,COLOR_GRAD2,string);
    PlayerInfo[i][pAccount] -= Ausgaben;
    PlayerInfo[i][pAccount] += Einnahmen;
    }
    if(BizzInfo[bizzid][bpreis] > 20000 && BizzInfo[bizzid][bpreis] < 40000)
    {
    new Einnahmen1 = random(2500);
    new Ausgaben1 = random(600);
    format(string, sizeof(string), " Geschäft: Einnahmen: +$%d Ausgaben: -$%d",Einnahmen1,Ausgaben1);
    SendClientMessage(i,COLOR_GRAD2,string);
    PlayerInfo[i][pAccount] -= Ausgaben1;
    PlayerInfo[i][pAccount] += Einnahmen1;
    }
    if(BizzInfo[bizzid][bpreis] > 40000 && BizzInfo[bizzid][bpreis] < 60000)
    {
    new Einnahmen2 = random(3500);
    new Ausgaben2 = random(750);
    format(string, sizeof(string), " Geschäft: Einnahmen: +$%d Ausgaben: -$%d",Einnahmen2,Ausgaben2);
    SendClientMessage(i,COLOR_GRAD2,string);
    PlayerInfo[i][pAccount] -= Ausgaben2;
    PlayerInfo[i][pAccount] += Einnahmen2;
    }
    if(BizzInfo[bizzid][bpreis] > 60000 && BizzInfo[bizzid][bpreis] < 800000)
    {
    new Einnahmen3 = random(4500);
    new Ausgaben3 = random(850);
    format(string, sizeof(string), " Geschäft: Einnahmen: $%d Ausgaben: -$%d",Einnahmen3,Ausgaben3);
    SendClientMessage(i,COLOR_GRAD2,string);
    PlayerInfo[i][pAccount] -= Ausgaben3;
    PlayerInfo[i][pAccount] += Einnahmen3;
    }
    }
    }