Nutze mal den Streamer ![]()
mfg. ![]()
Nutze mal den Streamer ![]()
mfg. ![]()
Du musst es so schreiben:
SetPVarString(playerid,"IP",pmsg);
mfg. ![]()
Also ansich kannst du auch die Variable direkt nutzen.
Nein, da ich die Include mit einer static Deklaration gemacht habe ![]()
mfg. ![]()
Und der Aufruf der Funktion verbraucht wieder Zeit die vllt eingespart wird.
Naja, nach einem Speedtest, verbraucht diese Funktion 0 Millisekunden ![]()
und es ist besser nur 5x so eine Schleife ausführen zu lassen als 50x ![]()
mfg. ![]()
Sowas nennt man Object Streamer
You dont say ![]()
Damit war eher gemeint, omg was für einen Objekt Streamer nutzt du denn ![]()
Wenn du schon einen verwendest, dann den von Incognito am besten: http://forum.sa-mp.com/showthread.php?t=102865
selbst mit CreateObject funktioniert es nicht
Mhm, sicher das du dich zu den Richtigen Koordinaten telportierst ?
PS: und lass dir mal die modelid printen ![]()
mfg. ![]()
Hier der beste Streamer den es gibt: http://forum.sa-mp.com/showthread.php?t=102865
wie installiere ich es richtig..?
Man installiert sowas nicht ![]()
Einfach Plugin einfügen, Include includieren und CreateObject zu CreateDynamicObject verändern ![]()
mfg. ![]()
//Meine Funktion nutzt man so:
for(new i; i<GetID(); i++) //Geht die Spieler bist zur höchsten ID durch...
-.-
ganz nett
aber ich denke ich bleib doch lieber bei der Standard Schleife da man da doch mehr Möglichkeiten hat diese zu modifizieren.
Ehm...du weißt aber, dass das immer noch die Standard Schleife ist, nur das man anstatt dem Makro eine Funktion verwendet ![]()
mfg. ![]()
SetVehicleVelocity(veh, Q[4],Q[5],Q[6]);
noch zu
SetVehicleVelocity(car, Q[4],Q[5],Q[6]);
Wollen ja das neue Fahrzeug beschleunigen
Schau dir genauer meinen Code an ![]()
!TheO ,
dein Code ist falsch und unübersichtlich, schreibe hin so:
stock ChangeCar(playerid, modelid) {
if(!IsPlayerInAnyVehicle(playerid)) return 0;
new veh = GetPlayerVehicleID(playerid);
if(GetVehicleModel(veh) == modelid) return 0;
new Float:Q[7];
GetVehiclePos(veh,Q[0],Q[1],Q[2]);
GetVehicleZAngle(veh,Q[3]);
GetVehicleVelocity(veh,Q[4],Q[5],Q[6]);
DestroyVehicle(veh);
veh = CreateVehicle(modelid,Q[0],Q[1],Q[2],Q[3],-1,-1,-1);
PutPlayerInVehicle(playerid,veh, 0);
SetVehicleVelocity(veh, Q[4],Q[5],Q[6]);
return 1;
}
mfg. ![]()
Und wie änder ich des? im Script ?
Such nach diesem Wort und dann einfach SendRconCommand("loadfs bla"); das dann einfach löschen ![]()
mfg. ![]()
[14:21:02] Unable to load
Schon allein das bedeutet, dass der Server dieses Filterscript nicht laden kann, weil es vermutlich nicht mehr existiert ![]()
Da du die Filterscripts aus der .cfg entfernt hast, könnte es sein, dass das Script versucht diese zu laden mit SendRconCommand ![]()
mfg. ![]()
Achso, jetzt habe ich dein Problem verstanden ![]()
Mache es ganz easy so:
ocmd:fraktionswahl(playerid, params[])
{
new string[256];
format(string,sizeof string,"%i Spieler = Cali Kartell\n%i Spieler = Yakuza\n%i Spieler = Ballas\n%i Spieler = Triaden\n%i Spieler = Vagos\n%i Spieler = Aztecas\n%i Spieler = Grove Street\n%i Spieler = Red Solderis\n%i Spieler = Zivilist",GetFraktion(1),GetFraktion(2),GetFraktion(3),GetFraktion(4),GetFraktion(5),GetFraktion(6),GetFraktion(7),GetFraktion(8),GetFraktion(0));
ShowPlayerDialog(playerid, DIALOG_FRAKTIONSWAHL, DIALOG_STYLE_LIST, "Gangfight - Fraktionswahl",string,"Wählen","Schließen");
return 1;
}
stock GetFraktion(id) {
new count;
for(new i; i<MAX_PLAYERS; i++) {
if(IsPlayerConnected(i) && Spieler[i][Member] == id) count++;
}
return count;
}
if(dialogid == DIALOG_FRAKTIONSWAHL)
{
if(!response) return 1;
if(listitem != 8) Spieler[playerid][Member] = listitem+1;
else Spieler[playerid][Member] = 0;
SpawnPlayer(playerid);
}
mfg. ![]()
Einfach mal so abfragen:
if(dialogid == DIALOG_FRAKTIONSWAHL)
{
if(!response) return 1;
if(listitem != 8) Spieler[playerid][Member] = listitem+1;
else Spieler[playerid][Member] = 0;
switch(listitem) {
case 0: cali++;
case 1: yak++;
case 2: ballas++;
case 3: triaden++;
case 4: vagos++;
case 5: aztecas++;
case 6: grove++;
case 7: red++;
case 8: zivi++;
}
SpawnPlayer(playerid);
}
Das fasst deinen ganzen Code zusammen ![]()
mfg. ![]()
//Edit: gar nicht die unterschiedlichen Namen gesehen ![]()
Ich schätze mal, dass es so nicht funktionieren wird. die Methode von [DT]Sniper wird wohl eher funktionieren. Allerdings zweifel ich bei der Variante an, dass es durch die neue Schleife überhaupt noch sinnvoll ist.
Kaliber:
Wenn 1 Bot und 5 Spieler bei deiner Methode verbinden, so hat der letzte die ID 5. Verlassen nun Spieler 2 und 3 den Server, zählt deine Variante runter und ID 5 wird ausgelassen.
Omg, habe da gerade einen großen Fehler gesehen ![]()
Schau jetzt nochmal, jetzt sollte das alles funktionieren ![]()
@Rest Dankeschön ![]()
mfg. ![]()
BTW: das musst du in allen anderen Includes von dir auch einbauen
Mit wem redest du jetzt ![]()
ist foreach zu langsam ? oder wofuer redundante spieler schleifen ?
Naja, viele Leute benutzen kein foreach, für die wäre das hier eine gute Funktion, für Leute die foreach nutzen, ist das hier egal ![]()
mfg. ![]()
probier mal folgendes:
Schau ob _OnPlayerConnect schon definiert worden ist wenn ja undfine. ansosten habe ich letztens nen tu gesehen der das vermeidet
Ehm...das geht nicht, da man das forward ja auch umändern muss ![]()
mfg. ![]()
Schreib das mal bitte anders
forward _OnPlayerConnect(playerid);
wenn einer jetzt die und dein Fraktionstool nutzt, dann wird eines von beiden nicht richtig funktionieren
Ja...das sollte auch nochmal in einem Tutorial erklärt werden wie man sowas dann ändert ![]()
Ich glaube ich schreibe mal eins ![]()
mfg. ![]()