Beiträge von Micktor

    Die letzten 4 Themen sind eig alle sinnlos
    Raucht ihr ??
    Kifft ihr ??
    welches Handy habt ihr ??
    und das hier ...
    Pixel


    b2t :
    Kennt eig jeder aber wenn man das auf youtube eingibt sieht man sich wie sich die Kinder erschrecken :D

    Hallo ,
    ich versuche mir grade die schleifen etwas genauer anzuschauen habe hier 2 Beispiel die
    nicht so ganz funktionieren wie ich es eigentlich gedacht habe.
    DO:
    new x=5;
    new y=2;
    do
    {
    new str[32];
    format(str,32,"X=%d,Y=%d",x,y);
    SendClientMessageToAll(COLOR_DEBUG,str);
    y++;
    }
    while(x>y);
    soll heißen tue was in do steht während x größer als y ist aber er tut es dauer haft .. also man wird im Chat zu gespammt
    FOR:
    for(new x;x<=3;x++)
    {
    new str[32];
    format(str,32,"X=%d",x);
    SendClientMessageToAll(COLOR_DEBUG,str);
    }
    soll heißen mache solange was in for steht bis x = 3 ist also die Message sollte 3 mal kommen
    hier wird man aber auch wieder im Chat zugesammt und es kommt X=0,X=1,X=2,X=3
    also 4 mal
    was eigentlich nicht sein dürfte
    hoffe ihr könnt mir es erklären
    pixel

    dasdcmd_slap(playerid,cmdtext)
    {
    new pID,pSize;
    if(sscanf(params, "dd",pID,pSize))
    {
    //wenn nur /slap eingegeben worden ist
    }
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(pID,X,Y,Z);
    SetPlayerPos(pID,X,Y,Z+pSize);
    return 1;
    }

    in das ersetzten das geht es hoffe ich
    dcmd_slap(playerid,params[])
    {
    new pID,pSize;
    if(sscanf(params,"dd",pID,pSize))
    {
    return SendClientMessage(playerid,COLOR_ROT,"Verwendung: /slap [playerid] [höhe]");
    }
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(pID,X,Y,Z);
    SetPlayerPos(pID,X,Y,Z+pSize);
    return 1;
    }

    Zitat

    Hast du aber fein erklärt, bekommst Seife, meld dich mal.

    Fühlst du dich jetzt ganz toll ??
    Ganz ehrlich das ist kiddy ...


    B2T:
    Wie oben schon gesagt du solltest dir das hier mal durchlesen

    Ok hier sollte gehen
    Oben in deinem Script unter include <a_samp>
    kommt das
    #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
    unter OnPlayerCommandText kommtdcmd(slap,4,cmdtext);
    das dcmd_slap(playerid,cmdtext)
    {
    new pID,pSize;
    if(sscanf(params, "dd",pID,pSize))
    {
    //wenn nur /slap eingegeben worden ist
    }
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(pID,X,Y,Z);
    SetPlayerPos(pID,X,Y,pSize);
    return 1;
    }

    kommt ganz nach unten und 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;
    }kommt auch ganz nach unten

    Arg stimmt dcmd_slap(playerid,cmdtext)
    {
    new pID,pSize;
    if(sscanf(params, "df",pID,pSize)) //<<<---- so meinst du ??
    {
    //wenn nur /slap eingegeben worden ist
    }
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(pID,X,Y,Z);
    SetPlayerPos(pID,X,Y,pSize);
    return 1;
    }

    dcmd(slap,4,cmdtext);
    dcmd_slap(playerid,cmdtext)
    {
    new pID,pSize;
    if(sscanf(params, "dd",pID,pSize))
    {
    //wenn nur /slap eingegeben worden ist
    }
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(pID,X,Y,Z);
    SetPlayerPos(pID,X,Y,pSize);
    return 1;
    }

    Nicht getestet

    Hier mal ein Beispiel
    public OnPlayerText(playerid, text[])
    {
    new Rang = SpielerDaten[playerid][Adminlevel];
    new Nachricht[256];
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    switch(Rang)
    {
    case 1:{format(Nachricht,sizeof(Nachricht),"Supporter %s:%s",pName,text);}
    case 2:{format(Nachricht,sizeof(Nachricht),"Moderator %s:%s",pName,text);}
    case 3:{format(Nachricht,sizeof(Nachricht),"Admin %s:%s",pName,text);}
    }
    return SendClientMessage(playerid,COLOR_WEISS,Nachricht);
    }
    Hoffe das ist das was ihr meint nicht getestet
    Pixel
    //edit bei ]hp[´s Variante wird immer [Admin] Text gemachtbei meiner nicht
    kleinen Bug gefixxt ;)

    Ich finde die Seite ansich schön und übersichtlich aufgebaut und der Schlagschatten gefällt mir auch aber der graue Hintergrund ist zu einfach

    Kein Wunder
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/rentcar", cmdtext, true, 0) == 0)
    {
    new Vehicle = GetPlayerVehicleID(playerid);
    if(Vehicle == BMX1 || Vehicle == BMX2 || Vehicle == BMX3 || Vehicle == BMX4 || Vehicle == BMX5 || Vehicle == BMX6){ //<-- die ist zu viel einfach weg machen
    {
    GivePlayerMoney(playerid,-25);
    TogglePlayerControllable(playerid, 1);
    mietauto = Vehicle;
    renttimer = SetTimer("rentcar",15000,false);
    SendClientMessage(playerid,COLOR_GREEN,"Du hast dieses Auto erfolgreich gemietet.");
    }
    else
    {
    SendClientMessage(playerid,COLOR_GREEN,"Du bist in keinem Mietauto");
    }
    return 1;
    }
    return 0;
    }
    Netter Name ;)