Beiträge von RedStyle

    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 ?

    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;
    }

    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

    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