Ich suche ebend einen Fahrzeugbefehl,
das man ein Fahrzeug spawnt habe ich ja schon hinbekommen,
aber bei mir happerts wenn ich /veh FahrzeugID mache.
ich weiß nicht wie ich das machen soll das ich hinter das /veh die FahrzeugID machen kann^^
Also das ich irgendeine FahrzeugID machen kann.
Zum beispiel /veh 541 oder ebend /veh 449 .
So zum Beispiel^^
[Suche] Fahrzeugbefehl
- Osse
- Geschlossen
- Erledigt
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
-
-
benutzt du strtok oder sscanf
-
Nöps^^
Kannste mir vielleicht mal nen Beispiel schreiben?
Mit 2 Fahrzeug beispielen ebend,
den Rest würde ich ja selbver machen q: -
falls nicht vorhanden im Script
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}cmd
new cmd[128], idx, Para[32];
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/car", true) == 0)
{
Para = strtok(cmdtext, idx);
if(!Para[0])return SendClientMessage(playerid, Deine Farbe, "Verwendung : /car [Model Id]");
new ID = strval(Para);
if(ID <400 || ID > 611)return SendClientMessage(playerid, Deine Farbe, "Es gibt nur Carids von 400 bis 611");
new Float:X, Float:Y, Float:Z, Float:Rotation;
GetPlayerPos(playerid, X, Y, Z);GetPlayerFacingAngle(playerid, Rotation);
CreateVehicle(ID, X, Y, Z, Rotation, 0,0 60000);
return true;
}habs hier im Forum geschrieben kann Fehler enthalten sollte aber gehen
-
Wo würde das erste hinkommen?
Edit//
habe es jz so
public OnPlayerCommandText(playerid, cmdtext[])
{strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}new cmd[128], idx, Para[32];
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/car", true) == 0)
{
Para = strtok(cmdtext, idx);
if(!Para[0])return SendClientMessage(playerid, 0xFFFFFFFF, "Verwendung : /car [Model Id]");
new ID = strval(Para);
if(ID <400 || ID > 611)return SendClientMessage(playerid, 0xFFFFFFFF, "Es gibt nur Carids von 400 bis 611");
new Float:X, Float:Y, Float:Z, Float:Rotation;
GetPlayerPos(playerid, X, Y, Z);GetPlayerFacingAngle(playerid, Rotation);
CreateVehicle(ID, X, Y, Z, Rotation, 0,0 60000);
return true;
}return 1;
}Aber wenn ich das mache,kommt immer
C:\Users\Osse\Downloads\Server R4\Server R4\gamemodes\Testscriptrl.pwn(180) : error 001: expected token: ";", but found "("
C:\Users\Osse\Downloads\Server R4\Server R4\gamemodes\Testscriptrl.pwn(180) : error 029: invalid expression, assumed zero
C:\Users\Osse\Downloads\Server R4\Server R4\gamemodes\Testscriptrl.pwn(180) : error 017: undefined symbol "index"
C:\Users\Osse\Downloads\Server R4\Server R4\gamemodes\Testscriptrl.pwn(180) : fatal error 107: too many error messages on one lineAlso ich weiß was es bedeutet aber ich weiß nicht wie ich es beheben kann,soll q:
-
irgendwo im Script das erste du kannst keine Funktion in ner anderen Funktion einfügen
-
Wie bitte?
Nochmal jz xD -
die strtok Funktion irgendwo ausserhalb eines Callbacks du kannst keine stock Funktion in einer anderen Stock Funktion / Callback oder normale Funktion mit einfügen
-
breadfish.de
Hat das Thema geschlossen.