Ist dein Problem die Dialogs, oder was?
Du nimmst meine Lösung für die Behebung Deklarationsfehler und 8Ball's zum Speichern.
Ist dein Problem die Dialogs, oder was?
Du nimmst meine Lösung für die Behebung Deklarationsfehler und 8Ball's zum Speichern.
Du musst in deinem Enumeration folgendes hinzufügen:
enum pInfo // Wie immer dein Enumeration auch heißt.
{
...
// Irgendwo folgendes dazu:
pPersonalName[MAX_PLAYER_NAME],
...
};
Edit: Syntax
Du brauchst nicht zwangsläufig eine Klammer. Wenn du es ohne Klammer schreiben willst, muss die gesamte Anweiseung in die gleiche wie die der Bedingung.
if (!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "BENUTZUNG: /kidnap [opferid] [sitzid]");
Lade sie dir zur Sicherheit nocheinmal.
http://forum.sa-mp.com/showthread.php?t=120356
Ich zitiere mich nur ungern, aber:
ZitatPerformanter könntest du es gestallten, indem du einen Timer verwendest, der alle 1,5 Sekunden eine Spamfunktion aufruft. Welche SendClientMessage in dieser Funktion aufgerufen wird, regelst du über "Zähler"-Variablen.
Wenn du folgende Funktion verwendest:
Create3DTextLabel(text[], color, Float:X, Float:Y, Float:Z, Float:DrawDistance, virtualworld, testLOS);
testLOS = 1.
Dann drücke dich präzise aus.
forward Spam();
forward Spam1();
// in OnPlayerCommandText mit deinem /spamon
new timer1 = SetTimer("Spam", 1500, true);
new timer2 = SetTimer("Spam1",3000, true);
// ebenfalls in OnPlayerCommandText mit deinem /spamoff
KillTimer(timer1);
KillTimer(timer1);
// außerhalb eines Publics
public Spam()
{
SendClientMessageToAll(0xFFFFFF, "1");
}
public Spam1()
{
SendClientMessageToAll(0xFFFFFF, "0");
}
Die Intervalle wirst du doch selbst einstellen können.
Performanter könntest du es gestallten, indem du einen Timer verwendest, der alle 1,5 Sekunden eine Spamfunktion aufruft. Welche SendClientMessage in dieser Funktion aufgerufen wird, regelst du über "Zähler"-Variablen.
Da diese Funktion nicht Public ist, brauchst sie nicht forwarden.
public OnVehicleMod(playerid,vehicleid,componentid)
{
if (playerid!=GetPlayerFromCarlistCar(vehicleid)) {return true;}
if(playerid!=-1)
{
new vmod = GetModType(componentid); //HIER IST DER 2. FEHLER
switch (vmod)
Da die Variable mod bereits verwendet wird, wähle einen anderen Namen, wie zum Beispiel vmod.
Edit:Und unterlasse es künftig mir wegen so etwas eine PN zu schreiben.
Frage mal da nach.
Logischerweise, dass du dazu nicht fähig bist, sonst würde es klappen.
Da du, wie viele Neulinge, kaum Informationen schreibst, kann ich dir nur den Fehler nennen.
Installiere mal GTA neu (und mache, bevor du daran wieder rumschraubst, eine Sicherheitskopie).
Viel Spaß, eine kleine Rekursion:
forward Spam();
// OnGameModeInit
SetTimer("Spam", 1, true);
// außerhalb eines Publics
public Spam()
{
SendClientMessageToAll(0xFFFFFF, "1");
SendClientMessageToAll(0xFFFFFF, "0");
SetTimer("Spam", 1, true);
}
Interessant, wie der Server hängen bleibt.
Edit: Intervall auf eine Millisekunde gesetzt.
Du kannst kein Integer als Array nehmen.
new BuyFraktionsCar[MAX_PLAYERS];
Ich kann dir eins sagen: Die Textur (txd) wurde nicht geladen.
Und noch ein Tipp: Immer eine Sicherungskopie deiner gta3.img zu machen.
Versuche mal folgendes:
for(new h = 184; h < sizeof(CarInfo); h++)
{
AddStaticVehicleEx(CarInfo[h][cModel],CarInfo[h][cLocationx],CarInfo[h][cLocationy],CarInfo[h][cLocationz]+1.0,CarInfo[h][cAngle],CarInfo[h][cColorOne],CarInfo[h][cColorTwo],60000);
}
new plate[4], Text3D:plateid;
new idcar = GetPlayerVehicleID(playerid);
for(new i = 1; GetVehicleModel(i); i++)
{
format(plate, sizeof(plate), "%d", idcar);
plateid = Create3DTextLabel(plate,COLOR_LIGHTGREEN,0.0,0.0,0.0,40.0,0);
Attach3DTextLabelToVehicle( plateid, i, 0.0, 0.0, 2.0);
}
Zitat[01:27:57] Loading filter script 'zoll.amx'...
[01:27:57] Unable to load filter script 'zoll.amx'
Entweder du hast dich verschrieben, oder die Datei existiert nicht.
Ich sage das mal so:
Als du dich hier registriert hast, hast du allen Forenregeln zugestimmt.
Du kannst nun eine weitere Verwarnung kassieren, da du im falschen Bereich geschrieben hast.
Wie wäre es, wenn du "i" nicht für jede Schleife neu definierst sondern mal die andere Buchstaben des Alphabets nimmst?
Versuchs einfach mal mit z.B. "o"
Bitte nicht. Eine Variable reicht für eine gesamte Routine.
new i; // Einmalige Deklarierung des Integers i
for(; i < MAX_HAUS; i++) { ... } // Erste Schleife
for(; i < MAX_HAUS; i++) { ... ] // Zweite Schleife
Eine Variable reicht völlig aus.
Eine Deklarierung einer Funktion bzw. einer Variable erstellt diese in einem Programm. Bei der Deklarierung wird der Datentyp sowie die Datenlänge festgelegt.
In Pawn würde beispielsweise eine Deklarierung eines Strings wie folgt aussehen:
new Spielername[24];
Das new erstellt die Variable.
Spielername ist der Name bzw. die Identität der Variable.
Die 24 gibt die Länge des String der Variable an (24 Zeichen).
Edit: Char vergessen.
Ich interessiere mich nicht sonderlich für Godfather, daher wäre es sinnvoll, wenn du schnell mal das Userhandling schreibst.
Du musst das wie folgt implementieren:
if(strcmp(cmd, "/bl", true) == 0)
{
if(IsPlayerInAnyVehicle(playerid) == 1)
{
if(IsACop(playerid))
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, COLOR_RED, "Du befindest dich in keinem Fahrzeug.");
if(PlayerInfo[playerid][factionid] != FACTION_COP) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Vollzugsbeamter.");
DellAllSpawnVehObjects();
SpawnVehObjectOM(playerid,18646);
PlaySoundForPlayer(playerid,1133);
SendClientMessage(playerid, COLOR_ORANGE, "Du hast das no-Policecar Blinklicht auf einem Zivilwagen montiert!");
SendClientMessage(playerid, COLOR_ORANGE, "Verfolge die Sau und montiere es mit /ravo wieder ab!");
}
else
{
SendClientMessage(playerid,COLOR_RED,"Du bist kein Polizist/Beamter/Soldat/FBI!");
}
}
else
{
SendClientMessage(playerid,COLOR_LIGHTRED,"Du musst dafür in einem Auto sitzen.");
}
}
Die IsACop Abfrage lass ich drinne, da ich wie gesagt nicht genau weiß, wie das in LOH aussieht.
Nur ein Array im Doppelarray?
Am Ende darf kein Komma stehen, nur zwischen zwei Arrayeinträgen.