Hi
Kann mir einer sagen wie ich die koords eines 3d labels rausbekomme der über einen spieler ist ?
also z.B ich möchte ein label rechts vom player haben.
also über den kopf
hoffe ihr versteht was ich meine
//EDIT: also gibt es dafür ein tool ?
Hi
Kann mir einer sagen wie ich die koords eines 3d labels rausbekomme der über einen spieler ist ?
also z.B ich möchte ein label rechts vom player haben.
also über den kopf
hoffe ihr versteht was ich meine
//EDIT: also gibt es dafür ein tool ?
ich find keins
Aso kann mir wer ein fs/link geben, wo man mit /towcar autos abschleppen kann ? also nur wenn man in nem towcar sitzt
Hallo.
Ich hab ein Problem mit den Nummernschild.
Es kommen keine Errors, aber wenn ich im server in einem car bin und es versuche crasht mein game.
Wie kann ich das beheben ?
Code:
dcmd_setplate(playerid,params[])
{
new plate[256];
if(pInfo[playerid][Adminlevel]<= 2) SendClientMessage(playerid,0xFF0000FF,"You need Admin Level 2 to use this Command");
else if(sscanf(params,"s",plate)) SendClientMessage(playerid,0xFF0000FF,"{FF0000}|- System -| {FFFFFF}Usage: /setplate [numberplate]");
else
{
new vehicle = GetPlayerVehicleID(playerid);
format(plate,sizeof(plate),"%s",plate);
SetVehicleNumberPlate(vehicle,plate);
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
SetVehicleToRespawn(vehicle);
SetVehiclePos(vehicle,x,y,z);
PutPlayerInVehicle(playerid,vehicle,0);
}
return 1;
}
pls helfen
Hallo.
WIe scohn als Theardname gesagt habe ich ein Problem mit Dcmd und Sscanf.
Wenn ich es auf mein HomeServer starten möchte und ingame Teste funktioniert es.
Wenn ich es auf samp4you.com hochlade und teste geht der Server aus
Kann mir einer helfen bitte ?
PS: ich benuitze das alte Sccanf code
Command:
dcmd_selfkick(playerid, params[])
{
new
Grund,
name[MAX_PLAYERS],
string[256];
if (sscanf(params, "s", Grund)) SendClientMessage(playerid,0xFF0000FF,"{FFFFFF}Please use {FF0000}/selfkick [reason]");
else
{
GetPlayerName(playerid,name,sizeof(name));
format(string,sizeof(string),"{FF0000}%s {FFFFFF}was kicked from the Server. {FF0000}Reason: %s. [SELFKICK]",name,Grund);
SendClientMessageToAll(0xFF0000FF,string);
Kick(playerid);
}
return 1;
}
Scanf Code :
/*----------------------------------------------------------------------------*-
Function:
sscanf
Params:
string[] - String to extract parameters from.
format[] - Parameter types to get.
{Float,_}:... - Data return variables.
Return:
0 - Successful, not 0 - fail.
Notes:
A fail is either insufficient variables to store the data or insufficient
data for the format string - excess data is disgarded.
A string in the middle of the input data is extracted as a single word, a
string at the end of the data collects all remaining text.
The format codes are:
c - A character.
d, i - An integer.
h, x - A hex number (e.g. a colour).
f - A float.
s - A string.
z - An optional string.
pX - An additional delimiter where X is another character.
'' - Encloses a litteral string to locate.
u - User, takes a name, part of a name or an id and returns the id if they're connected.
Now has IsNumeric integrated into the code.
Added additional delimiters in the form of all whitespace and an
optioanlly specified one in the format string.
-*----------------------------------------------------------------------------*/
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;
}
ahhh danke euch
es klappt
kannst du mir ma ein beispiel geben ? z.B mit vehicleid 520
sry für push aber kann mir keiner helfen ?
Hmm wie wäre es wenn du uns einmal dein FS/Gm zeigen würdest ?
Vieleicht können dann welche oder auch ich versuchen deine warns wegzubekommen.
Mfg: NeVeR
Hi ich wollte gerne ein paar Cars/planes verbieten.
dazu hab ich das bei OnPlayerUpdate gemacht weil es mit OnPlayerEnter Vehicle nicht geht :))
if(GetPlayerVehicleID(playerid) == 520)
{
new string[256];
warn[playerid]++;
format(string,sizeof(string),"{FC0000}Warning: {00F8FC}You can´t Drive with this Vehicle {FCF800}[Warn:%d/3]",warn[playerid]);
SendClientMessage(playerid,0xFF0000FF,string);
RemovePlayerFromVehicle(playerid);
return 1;
}
so nun ist aber mein problem dass wen ich in einer hydra sitze das da keine message kommt oder rausgeschmissen werde.
kann mir einer pls helfen
Dafür gibt es ein Tutorial.
Klick :thumbsup:
Nabend.
Geh mal in den pawno Ordner und starte dort die Pawnocc.exe.
Dann öffne dein GM/FS und versuch zu compillern.
Sollte dieser Fehler weiterhin auftauchen dann lad dir dini neu runter.
//EDIT: Poste mal 3 Zeilen vor und nach dem Der Error kommt mit der Errorzeile