Hallo liebes Forum,
ich suche ein Script womit man zum Beispiel auf einem Parkplatz / Garage etc.
einen Punkt setzen kann wo man
Autos Umlackieren kann die
man nicht in eine Werkstatt stecken kann.
zb: ( /lackieren [Farb ID] [Farb2 ID] )
Vielen Dank schon mal im Voraus !
Suche Lackiersystem für Fahrzeuge / Flugzeuge.
- BiosDaddy
- 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
-
-
wenn du ocmd hast so:
ocmd:lackieren(playerid,params[])
{
if(IsPlayerInRangeOfPoint(playerid,5,PosX,PosY,PosZ))
{
new Farbe1,Farbe2;
if(sscanf(params,"ii",Farbe1,Farbe2))return SendClientMessage(playerid,COMMANDOFARBE,"/lackieren [Farb ID][Farb2 ID]");
{
ChangeVehicleColor(GetPlayerVehicleID(playerid),Farbe1,Farbe2);
}
}
return 1;
}
}Müsste so eigentlich gehn
-
Ok danke sollte gehen xD
//edit ich bin der scripter xD
//edit da kommmen 2 errors C:\Users\Pc\Desktop\MonsterReallife\MonsterReallife\gamemodes\smoke.pwn(3010) : error 017: undefined symbol "sscanf"
C:\Users\Pc\Desktop\MonsterReallife\MonsterReallife\gamemodes\smoke.pwn(3010) : error 017: undefined symbol "COMMANDOFARBE" -
Hast du das zufällig in strcmp?
-
-.-
Das is auch kein Copy & Paste -.-
Das mit Commandofarbe ist die Farbe wie das gesendet werden soll...
und sscanf ist das hier:
stock sscanf(string[], format[], {Float,_}:...)
{
#if defined isnull
if (isnull(string))
#else
if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
#endif
{
return format[0];
}
#pragma tabsize 4
new
formatPos = 0,
stringPos = 0,
paramPos = 2,
paramCount = numargs(),
delim = ' ';
while (string[stringPos] && string[stringPos] <= ' ')
{
stringPos++;
}
while (paramPos < paramCount && string[stringPos])
{
switch (format[formatPos++])
{
case '\0':
{
return 0;
}
case 'i', 'd':
{
new
neg = 1,
num = 0,
ch = string[stringPos];
if (ch == '-')
{
neg = -1;
ch = string[++stringPos];
}
do
{
stringPos++;
if ('0' <= ch <= '9')
{
num = (num * 10) + (ch - '0');
}
else
{
return -1;
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num * neg);
}
case 'h', 'x':
{
new
num = 0,
ch = string[stringPos];
do
{
stringPos++;
switch (ch)
{
case 'x', 'X':
{
num = 0;
continue;
}
case '0' .. '9':
{
num = (num << 4) | (ch - '0');
}
case 'a' .. 'f':
{
num = (num << 4) | (ch - ('a' - 10));
}
case 'A' .. 'F':
{
num = (num << 4) | (ch - ('A' - 10));
}
default:
{
return -1;
}
}
}
while ((ch = string[stringPos]) > ' ' && ch != delim);
setarg(paramPos, 0, num);
}
case 'c':
{
setarg(paramPos, 0, string[stringPos++]);
}
case 'f':
{new changestr[16], changepos = 0, strpos = stringPos;
while(changepos < 16 && string[strpos] && string[strpos] != delim)
{
changestr[changepos++] = string[strpos++];
}
changestr[changepos] = '\0';
setarg(paramPos,0,_:floatstr(changestr));
}
case 'p':
{
delim = format[formatPos++];
continue;
}
case '\'':
{
new
end = formatPos - 1,
ch;
while ((ch = format[++end]) && ch != '\'') {}
if (!ch)
{
return -1;
}
format[end] = '\0';
if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
{
if (format[end + 1])
{
return -1;
}
return 0;
}
format[end] = '\'';
stringPos = ch + (end - formatPos);
formatPos = end + 1;
}
case 'u':
{
new
end = stringPos - 1,
id = 0,
bool:num = true,
ch;
while ((ch = string[++end]) && ch != delim)
{
if (num)
{
if ('0' <= ch <= '9')
{
id = (id * 10) + (ch - '0');
}
else
{
num = false;
}
}
}
if (num && IsPlayerConnected(id))
{
setarg(paramPos, 0, id);
}
else
{
#if !defined foreach
#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
#define __SSCANF_FOREACH__
#endif
string[end] = '\0';
num = false;
new
name[MAX_PLAYER_NAME];
id = end - stringPos;
foreach (Player, playerid)
{
GetPlayerName(playerid, name, sizeof (name));
if (!strcmp(name, string[stringPos], true, id))
{
setarg(paramPos, 0, playerid);
num = true;
break;
}
}
if (!num)
{
setarg(paramPos, 0, INVALID_PLAYER_ID);
}
string[end] = ch;
#if defined __SSCANF_FOREACH__
#undef foreach
#undef __SSCANF_FOREACH__
#endif
}
stringPos = end;
}
case 's', 'z':
{
new
i = 0,
ch;
if (format[formatPos])
{
while ((ch = string[stringPos++]) && ch != delim)
{
setarg(paramPos, i++, ch);
}
if (!i)
{
return -1;
}
}
else
{
while ((ch = string[stringPos++]))
{
setarg(paramPos, i++, ch);
}
}
stringPos--;
setarg(paramPos, i, '\0');
}
default:
{
continue;
}
}
while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
{
stringPos++;
}
while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
{
stringPos++;
}
paramPos++;
}
do
{
if ((delim = format[formatPos++]) > ' ')
{
if (delim == '\'')
{
while ((delim = format[formatPos++]) && delim != '\'') {}
}
else if (delim != 'z')
{
return delim;
}
}
}
while (delim > ' ');
return 0;
}Das kommt ganz unten ins script...
-
wen ich das einfüge stürst mein pawno ab xD habe es schon als admin ausgefürt aber beim compiler immer ab
-
-
Wi arbeite ich damit ??
-
Du fragst mit sscanf die Parameter.
Also Z.B
if(sscanf(params,"ii",farbe1,farbe2))return SendClientMessage(playerid,DEINEFARBE,"Benutzung: /lackieren [Farbe 1] [Farbe 2]" -
kackt immer noch ab
-
Generel Könnt ihr auch die if abfrage bei der sscanf weglassen !!
-
kackt immer noch ab
Natürlich stürtzt der ab, ich weiß auch warum.
Mach die Augen auf, dann siehst du es.Tipp: Befindet sich in der Nähe von "ocmd:lackieren"
@Alle anderen: Nicht helfen, er soll es alleine herausfinden!
-
umbesser Zu Verstehen und besser Zu scripten zu lernen wurde ich vorschlagen mal selbst zu scripten
-
Natürlich stürtzt der ab, ich weiß auch warum.
Mach die Augen auf, dann siehst du es.Tipp: Befindet sich in der Nähe von "ocmd:lackieren"
@Alle anderen: Nicht helfen, er soll es alleine herausfinden!
Hehe Nice Hab ihn auch gefunden ;))
-
Eine klammer zu viel^^
-
Eine klammer zu viel^^
Du solltest es doch nicht verraten.xD -
breadfish.de
Hat das Thema geschlossen.