Hier steht nicht die Bezeichnung für Enter Eingabe und F http://forum.sa-mp.de/index.php?form=PostAdd&threadID=389
[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
-
-
Hier steht nicht die Bezeichnung für Enter Eingabe und F http://forum.sa-mp.de/index.php?form=PostAdd&threadID=389
Der Link ist irgendwie falsch. Was genau suchst du? -
Der Link ist irgendwie falsch. Was genau suchst du?
Suche die http://wiki.sa-mp.com/wiki/Keys nur mit Entertaste Eingabe und F -
if(newkeys == 16) --> Enter / F
-
if(newkeys == 16) --> Enter / F
Dann geht auch mit Entertaste das will ich aber nicht. -
Dann wirst du aber nichts finden.
Da F die Selbe taste ist wie Enter. -
Kennt jemand eine Animation, welche ausschaut, als würde man etwas "ausschaufeln" ?
Bin noch nicht wirklich fündig geworden und das seid ein paar Tagen.
Würde mich freuen, wenn jemand eine Animation dazu schon einmal gefunden hat
MfG
-
if(newkeys == 16)// --> Enter / F
bitte nicht == 16, wenn dann & 16.
Das liegt an der Struktur, wie die Keys von SA:Mp gehandhabt werden.Das mag zwar funktionieren, aber nur wenn keine andere Taste gedrückt wird.
Die Keys sind binär angelegt und müssen somit auch so geprüft werden
http://forum.sa-mp.com/showthread.php?t=177523 -
-
Bei multidimensionalen Arrays geht das nicht. Da musst du Format nutzen.
format(Feld[0][Besitzer], MAX_PLAYER_NAME, ""); -
Natürlich
Wie doof ich bin -_- -
Habe ein kleines Problem, bei wir wird der 1 Checkpoint nicht gelöscht und der 2. auch nicht angezeigt.
Code:
public OnPlayerEnterCheckpoint(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,5,1037.4674,2428.6323,10.8203))
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1037.4674,2428.6323,10.8203,3.0);
}
else if(IsPlayerInRangeOfPoint(playerid,5,1037.6967,2440.1572,10.8203))
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1037.6399,2452.2610,10.8203,3.0);
}Danke an euch im Vorraus

-
Die Koordinaten von "IsPlayerInRangeOfPoint" stimmen nicht.
if(IsPlayerInRangeOfPoint(playerid,5,1037.4674,2428.6323,10.8203))
{
DisablePlayerCheckpoint(playerid);
SetPlayerCheckpoint(playerid,1037.4674,2428.6323,10.8203,3.0);
}
Das sind dieselben Koordinaten, das macht keinen Sinn.------
@FerienFreak: Wo gibst du dem Spieler denn den Skin ID 1? -
Ups
xDDann habe ich die Coords wohl vertauscht und es übersehen, danke
-
Hallo! Jeffry: ((Ich markiere dich schonmal weil du eh weißt wies richtig geht :P))
ich habe ein kleines Problem.
ocmd:fcarrespawn(playerid, params[])
{
if(Spieler[playerid][fraktion] == 0) return SCM(playerid, C_DRED, "Du bist in keiner Fraktion");
if(Spieler[playerid][rang] != 8) return SCM(playerid, C_DRED, "Du bist kein Leader");
for(new i = 0; i < MAX_VEHICLES; i++)
{
if(AnyPlayerInVehicle(i)) continue;
if(i == FraktionsCars[i][f_car_id_x] && FraktionsCars[i][f_id] == Spieler[playerid][fraktion]) SetVehicleToRespawn(i);
}
format(s, sizeof(s), "%s %s hat alle Fraktions-Cars respawnt", FRangName(playerid), GetName(playerid));
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!InFrak(i, Spieler[playerid][fraktion])) continue;
SCM(i, C_YELLOW, s);
}
return 1;
}Die Cars werden zwar respawnt, ich bekomme aber vom Server ein "SERVER: Unknown Command" ausgegeben
Hoffentlich kann jmd helfen.
-
Liegt wohl an einem gesprengten Array. Welches das ist müssen wir über Debugging herausfinden:
ocmd:fcarrespawn(playerid, params[])
{
printf("Befehl gestartet: %d", playerid);
if(Spieler[playerid][fraktion] == 0) return SCM(playerid, C_DRED, "Du bist in keiner Fraktion");
if(Spieler[playerid][rang] != 8) return SCM(playerid, C_DRED, "Du bist kein Leader");
for(new i = 0; i < MAX_VEHICLES; i++)
{
printf("Gehe in V-ID: %d", i);
if(AnyPlayerInVehicle(i)) continue;
if(i == FraktionsCars[i][f_car_id_x] && FraktionsCars[i][f_id] == Spieler[playerid][fraktion]) SetVehicleToRespawn(i);
}
printf("Erste Schleife beendet.");
format(s, sizeof(s), "%s %s hat alle Fraktions-Cars respawnt", FRangName(playerid), GetName(playerid));
printf("Vor zweiter Schleife. => s = %s", s);
for(new i = 0; i < MAX_PLAYERS; i++)
{
printf("Prüfe ID: %d", i);
if(!InFrak(i, Spieler[playerid][fraktion])) continue;
SCM(i, C_YELLOW, s);
}
printf("Ende");
return 1;
}
Was wird geprintet? (Achtung, könnte viel sein!) -
-
Es kommt nur bis v-ID 99. Jeffry:
Ok, dann ändere in der Schleife:
MAX_VEHICLES
zu
sizeof(FraktionsCars); -
Danke hat geholfen!

Anderes Problem: Es werden nicht alle Cars zurückgespawnt
-
Mit alle, meinst du alle FraktionsCars deiner Fraktion?
Falls ja
if(i == FraktionsCars[i][f_car_id_x] && FraktionsCars[i][f_id] == Spieler[playerid][fraktion]) SetVehicleToRespawn(i);
zu
if(FraktionsCars[i][f_id] == Spieler[playerid][fraktion]) SetVehicleToRespawn(FraktionsCars[i][f_car_id_x]);

