Es geht immernochnicht -.- Ich fand kein dini_GetInt und kein dini_IntGet, deswegen holte ich mir einen Stock.
Es geht nicht -.-
Beiträge von MomoGrimm
-
-
Ok, ich denke es wird klappen. Danke
// EDIT 1
Es geht iwie doch nicht, ka wieso -
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 gezeigtZum 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=Test6Bei OnDialogResponse passiert nichts, wird einfach nur Dialog geschlossen.
Hoffe ihr könnt mir helfen
Mfg:
MomoGrimm Momo -
Nutze am besten das hier:
http://wiki.sa-mp.com/wiki/SetSpawnInfo -
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
-
Ok, Danke, hat sonst noch wer Ideen? Ich sitze gerade an einer Fraktionskasse.
-
Ich weiß nicht wo es hin soll,
Was fändet ihr, sollte ein Leader in der Fraktion (dynamisch ingame) einstellen können? Carsystem schon fertig -
Die Fraktionen werden am Ende geladen Mit der Fraktion unter Loadallfrakcars meinte ich z.B. Spawnallfrakcars. Trotzdem Danke Ich werde es einfach so machen, dass die Fahrzeuge mit einem Timer geladen werden. (23 Fahrzeuge = ca. 3 - 3 1/2 Sekunden)
-
Das Problem ist: Es muss ja erst geladen werden, bevor die Fahrzeuge gespawnt werden.
Ich denke es liegt an der Auslastung, bei einem Fahrzeug geht es perfekt.
ich mache einfach einen Timer für jedes Fz. -
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?
-
Ololol bin ich dumm. Vielen Dank
-
-
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 lineCompilation 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.