Somit ist es noch einfacher:
ocmd:a(playerid,params[])return ocmd_auto(playerid,params);
Beiträge von theTV
In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
-
-
Niemand?
meinst du sowas?
Spoiler anzeigen
ocmd:saveauto(playerid,params[])
{
new Autodatei[64];
new Float:x,Float:y,Float:z,Float:rotation;
new vehicle=GetPlayerVehicleID(playerid);
new vehicleid=GetVehicleModel(vehicle);
GetPlayerPos(playerid,x,y,z);
GetVehicleZAngle(vehicle,rotation);
format(Autodatei,sizeof(Autodatei),"/Autos/%d.dat",vehicleid);
if(dini_Exists(Autodatei))
{
dini_IntSet(Autodatei,"Modelid",vehicleid);
dini_FloatSet(Autodatei,"x_pos",x);
dini_FloatSet(Autodatei,"y_pos",y);
dini_FloatSet(Autodatei,"z_pos",z);
dini_FloatSet(Autodatei,"Rotation",rotation);
}
else
{
dini_Create(Autodatei);
dini_IntSet(Autodatei,"Modelid",vehicleid);
dini_FloatSet(Autodatei,"x_pos",x);
dini_FloatSet(Autodatei,"y_pos",y);
dini_FloatSet(Autodatei,"z_pos",z);
dini_FloatSet(Autodatei,"Rotation",rotation);
}
SendClientMessage(playerid,-1,"Auto erfolgreich gespeichert");
return 1;
}
stock AutoLaden()
{
new Autodatei[64];
for(new i=0;i<612;i++)
{
new CAR;
new Float:X, Float:Y, Float:Z,Float:R;
format(Autodatei,sizeof(Autodatei),"/Autos/%d.dat",i);
CAR=dini_Int(Autodatei,"Modelid");
X=dini_Float(Autodatei,"x_pos");
Y=dini_Float(Autodatei,"y_pos");
Z=dini_Float(Autodatei,"z_pos");
R=dini_Float(Autodatei,"Rotation");
CreateVehicle(i,X,Y,Z,R,-1,-1,-1);
}
return 1;
}
-
neue streamer.inc downloaden und dann neu kompilieren
-
CreateVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)
-
bei onplayerdeath abfragen ob killerid ein polizist ist und dann mit setplayerpos in den knast schicken
-
Wo liegt jetzt dein Problem?
-
manno ...... Leute Köpfchen anstrengen! Ist das so schwer?
if(strcmp(cmd, "/orten", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(!IsACop(playerid))
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /orten [Spieler ID]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(giveplayerid, X,Y,Z);
SetPlayerCheckpoint(playerid, X,Y,Z, 6);
SetTimerEx("OrtenUpdate",1000,1,"ii",playerid,giveplayerid);
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Falsche ID!");
}
}
return 1;
} -
(playerid, Float:x, Float:y, Float:z, Float:size)
playerid The ID of the player to set the checkpoint of
Float:x The X coordinate to set the checkpoint at
Float:y The Y coordinate to set the checkpoint at
Float:z The Z coordinate to set the checkpoint at
Float:size The size of the checkpoint -
bsp.:
SetTimerEx("OrtenUpdate",1000,1,"ii",playerid,giveplayerid);forward OrtenUpdate(playerid,giveplayerid);
public OrtenUpdate(playerid,giveplayerid)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(giveplayerid, X,Y,Z);
SetPlayerCheckpoint(playerid, X,Y,Z, 6);
return 1;
} -
Zitat
und ... das hat jetzt genau was zum Thema zu tun?
das %i und %d das gleiche ist ... -
if(!strcmp("/stats", cmdtext, true))
{
new string[128],name[24];
GetPlayerName(playerid,name,24);
format(string,sizeof(string),"Name: %s\nLevel: %d\nMoney: %d\nPing: %d\nAdminlevel: %d",name,GetPlayerScore(playerid),GetPlayerMoney(playerid),GetPlayerPing(playerid),GetPVarInt(playerid,"Adminlevel")); // i% zu %d und ein Komma hinzugefügt
ShowPlayerDialog(playerid,STATS,DIALOG_STYLE_MSGBOX,"Deine Statistik",string,"OK","");
return 1;
} -
du hast bei Adminlevel i%
es muss %i -
Genau so funktioniert er bei mir:
ocmd:kick(playerid,params[])
{
new pID, reason[128],str[128];
if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,blau,"/kick [id] [grund]");
if(pID==playerid)return SendClientMessage(playerid,blau,"Du kannst dich nicht selber kicken");
format(str,sizeof(str),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
SendClientMessageToAll(rot,str);
Kick(pID);
return 1;
}Falls du kein sscanf hast hier der stock:
Spoiler anzeigen
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;
}
einfach unten in den Gamemode einfügen -
Zitat
SetPlayerAttachedObject(playerid,0,1550,1,0.070999,-0.285000,0.016999,3.200000,84.000015,0.699999,0.913000,0.907999,0.778000);
Probier mal. -
enum kasse // ich habe ; entfernt
{
1, //LSPD
2, //FBI
3, //Bundeswehr
4, //Ordnungamt
5, //News
6, //Medic
7, //Fahrschule
8, //Staat
9, //Terrioristen
10, //Hitman
11, //Wheelman
12, //Yakuza
13, //La Cosa Nostra
14, //Grove Street
15 //Ballas
}; // habe ; hinzugefügt -
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte geben Sie ihr gewünschtes Passwort an:","Registrieren";"Abbrechen");
ich hab ; zu , gemacht.
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Bitte geben Sie ihr gewünschtes Passwort an:","Registrieren","Abbrechen"); -
erstell einfach eine variable und frag sie ab bsp.:
new var=0;if(var==0)
{
//setzt sirene auf dach
var=1;
}
else
{
//zerstört sirene
var=0;
} -
er meint, wenn er eine datei abspeichern will mit einer endung .txd wird sie nicht gespeichert
-
umlaute gehen nicht im befehl oder?(äöü)
-