Beiträge von MomoGrimm

    Mein Problem ist:
    Wenn ich überprüfe, ob in der Fraktionskasse genügend Geld ist, ist nie genug drinne. Obwohl es auf 100000 gesetzt ist.


    Hier der Ladecode
    if(dini_Int(DiniDatei,"Frakkasse") - 2000 < 0) return SendClientMessage(playerid,0xFF0000FF,"Es befindet sich nicht genug Geld in der Fraktionskasse!"); // Abfrage
    dini_IntSet(DiniDatei,"Frakkasse",dini_Int(DiniDatei,"Frakkasse") - 2000); // Abziehen


    Es ist so in Dini abgespeichert:
    Frakkasse=100000

    // EDIT - Geht nicht


    Es geht iwie immer noch nicht, ich habe es so gemacht:


    if(GetPlayerFraktion(playerid) != 0)
    {
    new pidfrak = GetPlayerFraktion(playerid);
    new DiniDatei[256];
    format(DiniDatei,sizeof DiniDatei,"/Fraktionen/Fraktion %d.ini",pidfrak);
    new Zeile1[256],Zeile2[256],Zeile3[256],Zeile4[256],Zeile5[256],Zeile6[256],Nachricht[2048];
    format(Zeile1,256,"%s",dini_Get(DiniDatei,"BegrueßungZeile1"));
    format(Zeile2,256,"%s",dini_Get(DiniDatei,"BegrueßungZeile2"));
    format(Zeile3,256,"%s",dini_Get(DiniDatei,"BegrueßungZeile3"));
    format(Zeile4,256,"%s",dini_Get(DiniDatei,"BegrueßungZeile4"));
    format(Zeile5,256,"%s",dini_Get(DiniDatei,"BegrueßungZeile5"));
    format(Zeile6,256,"%s",dini_Get(DiniDatei,"BegrueßungZeile6"));
    strcat(Nachricht,Zeile1);
    strcat(Nachricht,"\n");
    strcat(Nachricht,Zeile2);
    strcat(Nachricht,"\n");
    strcat(Nachricht,Zeile3);
    strcat(Nachricht,"\n");
    strcat(Nachricht,Zeile4);
    strcat(Nachricht,"\n");
    strcat(Nachricht,Zeile5);
    strcat(Nachricht,"\n");
    strcat(Nachricht,Zeile6);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Fraktionsnachricht",Nachricht,"Okay","");
    }


    // EDIT 2


    Ich habe es als Befehl gemacht, und es kommt einfach "Unknown Command". Keine Sorge, ich habe returnt.
    Ich glaube mein Callback stürzt ab; Es war bei LoadAllFrakCars auch so. Vll. liest es zuviel an der gleichen Zeit aus oder so.


    // EDIT 3
    Ich habe es nur mit einer Abfrage gemacht, und dass es mit SendClientMessage kommt, aber es geht immernoch nicht.

    Kurz und Knapp:


    Wenn ein Spieler Spawnen soll, soll er die vom Leader gemachten 6 Zeilen lesen:
    Wenn ich spawne wird es aber nicht gezeigt



    Zum Anzeigen bei OnPlayerSpawn:
    if(GetPlayerFraktion(playerid) != 0)
    {
    new pidfrak = GetPlayerFraktion(playerid);
    new DiniDatei[256];
    format(DiniDatei,sizeof DiniDatei,"/Fraktionen/Fraktion %d.ini",pidfrak);
    new Zeile1[256],Zeile2[256],Zeile3[256],Zeile4[256],Zeile5[256],Zeile6[256],Nachricht[2048];
    Zeile1 = dini_Get(DiniDatei,"BegrueßungZeile1");
    Zeile2 = dini_Get(DiniDatei,"BegrueßungZeile2");
    Zeile3 = dini_Get(DiniDatei,"BegrueßungZeile3");
    Zeile4 = dini_Get(DiniDatei,"BegrueßungZeile4");
    Zeile5 = dini_Get(DiniDatei,"BegrueßungZeile5");
    Zeile6 = dini_Get(DiniDatei,"BegrueßungZeile6");
    strcat(Nachricht,Zeile1);
    strcat(Nachricht,"\n");
    strcat(Nachricht,Zeile2);
    strcat(Nachricht,"\n");
    strcat(Nachricht,Zeile3);
    strcat(Nachricht,"\n");
    strcat(Nachricht,Zeile4);
    strcat(Nachricht,"\n");
    strcat(Nachricht,Zeile5);
    strcat(Nachricht,"\n");
    strcat(Nachricht,Zeile6);
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Fraktionsnachricht",Nachricht,"Okay","");
    }
    return 1;
    }


    So ist es in Dini abgespeichert:
    BegrueßungZeile1=Test
    BegrueßungZeile2=Test2
    BegrueßungZeile3=Test3
    BegrueßungZeile4=Test4
    BegrueßungZeile5=Test5
    BegrueßungZeile6=Test6


    Bei OnDialogResponse passiert nichts, wird einfach nur Dialog geschlossen.


    Hoffe ihr könnt mir helfen :)


    Mfg:
    MomoGrimm || Momo

    Keine Ahnung was ich noch machen könnte, aber ich finde es ist zu wenig ^^


    new DiniDatei[256];
    format(DiniDatei,sizeof DiniDatei,"/Fraktionen/Fraktion %d.ini",i);


    if(!dini_Exists(DiniDatei))
    {
    dini_Create(DiniDatei);
    dini_IntSet(DiniDatei,"Frakkasse",100000);

    dini_IntSet(DiniDatei,"LohnRank1",1000);
    dini_IntSet(DiniDatei,"LohnRank2",2000);
    dini_IntSet(DiniDatei,"LohnRank3",3000);
    dini_IntSet(DiniDatei,"LohnRank4",4000);
    dini_IntSet(DiniDatei,"LohnRank5",5000);
    dini_IntSet(DiniDatei,"LohnRank6",6000);
    dini_IntSet(DiniDatei,"LohnRank7",7000);
    dini_IntSet(DiniDatei,"LohnRank8",7500);
    dini_IntSet(DiniDatei,"LohnRank9",8000);
    dini_IntSet(DiniDatei,"LohnRankCoLeader",9000);
    dini_IntSet(DiniDatei,"LohnRankLeader",10000);


    dini_IntSet(DiniDatei,"SkinRank1",100000);
    dini_IntSet(DiniDatei,"SkinRank2",100000);
    dini_IntSet(DiniDatei,"SkinRank3",100000);
    dini_IntSet(DiniDatei,"SkinRank4",100000);
    dini_IntSet(DiniDatei,"SkinRank5",100000);
    dini_IntSet(DiniDatei,"SkinRank6",100000);
    dini_IntSet(DiniDatei,"SkinRank7",100000);
    dini_IntSet(DiniDatei,"SkinRank8",100000);
    dini_IntSet(DiniDatei,"SkinRank9",100000);
    dini_IntSet(DiniDatei,"SkinCoLeader",100000);
    dini_IntSet(DiniDatei,"SkinLeader",100000);
    dini_IntSet(DiniDatei,"MindestRankGov",100000);
    dini_IntSet(DiniDatei,"MindestRankInvite",100000);
    dini_IntSet(DiniDatei,"MindestRankUninvite",100000);
    dini_IntSet(DiniDatei,"MindestRankEditRanknames",100000);
    dini_IntSet(DiniDatei,"MindestRankEditFahrzeug",100000);
    dini_IntSet(DiniDatei,"MindestRankDeleteFahrzeug",100000);
    dini_IntSet(DiniDatei,"MindestRankBuyFahrzeug",100000);
    dini_IntSet(DiniDatei,"MindestRankEditMindestRank",100000);

    dini_Set(DiniDatei,"Rankname1","Changeme1");
    dini_Set(DiniDatei,"Rankname2","Changeme2");
    dini_Set(DiniDatei,"Rankname3","Changeme3");
    dini_Set(DiniDatei,"Rankname4","Changeme4");
    dini_Set(DiniDatei,"Rankname5","Changeme5");
    dini_Set(DiniDatei,"Rankname6","Changeme6");
    dini_Set(DiniDatei,"Rankname7","Changeme7");
    dini_Set(DiniDatei,"Rankname8","Changeme8");
    dini_Set(DiniDatei,"Rankname9","Changeme9");
    dini_Set(DiniDatei,"RanknameCoLeader","ChangemeCoLeader");
    dini_Set(DiniDatei,"RanknameLeader","ChangemeLeader");

    dini_Set(DiniDatei,"BegrueßungZeile1","Changeme1");
    dini_Set(DiniDatei,"BegrueßungZeile2","Changeme2");
    dini_Set(DiniDatei,"BegrueßungZeile3","Changeme3");
    dini_Set(DiniDatei,"BegrueßungZeile4","Changeme4");
    dini_Set(DiniDatei,"BegrueßungZeile5","Changeme5");
    dini_Set(DiniDatei,"BegrueßungZeile6","Changeme6");

    dini_FloatSet(DiniDatei,"SpawnX",0.000000);
    dini_FloatSet(DiniDatei,"SpawnY",0.000000);
    dini_FloatSet(DiniDatei,"SpawnZ",0.000000);
    dini_FloatSet(DiniDatei,"SpawnRotation",0.000000);
    dini_FloatSet(DiniDatei,"ClothesX",0.000000);
    dini_FloatSet(DiniDatei,"ClothesY",0.000000);
    dini_FloatSet(DiniDatei,"ClothesZ",0.000000);
    if(i == 1 || i == 2 || i == 3 || i == 4 || i == 5 || i == 6 || i == 8)
    {
    dini_FloatSet(DiniDatei,"DutyX",0.000000); /////////////////////////////////
    dini_FloatSet(DiniDatei,"DutyY",0.000000); //Duty nur für Staatsfraktionen//
    dini_FloatSet(DiniDatei,"DutyZ",0.000000); /////////////////////////////////
    }
    }


    Ich sehe es schon kommen - Ich werde mehrere Wochen dran sitzen ^^

    Kurz und Knapp:
    Es sieht z.B. so aus:
    OnGameModeInit
    {
    Irgendeine Sache // Sie funktioniert
    LoadAllFrakCars(1); // 1 = Frakid:LSPD || Keine Ahnung ob es hier abstürzt oder erst das danach
    Irgendeine Sache // Funktioniert nicht, egal was hinkommt.


    }


    Stock: LoadAllFrakCars:
    stock LoadAllFrakCars(frakid)
    {
    for(new i=0;i<24;i++)
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionen/Autos/Fraktion %d/Slot %d.ini",frakid,i);


    frakcarmodel[frakid][i] = dini_Int(Fraktauto,"ModelID");
    frakcarcolor1[frakid][i] = dini_Int(Fraktauto,"Farbe1");
    frakcarcolor2[frakid][i] = dini_Int(Fraktauto,"Farbe2");
    frakcarposx[frakid][i] = dini_Float(Fraktauto,"PosX");
    frakcarposy[frakid][i] = dini_Float(Fraktauto,"PosY");
    frakcarposz[frakid][i] = dini_Float(Fraktauto,"PosZ");
    frakcarrot[frakid][i] = dini_Float(Fraktauto,"Rotation");
    frakcarnitro[frakid][i] = dini_Int(Fraktauto,"Nitro");
    frakcarhydr[frakid][i] = dini_Int(Fraktauto,"Hydraulik");
    }
    return 1;
    }


    Liegt es vll. an einer Auslastung oder so?

    Ich habe [?noch?] keinen Enum gemacht, da ich noch nicht so viel Erfahrung damit habe.


    Hier der Code:


    // Dient nur zum Spawnen, Abfragen usw. der Fahrzeuge
    new frakcars[14][23]; // Zivilist + 13 Fraktionen mit jew. 23 Fahrzeugen


    // Fz-Eigenschaften
    new frakcarmodel[14][23]; // Für alle 13 Fraktionen das Modell des Fahrzeuges
    new frakcarcolor1[14][23]; // Für alle 13 Fraktionen die 1.Farbe jedes Fahrzeuges
    new frakcarcolor2[14][23]; // Für alle 13 Fraktionen die 2.Farbe jedes Fahrzeuges
    new frakcarposx[14][23]; // Für alle 13 Fraktionen die X-Position jedes Fahrzeuges
    new frakcarposy[14][23]; // Für alle 13 Fraktionen die Y-Position jedes Fahrzeuges
    new frakcarposzx[14][23]; // Für alle 13 Fraktionen die Z-Position jedes Fahrzeuges
    new frakcarrot[14][23]; // Für alle 13 Fraktionen die Drehung jedes Fahrzeuges
    new frakcarnitro[14][23]; // Für alle 13 Fraktionen Nitro für jedes Fahrzeuges
    new frakcarhydr[14][23]; // Für alle 13 Fraktionen Hydraulik für jedes Fahrzeuges

    Ich habe ein Problem, ich versuche Fraktionsfahrzeuge nach dem jew. gespeicherten Schema zu spawnen. Als ich den Stock SpawnFrakCar nutzte, kamen die Errors, wenn ich es wegmache, sidn die Errors auch weg.


    Hier die Errors:
    C:\Users\Momo\Desktop\Grand Theft Auto San Andreas\SAMP\Server 1\gamemodes\MomoGrimm.pwn(1084) : error 017: undefined symbol "frakcarposz"
    C:\Users\Momo\Desktop\Grand Theft Auto San Andreas\SAMP\Server 1\gamemodes\MomoGrimm.pwn(1084) : warning 215: expression has no effect
    C:\Users\Momo\Desktop\Grand Theft Auto San Andreas\SAMP\Server 1\gamemodes\MomoGrimm.pwn(1084) : error 001: expected token: ";", but found "]"
    C:\Users\Momo\Desktop\Grand Theft Auto San Andreas\SAMP\Server 1\gamemodes\MomoGrimm.pwn(1084) : error 029: invalid expression, assumed zero
    C:\Users\Momo\Desktop\Grand Theft Auto San Andreas\SAMP\Server 1\gamemodes\MomoGrimm.pwn(1084) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    Hier bei OnVehicleSpawn
    public OnVehicleSpawn(vehicleid)
    {
    for(new i= 0; i < 23; i++)
    {
    for(new i2= 1; i2 < 13; i2++)
    {
    if(vehicleid == frakcars[i2][i])
    {
    SpawnFrakCar(i2,i);
    }
    }
    }
    return 1;
    }


    Hier der Stock:


    stock SpawnFrakCar(frakid,carid) //[Todo] || [SUCHE]SpawnFrakCar
    {
    DestroyVehicle(frakcars[frakid][carid]);
    CreateVehicle(frakcarmodel[frakid][carid],frakcarposx[frakid][carid],frakcarposy[frakid][carid],frakcarposz[frakid][carid],frakcarrot[frakid][carid],frakcarcolor1[frakid][carid],frakcarcolor2[frakid][carid],86400 * 1000);
    return 1;
    }


    Fehlerklärbär hat nichts genützt - Hoffe ihr könnt mir helfen.
    Mfg:
    MomoGrimm || Momo

    Ich habe folgende Frage:


    Wie kann ich folgende Sachen schnell abspeichern?
    new frakcarmodel[14][23]; // Für alle 13 Fraktionen das Modell des Fahrzeuges
    new frakcarcolor1[14][23]; // Für alle 13 Fraktionen die 1.Farbe jedes Fahrzeuges
    new frakcarcolor2[14][23]; // Für alle 13 Fraktionen die 2.Farbe jedes Fahrzeuges
    new frakcarposx[14][23]; // Für alle 13 Fraktionen die X-Position jedes Fahrzeuges
    new frakcarposy[14][23]; // Für alle 13 Fraktionen die Y-Position jedes Fahrzeuges
    new frakcarposzx[14][23]; // Für alle 13 Fraktionen die Z-Position jedes Fahrzeuges
    new frakcarrot[14][23]; // Für alle 13 Fraktionen die Drehung jedes Fahrzeuges
    new frakcarnitro[14][23]; // Für alle 13 Fraktionen Nitro für jedes Fahrzeuges
    new frakcarhydr[14][23]; // Für alle 13 Fraktionen Hydraulik für jedes Fahrzeuges
    // Die erste Zahl ist für die Fraktion, die zweite für jedes einzelnde Fahrzeug
    // Es soll am besten so abgespeichert werden: Fraktion 1, Fraktion 2 etc.


    Ich bitte um schnelle Antwort :) Danke im Voraus!

    Am besten erstmal das hier:
    new Todespickup[MAX_PLAYERS];
    forward RemoveTodesPickup(playerid)


    Dann einfach bei OnPlayerDeath
    Todespickup[MAX_PLAYERS] = CreatePickup blabla
    SetTimerEx("RemoveTodesPickup",!!ZEITANGEBEN!!,0,"i",playerid);


    Und zum entfernen:
    public RemoveTodesPickup(playerid)
    {
    DestroyPickup(Todespickup[playerid])
    }


    Ich weiß nicht ob es so geht, ich habe es nur schnell gemacht.