Beiträge von Goldkiller

    Eigene Musik geht wie gesagt nicht.Du kannst aber ein paar von R* Sounds benutzten.
    Sound ID's
    Die Sounds wo "Music" hinter steht kannst du als Musik benutzten.Die laufen aber in einer endlosschleife und werden erst gestopt wenn den Stop Sound der Musik abspielt.
    zB
    zum Starten, SOUND_GOGO_TRACK_START 1062
    zum beenden SOUND_GOGO_TRACK_STOP 1063



    public OnPlayerRequestClass(playerid, classid)
    {
    PlayerPlaySound(playerid,1068,0.0,0.0,0.0);
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    PlayerPlaySound(playerid,1069,0.0,0.0,0.0);
    return 1;
    }

    Zitat


    Wie mache ich, das wenn sich jemand teleportiert links die anzeige kommt: PLAYER hat sich nach /dm teleportiert kommt?


    stock PlayerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }
    //Unter deinen Command
    new string[128];
    format(string,128,"Der Spielername von ID %d ist %s",playerid,PlayerName(playerid));
    SendClientMessageToAll(COLOR_YELLOW,string);


    Für deinen Kick Problem
    Das ist ein Basisscript,musst es noch erweitern wie du es möchtest:
    //Under OnPlayerCommandText(playerid,cmdtext[])
    new index, cmd[128];
    cmd = strtok(cmdtext, index);
    if (!strcmp("/kick",cmd,true,5)) {
    new tmp[128],id;
    tmp=strtok(cmdtext,index);
    id=strval(tmp);
    if(!strlen(tmp) || !strlen(cmdtext[strlen(cmd)+strlen(tmp)+2]) || !IsNumeric(tmp)) {
    return SendClientMessage(playerid,COLOR_RED,"USAGE: /kick [playerid] [text]");
    }
    else if(!IsPlayerConnected(id)) {
    return SendClientMessage(playerid,COLOR_RED,"The Player is not connected");
    }
    else {
    //What should happen
    printf("id is %d and text is %s",id,cmdtext[strlen(cmd)+strlen(tmp)+2]); //Debug msg
    }
    //Example for a Command like /pm [playerid] [msg]
    return 1;
    }


    //-----
    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }
    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }



    //-----
    stock IsNumeric(const string[]) { // by DracoBlue
    new length=strlen(string);
    if (length==0) return false;
    for (new i = 0; i < length; i++) {
    if (
    (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') // Not a number,'+' or '-'
    || (string[i]=='-' && i!=0) // A '-' but not at first.
    || (string[i]=='+' && i!=0) // A '+' but not at first.
    ) return false;
    }
    if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
    return true;
    }


    Kannst du eventuell ein Screenshot von dem Fehler machen?

    Zitat


    eBill
    wenn du einen "Screenshot" vom Desktop meinst, dann reicht es auf die "Druck"-Taste zu drücken - der BildschirmInhalt liegt dann in der Zwischenablage und kann in jedes Grafikprogramm via Bearbeiten / Einfügen übernommen werden.

    Zitat


    Ensure you are using no "Special" characters in your name (use 0-9, a-z, {},[],() only), and that your name is no longer than 16 characters long.


    Du kannst also 0-9,a-z,A-Z,{},[] und () in deinem Nickname als Zeichen benutzten.
    Poste vielleicht auch mal deine Nicknames die NICHT funktionieren.

    Ich hab euch das mal mit der dcmd-Methode gemach
    [HowTo]Fast Command processor - DCMDt.


    Kurze Erklärung:
    dcmd(check,5,cmdtext);
    check - Command Name
    5 - Länge des Commands,in dem Beispiel die Länge von 'check'
    cmdtext - der Parameter der aus OnPlayerCommandText(playerid, cmdtext[]) gecheckt wird.

    //Oben ins script
    new Lizenz[MAX_PLAYERS]=-1;


    #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


    public OnPlayerConnect(playerid)
    {
    Lizenz[playerid]=0;
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(check,5,cmdtext);
    dcmd(lizenz,6,cmdtext);
    return 0;
    }


    //Irgendwo im Script einfügen
    dcmd_check(playerid,params[]) {
    if(IsPlayerAdmin(playerid)) {
    new giveid = strval(params);
    if (!strlen(params)) {
    return SendClientMessage(playerid,COLOR_SYSTEM,"USAGE: /check [playerid]");
    }
    else if(!IsPlayerConnected(giveid)) {
    return SendClientMessage(playerid,COLOR_SYSTEM,"Ungültige Spieler ID");
    }
    else if(giveid==playerid) {
    return SendClientMessage(playerid,COLOR_SYSTEM,"Das musst du doch selber wissen O___O");
    }
    else {
    new string[128];
    if(Lizenz[giveid]==0) {
    format(string,128," %s besitzt keine Fahrzeug Lizenz",PlayerName(giveid));
    }
    else if(Lizenz[giveid]==1) {
    format(string,128," %s besitzt eine Fahrzeug Lizenz",PlayerName(giveid));
    }
    SendClientMessage(playerid,COLOR_YELLOW,string);
    }
    }
    else {
    SendClientMessage(playerid,COLOR_RED,"Admins Only");
    }
    return 1;
    }
    dcmd_lizenz(playerid,params[]) {
    if(IsPlayerAdmin(playerid)) {
    new giveid = strval(params);
    if (!strlen(params)) {
    return SendClientMessage(playerid,COLOR_SYSTEM,"USAGE: /lizenz [playerid]");
    }
    else if(!IsPlayerConnected(giveid)) {
    return SendClientMessage(playerid,COLOR_SYSTEM,"Ungültige Spieler ID");
    }
    else if(giveid==playerid) {
    return SendClientMessage(playerid,COLOR_SYSTEM,"Du kannst dir selber keine Lizenz geben");
    }
    else {
    new string[128];
    if(Lizenz[giveid]==0) {
    Lizenz[giveid]=1;
    format(string,128,"%s hat dir einen Fahrzeug Lizenz gegeben",PlayerName(playerid));
    SendClientMessage(playerid,COLOR_ORANGE,"Lizenz erfolgreich übergeben");
    SendClientMessage(giveid,COLOR_YELLOW,string);
    }
    else if(Lizenz[giveid]==1){
    format(string,128,"%s hat bereits eine Lizenz",PlayerName(giveid));
    SendClientMessage(playerid,COLOR_YELLOW,string);
    }
    }
    }
    else {
    SendClientMessage(playerid,COLOR_RED,"Admins Only");
    }


    return 1;
    }


    stock PlayerName(playerid) {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    return name;
    }

    Bei mir funktioniert es.
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    // ... hier deine anderen Commands


    if(!strcmp("/airportls", cmdtext, true)) {
    if(IsPlayerInAnyVehicle(playerid)) { //Der Teleport ist anderes aufgebaut wenn der Spieler in einem Fahrzeug ist
    new vid=GetPlayerVehicleID(playerid);
    SetVehiclePos(vid,1959.5099,-2254.6060,13.5469); // Deine Koordinaten hier eintragen
    }
    else {
    SetPlayerPos(playerid,1959.5099,-2254.6060,13.5469); // Deine Koordinaten hier eintragen
    //SetPlayerFacingAngle(playerid,90.0); //Gesichtsausrichtung des Spielers
    }
    SendClientMessage(playerid,COLOR_RED,"Du wurdest erfolgreich zum Flughafen LS teleportiert");
    return 1;
    }


    return 0;
    }
    Kann es sein das du vielleicht "public OnPlayerCommandText" mehrmals in deinem Script hast?

    Drück dich beim nächsten mal etwas genauer aus.

    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (!strcmp("/airportls", cmdtext, true)) {
    if(IsPlayerInAnyVehicle(playerid)) { //Der Teleport ist anderes aufgebaut wenn der Spieler in einem Fahrzeug ist
    new vid=GetPlayerVehicleID(playerid);
    SetVehiclePos(vid,1959.5099,-2254.6060,13.5469); // Deine Koordinaten hier eintragen
    }
    else {
    SetPlayerPos(playerid,1959.5099,-2254.6060,13.5469); // Deine Koordinaten hier eintragen
    //SetPlayerFacingAngle(playerid,90.0); //Gesichtsausrichtung des Spielers
    }
    SendClientMessage(playerid,COLOR_RED,"Du wurdest erfolgreich zum Flughafen LS teleportiert");
    }


    return 0;
    }

    Weil die Bots die es zur Zeit gibt das SA:MP protokoll hacken.Das ist nicht erlaubt.Außerdem sind die nicht wirklich "benutztbar".Man kann denen nicht sagen
    lauf zu x,y,z ... etc.

    new gLastVehicle[MAX_PLAYERS];


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    gLastVehicle[playerid]=vehicleid;
    return 1;
    }
    public OnPlayerConnect(playerid)
    {
    gLastVehicle[playerid]=0;
    return 1;
    }


    if (strcmp("/lock", cmdtext, true) == 0)
    {
    if(gLastVehicle[playerid]!=0) {
    for(new i;i<GetMaxPlayers();i++) {
    if(IsPlayerConnected(i)){
    if(i!=playerid) {
    SetVehicleParamsForPlayer(gLastVehicle[playerid],i,0,1);
    }
    if(i==playerid ){
    SetVehicleParamsForPlayer(gLastVehicle[playerid],i,0,0);
    SendClientMessage(playerid,COLOR_YELLOW,"locked...");
    PlayerPlaySound(playerid,1058,0,0,0);
    }
    }
    }
    }
    return 1;
    }

    So in etwa sollte es gehen.Muss man natürlich noch verfeinern aber vom Grundprinzip klappt sollte es funktionieren :pinch: .


    //Edit...Der code wird hier total ka**e angezeigt...Komisch

    Lösch die Datei,und probier es nochmal.
    C:\Dokumente und Einstellungen\*DEIN_NAME'\Eigene Dateien\GTA San Andreas User Files\gta_sa.set


    Eventuell findest du hier noch Hilfe:
    Klick


    //---------------------------------------------------------
    //
    // MONSTER! A freeroam script centered around the desert.
    // by Mike
    //---------------------------------------------------------


    #include <a_samp>


    #define COLOR_RED 0xAA3333AA
    #define COLOR_BLACK 0x000000


    forward GameModeExitFunc();


    // This is how long the round lasts before exiting
    // Set to 0 to disable the timer
    //new gRoundTime = 1200000;
    new gRoundTime = 0;


    //---------------------------------------------------------


    main()
    {
    print("\n----------------------------------");
    print(" Super Freeroam by Erik \n");
    print("----------------------------------\n");
    }


    //---------------------------------------------------------


    public OnGameModeInit()
    {
    new Float:boatX = 260.0439;
    new id;
    new count;


    SetGameModeText("Erik's SuperStunt Map xD");


    // Boats
    for(count = 0; count <= 15; count++) {
    AddStaticVehicle(446,boatX,2970.7834,-1.0287,7.0391,-1,-1);
    boatX += 6.0;
    }


    AddStaticVehicle(411,324.7664,2546.0984,16.4876,178.8663,-1,-1); // stuntplane
    AddStaticVehicle(415,290.2709,2544.7771,16.5000,178.0178,-1,-1); // stuntplane
    AddStaticVehicle(415,261.9073,2522.6987,16.4046,175.9395,-1,-1); // heli
    AddStaticVehicle(522,244.0523,2524.3516,16.4171,180.8316,-1,-1); // heli
    AddStaticVehicle(541,-73.1792,2502.1990,16.1641,270.0,-1,-1); //adromeda
    AddStaticVehicle(522,101.5550,2584.0725,17.4540,178.0316,-1,-1); // combine


    if (gRoundTime > 0) {
    SetTimer("GameModeExitFunc", gRoundTime, 0);
    }
    return 1;
    }


    //---------------------------------------------------------


    public OnPlayerConnect(playerid)
    {
    GameTextForPlayer(playerid,"~w~Erik's SuperStunt Map xD!",1000,1);
    return 1;
    }


    //---------------------------------------------------------


    SetupPlayerForClassSelection(playerid)
    {
    SetPlayerPos(playerid,398.4077,2540.5049,19.6311);
    SetPlayerCameraPos(playerid,398.4077,2530.5049,19.6311);
    SetPlayerCameraLookAt(playerid,398.4077,2540.5049,19.6311);
    SetPlayerFacingAngle(playerid, 180.0);
    }


    //---------------------------------------------------------
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/rep", cmdtext, true, 4) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
    SendClientMessage(playerid, 0xFF0000AA, "[AUTO] Health = Full");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, 0xFF0000AA, "[PLAYER] Du musst in einem Fahrzeug sitzen!");
    return 1;
    }
    }


    }
    //---------------------------------------------------------


    public OnPlayerRequestClass(playerid, classid)
    {
    SetupPlayerForClassSelection(playerid);
    return 1;
    }


    //---------------------------------------------------------


    public OnPlayerDeath(playerid, killerid, reason)
    {
    new name[256];
    new string[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "*** %s died.", name);
    SendClientMessageToAll(COLOR_BLACK, string);
    return 1;
    }


    //---------------------------------------------------------


    public GameModeExitFunc() {
    GameModeExit();
    }
    Kopieren,Einfügen,fertig.

    Zitat


    Also wenn es ein VERSTÄNDLICHES DESUTESCHES Tuto geben würde hätte ich das auch schon längst gemacht, aber ich vestehe das nicht


    Das ist lächerlich.Wenn du mal etwas besser in Englisch aufgepasst hättest oder besser aufpassen würdest,wäre das alles kein Problem.Du musst nicht jedes Wort im Deutschen wissen um den Sinn halbwegs zu verstehen.