for(new i;i<MAX_GANGFIGHT;i++)
{
GangZoneShowForPlayer(playerid, GangfightZone[i], GetZoneColor(Gangfight[i][gBesitzer]));
}
Beiträge von Cheevy.Shakur
-
-
Die Funktion um die Zone zu erstellen unter OnPlayerSpawn.
Desweiteren mal Farben eingefügt.
stock GetZoneColor(faction)
{
if(faction == 1) return 0xA349A466;
else if(faction == 2) return 0xFF7BFFFF;
else return 0;
} -
Wird leider immer noch keine Zone erstellt..
-
Hast du das auch unter OnPlayerSpawn?
Nein, unter der Funktion nach dem Login. (Wo der Spieler geladen wird) -
Der Code wird 10 mal durchgegangen, weil ich MAX_GANGFIGHTS für die maxmiale Anzahl an Gangfight Gebieten zu 10 definiert habe.
for(new i;i<MAX_GANGFIGHT;i++)
{
GangZoneShowForPlayer(playerid, GangfightZone[i], Gangfight[i][gZonecolor]);
printf("Zone: %d ZoneColor: %d",GangfightZone[i], Gangfight[i][gZonecolor]);
}
Irgendwie wird mir aber kein Gebiet angezeigt, das gibts doch nicht..Log:
Code[14:25:39] Zone: 0 ZoneColor: 53 [14:25:39] Zone: 0 ZoneColor: 0 [14:25:39] Zone: 0 ZoneColor: 0 [14:25:39] Zone: 0 ZoneColor: 0 [14:25:39] Zone: 0 ZoneColor: 0 [14:25:39] Zone: 0 ZoneColor: 0 [14:25:39] Zone: 0 ZoneColor: 0 [14:25:39] Zone: 0 ZoneColor: 0 [14:25:39] Zone: 0 ZoneColor: 0 [14:25:39] Zone: 0 ZoneColor: 0
-
Hallo,
derzeit bin ich dabei ein Gangfight System für mein Selfmade zu entwickeln. (MySQL)
Das ganze funktioniert aber noch nicht so, wie ich will. Erstmal bin ich dabei, dass die Zonen geladen und auf der Map angezeigt werden.Die Zone wird geladen, wie man aus der Server Log entnehmen kann. Derzeit ein Gangfight, da in der Datenbank bis jetzt auch nur ein Eintrag existiert.
Wenn der Server startet, lasse ich eine eigenständige Funktion aufrufen. Diese Funktion sollte alle Gebiete laden, was meines Wissens nach auch funktioniert.
mysql_function_query(myCon, "SELECT * FROM `script_gangfight`", true, "LoadGangfight", "");
public LoadGangfight()
{
new rows,fields,count;
cache_get_data(rows,fields);
for(new i=0;i<rows;i++)
{
new gGangfightID = cache_get_field_content_int(i, "ID");
if(gGangfightID < MAX_GANGFIGHT)
{
Gangfight[gGangfightID][gID] = cache_get_field_content_int(i, "ID");
Gangfight[gGangfightID][minX] = cache_get_field_content_float(i, "minX");
Gangfight[gGangfightID][minY] = cache_get_field_content_float(i, "minY");
Gangfight[gGangfightID][maxX] = cache_get_field_content_float(i, "maxX");
Gangfight[gGangfightID][maxY] = cache_get_field_content_float(i, "maxY");
Gangfight[gGangfightID][gAngriff] = cache_get_field_content_int(i, "Angriff");
Gangfight[gGangfightID][gZonecolor] = cache_get_field_content_int(i, "Zonecolor");
Gangfight[gGangfightID][gPunkteTeam1] = cache_get_field_content_int(i, "PunkteTeam1");
Gangfight[gGangfightID][gPunkteTeam2] = cache_get_field_content_int(i, "PunkteTeam2");
Gangfight[gGangfightID][gFlag1] = cache_get_field_content_int(i, "Flag1");
Gangfight[gGangfightID][gFlag2] = cache_get_field_content_int(i, "Flag2");
Gangfight[gGangfightID][gFlag3] = cache_get_field_content_int(i, "Flag3");
Gangfight[gGangfightID][gBesitzer] = cache_get_field_content_int(i, "Besitzer");
count++;
GangfightZone[i] = GangZoneCreate(Gangfight[i][minX],Gangfight[i][minY],Gangfight[i][maxX],Gangfight[i][maxY]);
}
}
printf("[LOAD] Gangfights geladen: %d/%d", count, MAX_GANGFIGHT);
return 1;
}Den Besitzer sowie die Farbe der Zone speichere ich als Integer, da ich gerne die normalen SAMP Color ID's verwenden möchte.
In der Ladefunktion ist ebenso die Funktion, dass die Gebiete erstellt werden.
Sobald sich der Spieler einloggt, lasse ich die Gangfight Gebiete auch für playerid anzeigen.
for(new i;i<MAX_GANGFIGHT;i++)
{
GangZoneShowForPlayer(playerid, GangfightZone[i], Gangfight[i][gZonecolor]);
}Mir wird jedoch kein Gebiet auf der Karte angezeigt.. Kennt vielleicht jemand das Problem oder sieht den Fehler?
Gruß,
CheevyJeffry:
//edit: Jeffry hinzugefügt, der weiß alles -
Die definierten Fraktionen oben, sprich 1.. 0.. 3.. und so weiter sollen die Fahrzeuge nicht kaufen können.
So wollte ich das ganze haben. -
Diese hier
else if(Spieler[playerid][pFraktion] == 1 || Spieler[playerid][pFraktion] == 0 || Spieler[playerid][pFraktion] == 3 || Spieler[playerid][pFraktion] == 5 || Spieler[playerid][pFraktion] == 9 || Spieler[playerid][pFraktion] == 10 || Spieler[playerid][pFraktion] == 11))Nein TVPikachu, so wäre die Funktion die ich erlangen will nicht gegeben.
-
Hier mal der ganze Code.
for(new i=0;i<sizeof(fVehicleShop);i++)
{
if(vehicleid == fShopVehicles[i])
{
if(!Spieler[playerid][pFraktion] == 1 || Spieler[playerid][pFraktion] == 0 || Spieler[playerid][pFraktion] == 3 || Spieler[playerid][pFraktion] == 5 || Spieler[playerid][pFraktion] == 9 || Spieler[playerid][pFraktion] == 10 || Spieler[playerid][pFraktion] == 11))
{
if(Spieler[playerid][pRank] == RANG_LEADER)
{
new Float:Pos[3];
GetVehicleModelInfo(fVehicleShop[i][fVmodelid], VEHICLE_MODEL_INFO_SIZE, Pos[0], Pos[1], Pos[2]);
InterpolateCameraPos(playerid,fVehicleShop[i][fVposX],fVehicleShop[i][fVposY],fVehicleShop[i][fVposZ],fVehicleShop[i][fVposX]+Pos[0],fVehicleShop[i][fVposY]-Pos[1],fVehicleShop[i][fVposZ],2500,CAMERA_MOVE);
InterpolateCameraLookAt(playerid,fVehicleShop[i][fVposX]+Pos[0],fVehicleShop[i][fVposY]-Pos[1],fVehicleShop[i][fVposZ],fVehicleShop[i][fVposX],fVehicleShop[i][fVposY],fVehicleShop[i][fVposZ],2500,CAMERA_MOVE);
FreezePlayer(playerid);
strdel(DialogString, 0, sizeof(DialogString));
format(DialogString, sizeof(DialogString), COLOR_HEX_BLUE"Wang Cars - Fraktionsfahrzeuge\n\n");
format(DialogString, sizeof(DialogString), "%s"COLOR_HEX_BLUE"Fahrzeug: "COLOR_HEX_WHITE"%s\n"COLOR_HEX_BLUE"Preis: "COLOR_HEX_WHITE"$%d\n"COLOR_HEX_BLUE"Tankverbrauch: "COLOR_HEX_WHITE"%.2fL/KM\n", DialogString, fVehicleShop[i][fVName], fVehicleShop[i][fVPreis], VehicleData[fVehicleShop[i][fVmodelid]-400][vehTankVerbrauch]);
format(DialogString, sizeof(DialogString), "%s"COLOR_HEX_BLUE"Tankgröße: "COLOR_HEX_WHITE"%.2fL\n\nWenn du dieses Fahrzeug kaufen möchtest, klicke auf den entsprechenden Button.\n", DialogString, VehicleData[fVehicleShop[i][fVmodelid]-400][vehMaxTank]);
strcat(DialogString, COLOR_HEX_WHITE"Das Geld wird von deiner Hand abgehoben, und das Fahrzeug gehört dann automatisch zur Fraktion an!\nDieses lässt sich nicht auf die privaten Fahrzeuge übertragen, und lässt sich nur durch die Hälfte des Kaufpreises verkaufen!\nÜberleg gut, ob es dir Wert ist!");
ShowPlayerDialog(playerid, DIALOG_BUYFRAKVEHICLE, DIALOG_STYLE_MSGBOX, "Fraktions Fahrzeug - Kaufen", DialogString, "Kaufen", "Abbrechen");
return 1;
}
}
else if(Spieler[playerid][pFraktion] == 1 || Spieler[playerid][pFraktion] == 0 || Spieler[playerid][pFraktion] == 3 || Spieler[playerid][pFraktion] == 5 || Spieler[playerid][pFraktion] == 9 || Spieler[playerid][pFraktion] == 10 || Spieler[playerid][pFraktion] == 11))
{
FreezePlayer(playerid);
RemovePlayerFromVehicle(playerid);
UnfreezePlayer(playerid);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"** Diese Fahrzeuge können nur Gangs und Mafien kaufen.");
}
}
} -
Code
C:\Users\Alex\Desktop\**\gamemodes\reallife.pwn(6612) : error 029: invalid expression, assumed zero C:\Users\Alex\Desktop\**\gamemodes\reallife.pwn(6612) : warning 215: expression has no effect C:\Users\Alex\Desktop\**\gamemodes\reallife.pwn(6612) : error 001: expected token: ";", but found "if" C:\Users\Alex\Desktop\**\gamemodes\reallife.pwn(6612) : error 029: invalid expression, assumed zero C:\Users\Alex\Desktop\**\gamemodes\reallife.pwn(6612) : fatal error 107: too many error messages on one line
-
else if(Spieler[playerid][pFraktion] == 1 || Spieler[playerid][pFraktion] == 0 || Spieler[playerid][pFraktion] == 3 || Spieler[playerid][pFraktion] == 5 || Spieler[playerid][pFraktion] == 9 || Spieler[playerid][pFraktion] == 10 || Spieler[playerid][pFraktion] == 11)
So sollte es funktionieren, du hast immer Spieler[playerid][pFraktion] == 0) //) darf nur am ende sein gemacht
Funktioniert leider nicht. -
Finde hier keinen Zeichenfehler etc.. kann mir jemand mal helfen?
else if(Spieler[playerid][pFraktion] == 1 || Spieler[playerid][pFraktion] == 0) || Spieler[playerid][pFraktion] == 3) || Spieler[playerid][pFraktion] == 5) || Spieler[playerid][pFraktion] == 9) || Spieler[playerid][pFraktion] == 10) || Spieler[playerid][pFraktion] == 11)) -
Natürlich ist das möglich. Schau dir das mal an.
[ SCRIPTING ] Datenbank Tabellen vom Script aus erstellen -
-
Ich kann dir das machen. Schick mir eine PN mit deiner Preisvorstellung.
-
Nein, dass reicht aus. Die Funktion ist lediglich unter OnGameModeInIt aufzurufen.
Handle = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DATA, MYSQL_PASS); -
new handle;
-
Das ist es doch, oder nicht?
RELEASE: Lightning GTA • WBB4 Forenstil/e:
Mein Fehler, ist es doch nicht -
Das Design wurde hier aber vom Ersteller veröffentlicht?
-
Hast du die Rechte des Erstellers? Du hast lediglich die Grafiken etwas geändert.