Wie Speichere und Lade ich dann den NAMEN in der Fraktionsdatei ?
Beiträge von TheTutoFreak
-
-
Speichere ich den Leader dann so ?
PlayerInfo[fraktionsid][pLeader] = dini_Int(Fraktionsdatei, "Leader"); -
Danke ich bekomm jetzt aber noch einen Warning: Tag mismatch
frakGeschlossen[fraktionsid] = dini_Int(Fraktionsdatei, "frakGeschlossen"); -
Emm *pfeif* ich habe keine Laden funktion *pfeif*
-
Es wurde folgendes geprintet:
id: 0 / Geschlossen: 0
id: 25 / Geschlossen: 0 -
Nein ich werde auch in der Fraktion gespawn wo ich war...
-
Das habe ich ja schon beim Spawnen gemacht...
if(PlayerInfo[playerid][pEingeloggt] == 0)
{
new string[128],name[MAX_PLAYER_NAME],fID = PlayerInfo[playerid][pFraktion];
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"{FFFFFF}=> {FF0073}%s {999999}hat den Server betreten. Herzlich Willkommen!",name);
SendClientMessageToAll(Grau,string);
SetPlayerPos(playerid,FraktSpawns[fID][PosX],FraktSpawns[fID][PosY],FraktSpawns[fID][PosZ]);
SetPlayerFacingAngle(playerid,FraktSpawns[fID][PosA]);
SetCameraBehindPlayer(playerid);
SetPlayerColor(playerid,FraktSpawns[fID][Color]);
SetPlayerSkin(playerid,FraktSpawns[fID][Skin]);
PlayerInfo[playerid][pEingeloggt] = 1;
new id = PlayerInfo[playerid][pFraktion];
if(frakGeschlossen[id] && id != 0)
{
PlayerInfo[playerid][pFraktion] = 0;
PlayerInfo[playerid][pMember] = 0;
PlayerInfo[playerid][pLeader] = 0;
PlayerInfo[playerid][pRank] = 0;
SpawnPlayer(playerid);
SendClientMessage(playerid,Gelb,"** Die Fraktion in der du warst, wurde geschlossen! Du bist nun Zivilist.");
}
for(new i = 0; i < 100; i++)
{
if(PlayerInfo[i][pAdminlevel] >= 1)
{
if(KillList == 1 || KillList == 0)
{
SendDeathMessage(INVALID_PLAYER_ID,playerid,200);
}
}
}
if(KillList == 1)
{
SendDeathMessage(INVALID_PLAYER_ID,playerid,200);
}
}
else if(PlayerInfo[playerid][pEingeloggt] == 1)
{
new fID = PlayerInfo[playerid][pFraktion];
SetPlayerPos(playerid,FraktSpawns[fID][PosX],FraktSpawns[fID][PosY],FraktSpawns[fID][PosZ]);
SetPlayerFacingAngle(playerid,FraktSpawns[fID][PosA]);
SetCameraBehindPlayer(playerid);
SetPlayerColor(playerid,FraktSpawns[fID][Color]);
SetPlayerSkin(playerid,FraktSpawns[fID][Skin]);
PlayerInfo[playerid][pEingeloggt] = 1;
new id = PlayerInfo[playerid][pFraktion];
if(frakGeschlossen[id] && id != 0)
{
PlayerInfo[playerid][pFraktion] = 0;
PlayerInfo[playerid][pMember] = 0;
PlayerInfo[playerid][pLeader] = 0;
PlayerInfo[playerid][pRank] = 0;
SpawnPlayer(playerid);
SendClientMessage(playerid,Gelb,"** Die Fraktion in der du warst, wurde geschlossen! Du bist nun Zivilist.");
}
} -
Ahh danke die Dateien hat es jetzt schon mal erstellt. Allerdings wenn ich z.B. /frakclose 25 eingebe steht da zwar das ich sie geschlossen habe aber wenn ich den Server restarte, bin ich trotzdem noch in der Fraktion.
ocmd:frakclose(playerid,params[])
{
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
if(PlayerInfo[playerid][pAdminlevel] <= 1338)return SendClientMessage(playerid,Grau,"Du bist nicht befugt, diesen Befehl zu nutzen!");
new fID,string[128];
if(sscanf(params,"d",fID)) return SendClientMessage(playerid,Grau,"Benutze: /frakclose [Fraktion]");
if(frakGeschlossen[fID] == true) return SendClientMessage(playerid,Grau,"Die Fraktion ist bereits geschlossen!");
frakGeschlossen[fID] = true;
FraktionsSave(fID);
format(string,sizeof(string),"Du hast die Fraktion %s geschlossen.",FraktionsNamen(fID));
SendClientMessage(playerid,Blau,string);
return 1;
}
ocmd:frakopen(playerid,params[])
{
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
if(PlayerInfo[playerid][pAdminlevel] <= 1338)return SendClientMessage(playerid,Grau,"Du bist nicht befugt, diesen Befehl zu nutzen!");
new fID,string[128];
if(sscanf(params,"d",fID)) return SendClientMessage(playerid,Grau,"Benutze: /frakopen [Fraktion]");
if(frakGeschlossen[fID] == false) return SendClientMessage(playerid,Grau,"Die Fraktion ist bereits geöffnet!");
frakGeschlossen[fID] = false;
FraktionsSave(fID);
format(string,sizeof(string),"Du hast die Fraktion %s geöffnet.",FraktionsNamen(fID));
SendClientMessage(playerid,Blau,string);
return 1;
} -
Ich habe jetzt folgendes gemacht:
//Oben im Script
forward FraktionsSave(fraktionsid);//Bei OnGamemodeInit()
FraktionsSave(MAX_FRAKTIONEN);//Unten im Script
public FraktionsSave(fraktionsid)
{
new Fraktionsdatei[64];
format(Fraktionsdatei,sizeof(Fraktionsdatei),"/Fraktionen/%s.txt",FraktionsNamen(fraktionsid));
if(!dini_Exists(Fraktionsdatei)) dini_Create(Fraktionsdatei);
dini_IntSet(Fraktionsdatei, "frakGeschlossen", frakGeschlossen[fraktionsid]);
dini_IntSet(Fraktionsdatei, "Leader", 0);
return 1;
}
Ich bekomme keine Errors oder Warnings aber es erstellt keine Datei z.B. Namens LSPD, LCN, Ballas, Hitman,... -
Ja bin ich ich bin in einer Tiefgarasche was standart gemäß innen ist. In LS
-
Hier:
public OnGameModeInit() -
Hallo,
ich habe ein Problem mit meinen Autos. Die wollen einfach nicht spawnen und ich weis nicht warum. So lass ich sie Spawnen:
//Oben im Script
new Admincar[32];
new Zivicar[4];
new Lspdcar[18];//Autos
Zivicar[0] = AddStaticVehicle(445,2040.0267,990.1223,10.5469,180.1395,4,35); // LV_ZIVI_CAR_1
Zivicar[1] = AddStaticVehicle(445,2040.0096,997.2684,10.5469,180.1396,10,35); // LV_ZIVI_CAR_2
Zivicar[2] = AddStaticVehicle(445,2039.9879,1006.1148,10.5469,180.1408,27,35); // LV_ZIVI_CAR_3
Zivicar[3] = AddStaticVehicle(445,2039.9675,1014.1516,10.5469,180.1414,15,35); // LV_ZIVI_CAR_4
//LSPD
Lspdcar[0] = AddStaticVehicle(596,1595.5228,-1710.4779,5.6108,359.0990,0,1); // LSPD_CAR_1
Lspdcar[1] = AddStaticVehicle(596,1591.4766,-1710.4790,5.6115,359.5479,0,1); // LSPD_CAR_2
Lspdcar[2] = AddStaticVehicle(596,1587.4708,-1710.4724,5.6112,359.2920,0,1); // LSPD_CAR_3
Lspdcar[3] = AddStaticVehicle(596,1583.3201,-1710.4500,5.6122,359.8770,0,1); // LSPD_CAR_4
Lspdcar[4] = AddStaticVehicle(596,1578.6089,-1710.4250,5.6120,0.5162,0,1); // LSPD_CAR_5
Lspdcar[5] = AddStaticVehicle(596,1574.4674,-1710.4764,5.6114,0.4598,0,1); // LSPD_CAR_6
Lspdcar[6] = AddStaticVehicle(596,1570.2603,-1710.5383,5.6110,0.6100,0,1); // LSPD_CAR_7
Lspdcar[7] = AddStaticVehicle(427,1530.5817,-1644.9150,6.0222,179.9702,0,1); // LSPD_CAR_8
Lspdcar[8] = AddStaticVehicle(427,1534.8334,-1644.9681,6.0225,180.0357,0,1); // LSPD_CAR_9
Lspdcar[9] = AddStaticVehicle(427,1538.7312,-1645.0062,6.0226,180.1090,0,1); // LSPD_CAR_10
Lspdcar[10] = AddStaticVehicle(507,1601.4812,-1704.3114,5.7161,89.6415,0,1); // LSPD_CAR_11
Lspdcar[11] = AddStaticVehicle(507,1601.3746,-1700.1926,5.7163,89.7493,0,1); // LSPD_CAR_12
Lspdcar[12] = AddStaticVehicle(523,1601.5808,-1696.0184,5.4613,89.7812,0,0); // LSPD_CAR_13
Lspdcar[13] = AddStaticVehicle(523,1601.4750,-1692.0031,5.4603,89.0748,0,0); // LSPD_CAR_14
Lspdcar[14] = AddStaticVehicle(560,1601.4667,-1687.9464,5.5955,91.0930,0,1); // LSPD_CAR_15
Lspdcar[15] = AddStaticVehicle(560,1601.3624,-1683.9406,5.5959,89.9947,0,1); // LSPD_CAR_16
Lspdcar[16] = AddStaticVehicle(599,1585.1307,-1671.5936,6.0781,269.9550,0,1); // LSPD_CAR_17
Lspdcar[17] = AddStaticVehicle(599,1585.1093,-1667.6001,6.0792,269.9588,0,1); // LSPD_CAR_18
//Admins
Admincar[0] = AddStaticVehicle(411,1949.6241,1760.7338,18.6317,0.3563,64,1); // ADMIN_CAR_1
Admincar[1] = AddStaticVehicle(411,1953.3199,1760.6929,18.6317,359.9688,64,1); // ADMIN_CAR_2
Admincar[2] = AddStaticVehicle(494,1942.4401,1761.1484,18.8000,0.2100,36,13); // ADMIN_CAR_3
Admincar[3] = AddStaticVehicle(502,1938.8417,1760.9629,18.7967,359.3755,36,88); // ADMIN_CAR_4
Admincar[4] = AddStaticVehicle(503,1935.1722,1760.9624,18.7990,359.8495,87,74); // ADMIN_CAR_5
Admincar[5] = AddStaticVehicle(429,1931.6578,1760.9587,18.5843,359.8852,13,13); // ADMIN_CAR_6
Admincar[6] = AddStaticVehicle(429,1928.0804,1760.9161,18.5843,0.0627,14,14); // ADMIN_CAR_7
Admincar[7] = AddStaticVehicle(451,1924.4137,1760.9636,18.6111,0.4098,125,125); // ADMIN_CAR_8
Admincar[8] = AddStaticVehicle(451,1920.9099,1760.8890,18.6117,0.4532,36,36); // ADMIN_CAR_9
Admincar[9] = AddStaticVehicle(443,1947.6194,1760.9967,13.3480,270.7554,20,1); // ADMIN_CAR_10
Admincar[10] = AddStaticVehicle(424,1935.2781,1761.0482,12.4957,0.6470,2,2); // ADMIN_CAR_11
Admincar[11] = AddStaticVehicle(424,1931.6923,1760.9907,12.4944,359.7563,3,2); // ADMIN_CAR_12
Admincar[12] = AddStaticVehicle(568,1928.1240,1760.5980,12.5808,0.7960,9,39); // ADMIN_CAR_13
Admincar[13] = AddStaticVehicle(568,1924.4905,1760.5345,12.5800,0.4354,9,39); // ADMIN_CAR_14
Admincar[14] = AddStaticVehicle(573,1920.7145,1761.4615,13.3648,359.0182,115,43); // ADMIN_CAR_15
Admincar[15] = AddStaticVehicle(495,1953.3582,1784.0823,13.0628,179.5588,119,122); // ADMIN_CAR_16
Admincar[16] = AddStaticVehicle(495,1949.7472,1783.9269,13.0616,179.9436,118,117); // ADMIN_CAR_17
Admincar[17] = AddStaticVehicle(525,1946.1823,1783.7354,12.5915,179.3647,17,20); // ADMIN_CAR_18
Admincar[18] = AddStaticVehicle(525,1942.5793,1783.8418,12.5915,178.8507,17,20); // ADMIN_CAR_19
Admincar[19] = AddStaticVehicle(409,1935.0693,1783.8014,12.5144,89.7735,1,1); // ADMIN_CAR_20
Admincar[20] = AddStaticVehicle(434,1924.4384,1784.1698,12.6816,180.1315,12,12); // ADMIN_CAR_21
Admincar[21] = AddStaticVehicle(434,1920.8804,1784.2448,12.6774,179.2462,12,12); // ADMIN_CAR_22
Admincar[22] = AddStaticVehicle(522,1953.2345,1783.9384,18.4784,180.1860,3,8); // ADMIN_CAR_23
Admincar[23] = AddStaticVehicle(522,1949.6160,1783.8756,18.4727,180.6988,6,25); // ADMIN_CAR_24
Admincar[24] = AddStaticVehicle(522,1946.0508,1783.7382,18.4733,180.0015,7,79); // ADMIN_CAR_25
Admincar[25] = AddStaticVehicle(522,1942.4728,1783.5804,18.4752,180.0107,8,82); // ADMIN_CAR_26
Admincar[26] = AddStaticVehicle(444,1938.9382,1783.6056,19.2759,179.7383,32,42); // ADMIN_CAR_27
Admincar[27] = AddStaticVehicle(556,1931.7394,1783.6230,19.2796,180.1236,1,1); // ADMIN_CAR_28
Admincar[28] = AddStaticVehicle(557,1924.5530,1783.6218,19.2796,179.5192,1,1); // ADMIN_CAR_29
Admincar[29] = AddStaticVehicle(447,1980.0212,1819.2788,23.2420,180.6704,75,2); // ADMIN_CAR_30
Admincar[30] = AddStaticVehicle(425,1962.9595,1820.9343,23.8024,179.9788,43,0); // ADMIN_CAR_31
Admincar[31] = AddStaticVehicle(520,1949.2717,1820.0945,23.9523,181.0154,0,0); // ADMIN_CAR_32
Ich bekomme auch keine Warnings oder Errors und weis nicht weiter. -
Warum den einen Einlogg und Register System habe ich doch schon. Es geht mir lediglich darum zu speichern, wer Leader ist und ob die Fraktion offen oder geschlossen ist.
-
Ah danke jetzt hat es geklappt jetzt muss ich es nur noch abspeichern. Aber wie ?
bis jetzt habe ich:
public FraktionsSave(fraktionsid)
{
new Fraktionsdatei[64];
format(Fraktionsdatei,sizeof(Fraktionsdatei),"/Fraktionen/%s.txt",FraktionsNamen(fraktionsid));
if(dini_Exists(Fraktionsdatei))
{
}
else
{
}
return 1;
} -
Bitte sehr
stock FraktionsNamen(playerid)
{
new rankname[32];
switch(PlayerInfo[playerid][pFraktion])
{
case 0: rankname="Zivilist";
case 1: rankname="LSPD";
case 2: rankname="FBI";
case 3: rankname="Army";
case 4: rankname="Medic";
case 5: rankname="News Reporter";
case 6: rankname="T-GmbH";
case 7: rankname="Abfallwirtschaft";
case 8: rankname="Hitman";
case 9: rankname="Grove Street";
case 10: rankname="Al-Qaida";
case 11: rankname="Ballas";
case 12: rankname="Fahrschule";
case 13: rankname="La Cosa Nostra";
case 14: rankname="Taxi";
case 15: rankname="Yakuza";
case 16: rankname="Staatsverwaltung";
case 17: rankname="SAPD";
case 18: rankname="Aztecas";
case 19: rankname="Rifas";
case 20: rankname="RS";
case 21: rankname="Cripz";
case 22: rankname="Russische Mafia";
case 23: rankname="SFBC";
case 24: rankname="Vagos";
case 25: rankname="Wheelmen";
}
return rankname;
} -
Achso danke ich habe das Problem gelöst aber wenn ich das dann inGame ausführe steht da dann immer: Du hast die Fraktion Zivilist geschlossen!
Befehle:
ocmd:frakclose(playerid,params[])
{
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
if(PlayerInfo[playerid][pAdminlevel] <= 1338)return SendClientMessage(playerid,Grau,"Du bist nicht befugt, diesen Befehl zu nutzen!");
new fID,string[128];
if(sscanf(params,"d",fID)) return SendClientMessage(playerid,Grau,"Benutze: /frakclose [Fraktion]");
if(frakGeschlossen[fID] == true) return SendClientMessage(playerid,Grau,"Die Fraktion ist bereits geschlossen!");
frakGeschlossen[fID] = true;
format(string,sizeof(string),"Du hast die Fraktion %s geschlossen.",FraktionsNamen(fID));
SendClientMessage(playerid,Blau,string);
return 1;
}
ocmd:frakopen(playerid,params[])
{
if(PlayerInfo[playerid][pEingeloggt] < 1 ) return SendClientMessage(playerid,Rot,"Du kannst diesen Befehl nicht nutzen, weil du nicht eingeloggt bist.");
if(PlayerInfo[playerid][pAdminlevel] <= 1338)return SendClientMessage(playerid,Grau,"Du bist nicht befugt, diesen Befehl zu nutzen!");
new fID,string[128];
if(sscanf(params,"d",fID)) return SendClientMessage(playerid,Grau,"Benutze: /frakopen [Fraktion]");
if(frakGeschlossen[fID] == false) return SendClientMessage(playerid,Grau,"Die Fraktion ist bereits geöffnet!");
frakGeschlossen[fID] = false;
format(string,sizeof(string),"Du hast die Fraktion %s geöffnet.",FraktionsNamen(fID));
SendClientMessage(playerid,Blau,string);
return 1;
}EDITS
Spoiler anzeigen
//EDIT: Zurecht gerückt!
-
Jetzt bekomme ich diese zwei Errors:
C:\Users\Florian\Desktop\SA-MP Server\gamemodes\Evolution.pwn(1115) : error 017: undefined symbol "frakid"
C:\Users\Florian\Desktop\SA-MP Server\gamemodes\Evolution.pwn(1126) : error 017: undefined symbol "frakid"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Errors.
Zeilen:
frakGeschlossen[frakid] = true;
frakGeschlossen[frakid] = false; -
Mit der Leaderliste habe ich es mit Dini nicht geschafft und mit MySQL hat der Server das Script nicht geladen. Das habe ich auch mit Dini nicht weiter gemacht, weil ich es nicht richtig verstanden habe.
//EDIT
Ich habe das was Kaliber geschrieben mal in mein Script eingefügt und ich bekomme diese zwei Errors:
C:\Users\Florian\Desktop\SA-MP Server\gamemodes\Evolution.pwn(444) : error 008: must be a constant expression; assumed zero
C:\Users\Florian\Desktop\SA-MP Server\gamemodes\Evolution.pwn(467) : error 008: must be a constant expression; assumed zero
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Errors.
Die Zeilen dazu sind diese:
const id = PlayerInfo[playerid][pFraktion];
const id = PlayerInfo[playerid][pFraktion]; -
Ah danke das hilft mir schon mal sehr viel weiter aber ich verstehe noch nicht wie bzw. wo ich es speichern soll.
-
Hallo,
ich wollte heute zwei Befehle machen, die bewirken das man eine Fraktion öffnen und schließen kann. Das heißt mit /frakopen => Fraktion auf. /frakclose => Fraktion zu. Aber wie mache ich das, dass wenn sie zu ist und man connectet, dass man dann als Zivi gespawnt wird ? Ich habe bis jetzt noch nichts weil ich nicht weiß wie das geht.