Hallo Breadfishcom.
Da ich grad ein kleines CTF Script am schreiben bin und auch recht aktiv dran sitze hab ich nun ein paar kleine Fehler im Command um die Base zu starten^^
1. Ich glaube die Varible (also die BaseID) wird nicht geladen
2. Nur ID 0 Spawnt und das am 0-Punkt (also auf der Farm)
3. Ist es möglich bei einem attachedobject die Materials zu ändern?
4. Wie speicher ich die Punkte (Habs in der Basedata^^)
Hier der Code (Bitte wenn ihr den Fehler sehr nicht nur einfach posten ich würd gern wissen was er war ums fürs nächste mal zu lernen:):
CMD:startbase(playerid, params[])
{
new mID[8];
if(sscanf(params,"d",mID))return SendClientMessage(playerid, 0xFFFFFFFF,"{FFFFFF}Usage:{740000} /startbase [BaseID]");
if(SpielerInfo[playerid][Adminlevel] >= 1 || IsPlayerAdmin(playerid))
{
format(mID,sizeof(mID),"/Warfield/Bases/%d.txt",mID);
for (new i = 0; i != MAX_PLAYERS; ++i)
{
//Red Flag
new Float: RFX, Float: RFY, Float: RFZ;
RFX = dini_Float("/Warfield/Bases/%d.txt", "RedFlagXSpawn");
RFY = dini_Float("/Warfield/Bases/%d.txt", "RedFlagYSpawn");
RFZ = dini_Float("/Warfield/Bases/%d.txt", "RedFlagZSpawn");
CreateObject(2993, RFX, RFY, RFZ, 0.0, 0.0, 10000.0); // DarkFlag
SetPlayerMapIcon( i, 12, RFX, RFY, RFZ, 19, 0, MAPICON_GLOBAL );
//Blue Flag
new Float: BFX, Float: BFY, Float: BFZ;
BFX = dini_Float("/Warfield/Bases/%d.txt", "BlueFlagXSpawn");
BFY = dini_Float("/Warfield/Bases/%d.txt", "BlueFlagYSpawn");
BFZ = dini_Float("/Warfield/Bases/%d.txt", "BlueFlagZSpawn");
CreateObject(2993, BFX, BFY, BFZ, 0.0, 0.0, 10000.0); // DarkFlag
SetPlayerMapIcon( i, 12, BFX, BFY, BFZ, 53, 0, MAPICON_GLOBAL );
//Interiors
new iID = dini_Int("/Warfield/Bases/%d.txt", "IntID");
SetPlayerInterior(i, iID);
if (GetPlayerSkin(i) == 58)
{
SetPlayerTeam(i,1);
new Float: RSX, Float: RSY, Float: RSZ;
RSX = dini_Float("/Warfield/Bases/%d.txt", "RedXSpawn");
RSY = dini_Float("/Warfield/Bases/%d.txt", "RedYSpawn");
RSZ = dini_Float("/Warfield/Bases/%d.txt", "RedZSpawn");
SetPlayerPos(i, RSX, RSY, RSZ);
return 1;
}
if (GetPlayerSkin(i) == 210)
{
SetPlayerTeam(i,2);
new Float: BSX, Float: BSY, Float: BSZ;
BSX = dini_Float("/Warfield/Bases/%d.txt", "BlueXSpawn");
BSY = dini_Float("/Warfield/Bases/%d.txt", "BlueYSpawn");
BSZ = dini_Float("/Warfield/Bases/%d.txt", "BlueZSpawn");
SetPlayerPos(i, BSX, BSY, BSZ);
return 1;
}
if (GetPlayerSkin(i) == 137)
{
SetPlayerTeam(i,3);
SetPlayerPos(i,1728.1007,-1668.2566,22.6094);
SetPlayerInterior(i,18);
return 1;
}
}
}
else
{
SendClientMessage(playerid,0xFFFFFFFF,"{FFFFFF}Error: {740000}Your Adminlevel is not high enough!");
}
return 1;
}