muss aber iiis oder ddds sein
Versuchs so:
if(sscanf(params,"ddds",vID,vC1,vC2,nschild))return SendClientMessage(playerid,ROT,"Benutzung: /veh [vID] [Color1] [Color2] [Nummernschild]");//hier sind die Errors!
muss aber iiis oder ddds sein
Versuchs so:
if(sscanf(params,"ddds",vID,vC1,vC2,nschild))return SendClientMessage(playerid,ROT,"Benutzung: /veh [vID] [Color1] [Color2] [Nummernschild]");//hier sind die Errors!
Ich machs schnell ich editiere dann...
Manchmal denke ich mir auch, wo habt ihr euer Gehirn gelassen...
@DJ D!_Deagle: Einfach Copy & Paste von GrooveTazer machen bringt dir rein GARNICHTS!
#define MAX_ZONE_NAME 64
Wenn du ein gutes Selfmade hast, dann schon.
Bestes Beispiel: MrMonat (Glaub ich ^^)
//BTT: LoH 0.4, damit kann man viel anfangen...
Entschuldigung für meine Wortwahl, aber bei mir Zuhause gibts bissl Stress
Gibt genügend gute Tutorials, wo du die Grundlagen lernst.
Seid ihr irgendwie blöd?
Ihr lernt nie scripten, wenn es euch jemand scriptet oder ihr Copy & Paste macht!
Ich hab früher auch immer Copy & Paste gemacht und hab nicht verstanden, wieso gerade das das macht...
Als ich mir mal den Stock ausm Gehirn gezogen hab, hab ich selber mal Zeug gescriptet...
Also, merk dir / euch meine Worte.
Lern doch selber Scripten und versuchs
Denn wenn man scriptet, und es nicht einmal kann, ist es sinnlos
Schau mal im wiki nach
OnPlayerRequestClass
ocmd:givelicense(playerid,params[])
{
new pID, licname[20];
if(!isPlayerInFrakt(playerid,8))return SendClientMessage(playerid,Rot,"Du bist kein Mitglied der Fahrschule!");
if(sscanf(params,"us",pID,licname))return SendClientMessage(playerid,Hellblau,"Benutzung: /givelicense [ID] [LicensenName]=Auto, Motorrad, Boot, Flug, Waffen");
if(strcmp(licname,"Auto",true)==0)
{
}
else if(strcmp(licname,"Motorrad",true)==0)
{
}
else if(strcmp(licname,"Boot",true)==0)
{
}
else if(strcmp(licname,"Flug",true)==0)
{
}
else if(strcmp(licname,"Waffen",true)==0)
{
}
else SendClientMessage(playerid,Hellblau,"Benutzung: /givelicense [ID] [LicensenName]=Auto, Motorrad, Boot, Flug, Waffen");
return 1;
}
Nurnoch ausfüllen
PlayerInfo[pID][LICENSE] = ...
Es macht keiner weil es unnötig ist.
Die Hauptsache ist doch Cops Jagen Verberecher und Verbrecher brechen die Regeln, das ist doch der ganze Spaß sowie Gangwars wer will da schon eine Ausbildung oder was auch immer machen, ich hätte auf sowas kein bock.
Dann brauchst du ja auch nicht auf solchen Servern spielen.
Also mir würde das halt Spaß machen, weil ich halt son RP-Fanatiker bin xD
Hab da selber son Projekt am laufen... Naja, sehts ja dann 2012
Ganz ehrlich: Trottel... Aber ok, bist neu
Du sollst 1. WUNSCHFRAKTIONSID mit der ID ändern, in welche Fraktion der user kommen soll...
2. füg das mal unten ein:
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;
}
0.3e?
Was wird da wohl kommen?
Kann man mit den großen Abschleppwagen, also diese Lasttransporter (Bild unten) vl. Autos richtig drauf parken, ohne dass die da runter fliegen?
Versuch mal so
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
new PlayerFraktion[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
PlayerFraktion[playerid] = WUNSCHFRAKTIONSID;
return 1;
}
public OnPlayerCommandText(playerid,cmdtext[])
{
dcmd(team,4,cmdtext);
return 0;
}
dcmd_team(playerid,params[])
{
new text[128];
if(sscanf(params,"s",text)) return SendClientMessage(playerid,0xFF0000FF,"FEHLER: /team [Text]");
new pName[24];
GetPlayerName(playerid,pName,24);
format(text,128,"[( %s: %s )]",pName,text);
new team = GetPlayerTeamID(playerid);
SendTeamMessage(team,0xFF0000FF,text);
return 1;
}
stock GetPlayerTeamID(playerid)
{
return PlayerFraktion[playerid];
}
stock SendTeamMessage(const team, color, const string[])
{
for(new i;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(PlayerFraktion[i] == team)
{
SendClientMessage(i,color,string);
}
}
}
return 1;
}
er meint das Pause System, wenn man ESC drückt
Das ist schon ne herausforderung
Ein afk system, wie ihr es meint, schaff ich euch in ~5 Minuten