Und wie oft soll eine Explosion stattfinden (Anzahl / Differenz zwischen zwei Explosionen)?
Soll das für jeden Spieler (im jeweiligen Umkreis) erzeugt werden, oder nur für bestimmte? Falls bestimmte, unter welchen Bedingungen?
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Und wie oft soll eine Explosion stattfinden (Anzahl / Differenz zwischen zwei Explosionen)?
Soll das für jeden Spieler (im jeweiligen Umkreis) erzeugt werden, oder nur für bestimmte? Falls bestimmte, unter welchen Bedingungen?Es entsteht immer per 50 Sekunden eine Explosion, also nach 50 Sekunden: 1x Explosion. nochmal 50 Sekunden: 2 Explosion, aber ich werd die Zeit auch erhöhen.
damit es nicht zu Laggs entsteht, Aber das Problem ist nur die Nachricht -
Dann füge das bei OnGameModeInit ein:
SetTimer("CreateZombieExplosions", 50000, true);Und das ganz unten im Gamemode:
forward CreateZombieExplosions();
public CreateZombieExplosions()
{
new Float:x,Float:y,Float:z;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
GetPlayerPos(i,x,y,z);
CreateExplosion(x+random(75)+25, y+random(75)+25, z, 12, 10.0);
}
}
return SendClientMessageToAll(C_RED,"[ACHTUNG]: Es fand eine Explosion statt. Zombies sind möglicherweise Ausgebrochen begib dich in Schutz!");
}Das andere Zeug machst du weg.
-
Zitat
Das andere Zeug machst du weg.
Jeffry, das Funktioniert nun Perfekt vielen Dank!
-
Hallo, ich wollte mal Fragen was falsch ist?
Wenn man in das Pickup[0] geht bekommt man alles, es soll ja aber nicht so sein sondern bei einem Armor bei einem Waffe bei dem anderen Health..public OnPlayerPickUpPickup(playerid, pickupid)
{
if(SpielerInfo[playerid][pDuty] == 1) {
if(pickupid == Polizeipick[0])
if(Polizeihat[playerid][0] == 0)
{
GivePlayerMoney(playerid, 1000);
Polizeihat[playerid][0] = 1;
}
else if(Polizeihat[playerid][1] == 0)
{
SetPlayerHealth(playerid, 100);
Polizeihat[playerid][1] = 1;
}
else if(Polizeihat[playerid][2] == 0)
{
GivePlayerWeapon(playerid, 38, 1000);
Polizeihat[playerid][2] = 1;
}
}
return 1;
} -
Du musst es zum Beispiel so schreiben:
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(SpielerInfo[playerid][pDuty] == 1)
{
if(pickupid == Polizeipick[0])
{
if(Polizeihat[playerid][0] == 0)
{
GivePlayerMoney(playerid, 1000);
Polizeihat[playerid][0] = 1;
}
}
else if(pickupid == Polizeipick[1])
{
if(Polizeihat[playerid][1] == 0)
{
SetPlayerHealth(playerid, 100);
Polizeihat[playerid][1] = 1;
}
}
else if(pickupid == Polizeipick[2])
{
if(Polizeihat[playerid][2] == 0)
{
GivePlayerWeapon(playerid, 38, 1000);
Polizeihat[playerid][2] = 1;
}
}
}
return 1;
} -
Kann mir jemand sagen, warum die TextLabels nicht angezeigt werden?
for(new i;i<MAX_GANGFIGHT;i++)
{
if(GangfightZone[i] == -1) continue;
format(string,sizeof(string),""COLOR_HEX_BLUE"Flag A\n"COLOR_HEX_BLUE"Besitzer: "COLOR_HEX_WHITE"%s\nTippe "COLOR_HEX_BLUE"/flag"COLOR_HEX_WHITE" um die Flagge einzunehmen.",GetZoneBesitzer(Gangfight[i][gBesitzer]));
Create3DTextLabel(string,COLOR_WHITE,-1469.5957,1489.5872,8.2578,10.0,0);
format(string,sizeof(string),""COLOR_HEX_BLUE"Flag B\n"COLOR_HEX_BLUE"Besitzer: "COLOR_HEX_WHITE"%s\nTippe "COLOR_HEX_BLUE"/flag"COLOR_HEX_WHITE" um die Flagge einzunehmen.",GetZoneBesitzer(Gangfight[i][gBesitzer]));
Create3DTextLabel(string,COLOR_WHITE,-1364.9045,1489.3871,11.0391,10.0,0);
format(string,sizeof(string),""COLOR_HEX_BLUE"Flag C\n"COLOR_HEX_BLUE"Besitzer: "COLOR_HEX_WHITE"%s\n"COLOR_HEX_WHITE"Tippe "COLOR_HEX_BLUE"/flag"COLOR_HEX_WHITE" um die Flagge einzunehmen.",GetZoneBesitzer(Gangfight[i][gBesitzer]));
Create3DTextLabel(string,COLOR_WHITE,-1424.4171,1490.3320,1.8672,10.0,0);
} -
hallo, wollte gerade mit PVarInt bisschen was probieren, aber bekomme den Fehler undefined Symblos GetPvarInt
Wie definiere ich denn das und wo? -
GetPVarInt heißt es meines Wissens nach.
-
Hast du dein Script auf MySQL?
Soweit ich weiß ist das doch eine MySQL funktion oder? -
Hast du dein Script auf MySQL?
Soweit ich weiß ist das doch eine MySQL funktion oder?
Mein Script läuft auf MySQL. -
ah Danke, habe nur bei GetPVarInt das V klein geschrieben!
-
Cheevy.Shakur: Steht das vor oder nach GangZoneCreate? Es muss danach stehen, also in dem Callback in dem du die Zonen erstellst.
Außerdem erstellst du so an jeder der drei Stellen MAX_GANGFIGHT's Labels, da die Positionen fest angegeben sind, sprich für jeden Durchlauf ist es dieselbe Position. -
Mein Script läuft auf MySQL.
Ich meine Kontrax -
Cheevy.Shakur: Steht das vor oder nach GangZoneCreate? Es muss danach stehen, also in dem Callback in dem du die Zonen erstellst.
Außerdem erstellst du so an jeder der drei Stellen MAX_GANGFIGHT's Labels, da die Positionen fest angegeben sind, sprich für jeden Durchlauf ist es dieselbe Position.
Mist, hast Recht. Aber wie kriege ich dann bitte den Besitzer heraus, wenn ich feste Position nicht mehrmals durchlaufen will sondern nur einmal? -
Anstatt i schreibst du beim Besitzer die Zahl direkt rein, also zum Beispiel 2.
-
Versteh ich jetzt nicht..
Vielleicht gehört mein Thema ja gar nicht mehr hier hin, frage schon wieder viel zu viel..Habe ja die Zonen Besitzer hier definiert
stock GetZoneBesitzer(faction)
{
new string[50];
switch(faction)
{
case 2: string = "La Cosa Nostra";
case 4: string = "Grove Street";
case 6: string = "Yakuza";
case 7: string = "Ballas";
case 8: string = "Los Santos Vagos";
}
return string;
}Die ändern sich ja stetig..
-
Wo sollen diese Flaggen eigentlich sein? Nur an genau dieser einen Position? Und welche Fraktion soll bei welcher Flagge (A B C) stehen?
Ja, es wäre besser gewesen einen Thread auf zu machen.
-
Ich schreib nochmal kurz hier rein.
In jedem Gebiet gibt es 3 Flaggen. Die 2 Gegner können die Flaggen immer einnehmen, also können höchstens 2 verschiedene Fraktions Namen an den 3 Flaggen stehen.
Fraktion 1 besitzt z.B Flagge A. Fraktion 2 besitzt z.B Flagge B. Neben Flagge A besitzt Fraktion 1 noch Flagge C.
Die Flaggen sind nur an dieser einen Position, habe die direkt ins Script integriert. -
Dann funktioniert das so aber nicht, weil du erstellst die drei Flaggen ja immer an derselben Stelle, heißt du hast nachher zum Beispiel 5 Flaggen auf der gleichen Stelle. Die Position der Flaggen muss ja für jede Zone anders sein, sprich du musst diese Positionen auch am besten über die Datenbank laden.
Dann passt das auch mit der Schleife, nur dass du eben die 9 Koordinaten (3 pro Flagge) über die Datenbank eingibst. -