Beiträge von M4rciii

    if(strcmp(cmd,"/detektive",true) == 0)
    {
    new dets = 0;
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && PlayerInfo[i][pJob] == 1)
    {
    GetPlayerName(i,giveplayer,sizeof(giveplayer));
    format(string,sizeof(string)," Detektiv %s[%d] Telefon: %d",giveplayer,i,PlayerInfo[playerid][pPnumber]);
    SendClientMessage(playerid,COLOR_YELLOW,string);
    dets++;
    }
    }
    if(dets == 0) SendClientMessage(playerid,COLOR_YELLOW," Es ist kein Detektiv online!!");
    return 1;
    }

    Du hast es in for(new c=0 ... gesetzt, das heißt, der Timer wird 700 Mal gestartet => Fehlfunktion und Total Resourcenverschwendend.
    Mach es so rein:
    public OnGameModeInit()
    {
    SetTimer("WerbeText",60000,1);
    new string[MAX_PLAYER_NAME];
    new string1[MAX_PLAYER_NAME];
    //... Und so weiter... restlicher Code

    Afaik, crasht das den Server oder den Spieler. Benutze " " <= Also mit Leerzeichen darin. Oder benutzt einfach diese Funktion:
    stock ClearChat(playerid,lignes)
    {
    if(lignes > 0)
    {
    if(playerid < 0 || playerid >= MAX_PLAYERS || !IsPlayerConnected(playerid)) // also zum Beispiel bei -1 = Alle
    {
    for(new MSG = 0; MSG < lignes; MSG++)
    {
    SendClientMessageToAll(0x00000000," ");
    }
    }
    else
    {
    for(new MSG = 0; MSG < lignes; MSG++)
    {
    SendClientMessage(playerid,0x00000000," ");
    }
    }
    }
    return 1;
    }
    Wenn du nun bei einem Spieler 5 Leerzeilen machen willst:
    ClearChat(playerid,5);
    Wenn du bei allen Spielern die Chatbox clearen lassen willst:
    ClearChat(-1,50); // -1 = eine Invalide ID | 50 = Zeilen der gesamten Chatbox

    Wenn man keine Ahnung hat....
    Ne, also aus GF kopieren kann er selber. Er will seinen eigenen CMD mit strget und kein strtok.
    Außerdem ist das da nicht drin, wonach er letztendlich gesucht hat.

    Selbst ist der Mann/erazor.
    Oben alle SpawnKoordinaten:
    new Float:gRandomPlayerSpawns[][3] = {
    {1958.3783,1343.1572,15.3746},
    {2199.6531,1393.3678,10.8203},
    {2483.5977,1222.0825,10.8203},
    {2637.2712,1129.2743,11.1797},
    {2000.0106,1521.1111,17.0625},
    {2024.8190,1917.9425,12.3386},
    {2261.9048,2035.9547,10.8203},
    {2262.0986,2398.6572,10.8203},
    {2244.2566,2523.7280,10.8203},
    {2335.3228,2786.4478,10.8203},
    {2150.0186,2734.2297,11.1763},
    {2158.0811,2797.5488,10.8203},
    {1969.8301,2722.8564,10.8203},
    {1652.0555,2709.4072,10.8265},
    {1564.0052,2756.9463,10.8203},
    {1271.5452,2554.0227,10.8203},
    {1441.5894,2567.9099,10.8203},
    {1480.6473,2213.5718,11.0234},
    {1400.5906,2225.6960,11.0234},
    {1598.8419,2221.5676,11.0625},
    {1318.7759,1251.3580,10.8203},
    {1558.0731,1007.8292,10.8125},
    {1705.2347,1025.6808,10.8203} // Beim letzten kein Komma
    };
    Bei OnplayerSpawn:
    new rand = random(sizeof(gRandomPlayerSpawns));
    SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); // Warp the player

    Wenn du schon weißt, dass es im LVDM ist, dann kannst du auch einfach die Arbeit machen, nach gRandomPlayerSpawns zu schauen und es kopieren bzw dir anschauen.

    public SendClientMessageToAdmin(level, color, const string[])
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && PlayerInfo[i][pAdmin] >= level)
    {
    SendClientMessage(i,color,string);
    }
    }
    return 1;
    }
    Anstatt PlayerInfo[i][pAdmin] musst du deine AdminLevelVariable einsetzen

    if(modeild == 422)
    AddVehicleComponent(422, tuningid);
    Da bin ich mir aber sicher, dass es nicht funktioniert ;)
    public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger)
    {
    if(GetVehicleModel(vehicleid) == 422)
    {
    AddVehicleComponent(vehicleid,1010);
    }
    return 1;
    }

    1. Wenn schon dann:
    #define TEXT "Hallo Welt"
    SendClientMessage(playerid,COLOR_LIGHTBLUE,TEXT);
    2. Wozu der Ganze Aufwand? Du könntest es auch lösen:


    new Texte[][100] = {
    "Willkommen auf dem Server!",
    "Du kannst dich nun registrieren!",
    "Du kannst dich nun einloggen!",
    " %s hat den Server betreten!"
    };


    public OnPlayerConnect(playerid)
    {
    SendClientMessage(playerid,COLOR_YELLOW,Texte[0]);
    if(!RegisteredAccount[playerid]) SendClientMessage(playerid,COLOR_GREEN,Texte[1]);
    else SendClientMessage(playerid,COLOR_GREEN,Texte[2]);
    new name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(str,sizeof(str),Texte[3],name);
    SendClientMessageToAll(COLOR_GREY,str);
    return 1;
    }
    Aber wie gesagt: UMSTÄNDLICH!

    Hm...also wenn du deinen gesamten GameMode so aufbauen willst, dann wird das kein Zuckerschlecken...
    Du musst aus einer Datei in ein riesiges Array lesen und dann zum Beispiel sowas hier benutzen....Das ist nicht so wirklich einfach.
    SendClientMessage(playerid,COLOR_YELLOW,ReadText[361]);

    Wo zum teufel kann man sich denn als Experte bewerben...

    Wenn man sein Profil editiert, kann man auf die Benutzergruppen und da sind da Experten. Dann dann auf Bewerben klicken.
    Das hab ich gestern Nacht gemacht und warte auf ein Antwort :)

    Ganz ehrlich habe ich es auch nicht getestet, aber eigentlich müsste es so gehen:
    public OnPlayerEnterVehicle()
    {
    if(vehicleid == tune1)
    {
    AddVehicleComponent(tune1, 1010); // die 1010 ist Nitro... wenn man mehr tuning will noch eins drunter
    AddVehicleComponent(tune1, 1074); // das sind Mega Reifen...
    }
    return 1;
    }
    Deins checkt ab, ob es das Car tune1 ist und gibt ihm Nitro. Dann gibt es jedem Auto, in das eingestiegen wird Mega Reifen...Is so. (Hoffe ich)

    Ahhh...jetzt habs ich kapiert...Ich war gewöhnt, dass das 1. Parameter dann vehicleid ist. Sorry dafür ;)