Wie könnte man es anstellen? Kannst du mir eventuell ein Ansatz geben?
Da gibt es viele..hier ein Beispiel: http://forum.sa-mp.com/showthread.php?t=71136 ![]()
Wie könnte man es anstellen? Kannst du mir eventuell ein Ansatz geben?
Da gibt es viele..hier ein Beispiel: http://forum.sa-mp.com/showthread.php?t=71136 ![]()
Wenn du unterschiedliche Typen in einem Array nutzen willst (in diesem Fall Strings & Floats), dann musst du einen Enumerator verwenden:
enum e_WayPoint
{
e_Name[32],
Float:e_X,
Float:e_Y,
Float:e_Z
};
static WaypointData[][e_WayPoint] =
{
{"« The Strip »", 2101.2612, 1333.6791, 10.8203} //Brauchst hier kein float: angeben (und wenn dann Float:)
};
//In der Schleife dann so nutzen:
CreateWaypoint(WaypointData[i][e_Name], i, WaypointData[i][e_X], WaypointData[i][e_Y], WaypointData[i][e_Z]);
Alles anzeigen
Abstürzen tut ein Server nur, wenn ein Skript-Fehler gemacht wurde. (Also von der Software aus betrachtet...)
An sich stürzt ein Server nicht ab, egal wie belastet er ist.
Also in diesem Sinne, er würde eher laggen, aber wie gesagt, kommt darauf an, wie gut du es umsetzen kannst und wie viele Maps du hast...etc
An sich sollte es funktionieren, allerdings haben viele es einfach so gemacht, dass Sie 2 Server online gesetzt haben..einen DM Server z.B. und einen Reallife Server...
Aber gut, man kann das natürlich auch vereinen ![]()
Wahrscheinlich weil man etwas Vorwissen braucht um den Code gut zu strukturieren und wissen muss wie man das nun alles aufteilt...
Könnte das ein Server mitmachen oder wäre das je nach dem wie viele Objecte created werden unmöglich? Wie verhält sich der Server da?
Das ist möglich, wenn du z.B. den Inkognito Streamer nutzt und jedes der Dinge (Roleplay/DM/Stunt) in einer anderen Virtuellen Welt laufen lässt.
Dann kann man dies parallel laufen lassen.
An sich ist es nicht sehr zu empfehlen, da offensichtlich mehr Ressourcen gebraucht werden, allerdings sollte das gut laufen können, wenn der Code stimmt ![]()
Könnte das überhaupt ein SAMP Server hinkriegen, wenn ja bräuchte ich nur gute Leistung oder kommt es auf die Art des Scriptingcodes an?
Wie der Server sich verhält kommt natürlich auf den Code & den Server (bzw die Anbindung) an ![]()
Es ist möglich und wurde schon des öfteren diskutiert und auch schon umgesetzt (bin nur nicht sicher ob jemand schonmal was Veröffentlicht hat) ![]()
Ich habe mal eine Frage am Rande,
ist es irgendwie möglich, den Spieler dazu zu Zwingen das er nicht Rennen kann bzw. mit "ALT" Laufen muss?
Wäre möglich, wäre aber auch ziemlich aufwändig.
Müsstest permanent den Spieler in ApplyAnimation setzen sobald er die Lauftasten drückt (kann man unter OnPlayerUpdate) prüfen und wenn er nichts drückt einfach die animation clearn xD
Über seine Kamera müsstest die FacingAngle berechnen und setzen, dann läuft er genau dahin xD
Einfacher wäre es, wenn du eine SpecialAction nutzt um den Spieler zu slown, wie z.B. SPECIAL_ACTION_CUFFED
Also, wenn du TEAM_FIRST als 0 deklariert hast, kannst du es folgendermaßen verkürzen:
stock isEnd()
{
new bool:end;
for(new i=0; i<TEAMSIZE; i++)
{
if(GetTeamCount(i) > 0)
{
if(end) return 0;
end = true;
}
}
return end;
}
if(isEnd())
{
for(new i;i<MAX_PLAYERS;i++)
{
SendClientMessageEx(i,COLOR_WHITE,"SERVER: All remaining teams have been wiped. Team %s {FFFFFF}has won the game!",FIRST_TEAM_COLOR_TAG);
}
printf("Total game time: %d",totaltime);
SendRconCommand("gmx");
}
Alles anzeigen
Wie z.B. bei einem Kofferraum System.
Da kannst du einen Trick anwenden und einfach prüfen ob der Spieler ungefähr die selbe ZAngle wie das Auto hat ![]()
new Float:ang,Float:v_a,v=GetClosestVehicle(playerid,10.0);
if(v == INVALID_VEHICLE_ID) return 1;
GetPlayerFacingAngle(playerid,ang);
GetVehicleZAngle(v,v_a);
new a = floatround(ang), b = floatround(v_a);
if(a<40&&b>350) b=0;
else if(a>350&&b<40) a=0;
if(VectorSize(a-b,0,0) <= 40)
{
//Hier schaut er auf den Kofferraum :)
}
Alles anzeigen
//Edit: So..
reason
Sollte der weaponid entsprechen..da du aber keinen Wert der Variable zuweist ist diese immer 0 ![]()
Der Code sieht schrecklich aus.
Aus diesem Grund werfe ich da auch keinen weiteren Blick drauf, der Fehler bedeutet im Endeffekt folgendes:
Es ist klar, dass x = 0; nie aufgerufen wird, da das break dies verhindert.
Anstatt dem break könnte dort aber auch ein return verwendet werden.
Das Ergebnis wäre das selbe ![]()
Positionen / Daten von 1 und 2 sind irgendwie identisch? ![]()
mach ich doch nicht oder?
AutohausInfo[i][ah_ID] = CreatePickup
dini_IntSet(path, "aa_ID", AutohausInfo[i][ah_ID]);
Daraus folgt aa_ID = eine Pickupid ![]()
Wenn ich diese entferne habe ich ein Klammerfehler...
Ja..die Klammer für das case ist ja auch richtig...
Aber halt die anderen beiden nicht...und
Das sieht so aus..als hättest du nur die Hälfte von etwas kopiert xD
oder etwas gelöscht...denn da fehlt ja irgendwas..des else und der Code darunter..kommt ja irgendwie aus dem Nichts xD
Es macht wenig Sinn, die Pickupids als AutohausID zu verwenden ![]()
Da diese von anderen Pickups abhängig sind und sich immer ändern xD
Dann printe...doch mal, was die Datein so ausspucken und ob alles richtig geladen wird ![]()
Also ich bin so gar kein Freund von dini ![]()
Deshalb würde ich dir persönlich zu SQLite raten oder zu einem schnelleren File-System ![]()
Aber naja...hast du dir das mal beim Speichern geprintet oder in die Files geschaut, steht da der richtige Name drinnen?
strmid(AutohausInfo[i][aa_Name], dini_Get(path, "aaName"), false, strlen(dini_Get(path, "aaName")), 40);
Diese Zeile ist übrigens eine Katastrophe xD
Also strmid ist eigentlich so garnicht dafür gedacht.
Verwende mal format:
format(AutohausInfo[i][aa_Name],40, dini_Get(path, "aaName"));
Willst nicht noch mehr leere Klammern drüber setzen? ![]()
Der Fehler kommt, weil du nur eine leere Klammer hast und dann ein else verwendest...
Aber ohne if-Abfrage, kann es auch keine else-Abfrage geben ![]()
Also, wenn du sicher bist, dass er jetzt die richtige Farbe verwendet und die Positionen richtig sind und er dir einen vernünftigen String gibt und du sicher an dieser Position bist...dann muss es gehen ![]()
Wenn es nicht geht, ist einer der oben stehen Punkte nicht erfüllt oder du hast schon ein Limit von 1024 3DTextLabels überschritten!
Dann zeig mal wie du es lädst und speicherst, ohne Code können wir dir schlecht helfen ![]()
0xFAFAFA00
Das hier ist der Fehler ![]()
00 am Ende steht für den Alpha Kanal, also für die Transparenz. 00 bedeutet, dass es total transparent ist..deshalb siehst du es nicht, so transparent ist es xD
Also einfach mal auf FF z.B. ändern ![]()
von der verkackten NSA weil discord ein amerikanisches unternehmen ist
Genau, da die NSA sich nur um amerikanische Unternehmen kümmert ![]()
Wie hast du denn weiß definiert?
5 als DrawDistance ist bisschen wenig xD
Und deine Virtuelle Welt ist auch sicher 0? ![]()
Gibt doch bestimmt super viele Anwendungen dafuer
Wo man einen Index in einer sortieren Liste finden muss? ![]()
Ich denke..eher nicht so ![]()