Beiträge von M4rciii

    new Skin = GetPlayerSkin(playerid);
    if(Skin == 285 || Skin == 165 || Skin == 277 || Skin == 281 || Skin == 282 || Skin == 288 || Skin == 286 || Skin == 287)


    Du musst den Operator || verwenden, er stellt ein "ODER" dar.

    // Irgendwo ins Script:
    stock SendFrakMessage(fraktionsid,color,msg[])
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pLeader] == fraktionsid || PlayerInfo[i][pMember] == fraktionsid)
    {
    SendClientMessage(i,color,msg);
    }
    }
    }
    return 1;
    }
    Dann anstatt
    SendJobMessage(7, COLOR_RED, str);
    das benutzen:
    SendFrakMessage(25, COLOR_RED, str);

    Zitat

    Hier mal /gotocoords hab ich mal irgendwo gefunden

    Irgendwo???
    Das ist passgenau aus unserem Script kopiert. Den Command hatte ich selber geschrieben und nun kommen solche wie du, und stellen sich als tollen Scripter dar.
    Das ist einfach nur mies!

    Du musst vllt zuerst in den Ordner navigieren, also so:


    Code
    cd /home/samp_server


    /home/samp_server wäre dann der Ordner

    Ich würde das ganze mal mit SetObjectRot(objectid,0.0,0.0,A); probieren.
    Also A als der Angle der Person. Das muss dann aber am besten in einen Timer, sodass es sich immer wieder anpasst.

    Zitat

    format(output,sizeof(output),"objekt%d",params);
    SetObjectPos(output,X,Y,Z);

    Du kannst keinen String als Objekt verschieben^^
    // Ein neues define:
    #define ReturnObjectVar(%1) objekt%1


    // Dann kannst du das so benutzen:
    SetObjectPos(ReturnObjectVar(params),X,Y,Z);


    // Wenn params ein String, ist dann:
    SetObjectPos(ReturnObjectVar(strval(params)),X,Y,Z);

    WTF??
    Er wurde tatsächlich gebannt? Also das kann ich mir im Leben nicht vorstellen. Er ist ein guter Scripter und vereinfacht und verbessert SAMP wie er nur kann. Man sollte meinen, dass dies auch im Interesse der SAMP-Leitung wäre.

    Du musst dein Script (die .pwn) mit dem Programm Pawno öffnen, es befindet sich im pawno Ordner des Servers. Dann musst du oben auf den blauen Pfeil drücken und es wird dir das Ergebnis gezeigt. Wenn Errors angezeigt werden, musst du sie beheben. Dann ist die .amx an die .pwn angepasst.
    Das muss man machen, da der Server nur auf die .amx zugreift.

    // In einen Timer:
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new weapon, ammo;
    GetPlayerWeaponData(i,6,weapon,ammo);
    if(weapon == 34)
    {
    if(PlayerInfo[i][pMember] == 3 || PlayerInfo[i][pLeader] == 3) continue;
    if(PlayerInfo[i][pRank] >= 3 && (PlayerInfo[i][pMember] == 8 || PlayerInfo[i][pLeader] == 8)) continue;
    GivePlayerWeapon(i,weapon,-ammo);
    }
    }
    }

    // Ein Array mit den Fraktionsnamen erstellen:
    new FraktionsNamen[11][24] = { // Fraktionsanzahl = 11 Maximale Länge = 24 Zeichen
    "Polizei",
    "FBI",
    "Army",
    "Medic",
    "LCN",
    "Yakuza",
    "Präsident",
    "Hitman",
    "News Reporter",
    "Taxi",
    "Fahrschule"
    };


    // Dann im Befehl:
    format(string, sizeof(string), " Du hast %s die Kontrolle über die Fraktion %s gegeben.", giveplayer,FraktionsNamen[(level-1)]);

    if(strcmp(cmd,"/pay",true) == 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"/pay [EmpfängerID] [Betrag]"); // Nachricht, wenn das Parameter fehlt
    param1 = ReturnUser(tmp); // Das erste Parameter, also der Spieler
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"/pay [EmpfängerID] [Betrag]"); // Nachricht, wenn das Parameter fehlt
    param2 = strval(tmp); // Das zweite Parameter, also der Betrag
    // Hier kann das Nachrichtengelaber hin
    GivePlayerMoney(playerid,-param2); // Dem Commandeingeber das Geld wegnehmen
    GivePlayerMoney(param1,param2); // Dem ausgewählten Spieler das Geld geben
    return 1;
    }

    Nunja... Alle 3 Scripts sind eig die gleichen, nur Fahrzeug und Texte geändert. Außerdem ist der Code ziemlich unübersichtlich (RICHTIG EINRÜCKEN) und du solltest bei den Commands und dem Text beim Einsteigen lieber nach der ModelID abfragen ;)


    Daher zusammengefasst: 3,5/10

    {
    if (strcmp("/porten", cmdtext, true, 10) == 0)
    {
    ShowMenuForPlayer(Porten, playerid);
    TogglePlayerControllable(playerid, false);
    return 1;
    }
    return 0;
    }
    Ändern in:
    if (strcmp("/porten", cmdtext, true, 10) == 0)
    {
    ShowMenuForPlayer(Porten, playerid);
    TogglePlayerControllable(playerid, false);
    return 1;
    }