Beiträge von M4rciii

    Hi! Also, ich habe eine Include mit einigen nützlichen Funktionen erstellt!


    CHANGELOG:
    v2.0: Ein paar Funktionen repariert, neue hinzugefügt
    v2.1: CreateTeleport verbessert, jetzt nur wenn das Geld da ist und wenn man nicht im Flugzeug/Heli ist! (Nachrichten definierbar)
    v2.2: Weitere Bugs gefixt


    EINBAU:
    1. Entpacken und M-inc.inc in der /pawno/includes-Ordner einfügen
    2. Ganz oben ins Script "#include <M-inc>" schreiben. Fertig



    DOWNLOAD:
    RAR-Archiv
    INC-Datei






    Wünsche viel Spaß damit!


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(gTeam[playerid] >= 3)
    {
    if (IsACopCar(vehicleid) && !ispassenger)
    {
    if(PlayerInfo[playerid][pLeader]==1||PlayerInfo[playerid][pLeader]==2||PlayerInfo[playerid][pLeader]==3) {}
    else { WantedPoints[playerid]+=2; SetPlayerCriminal(playerid,255, "Diebstahl eines Polizei Fahrzeugs"); }
    }
    if (IsAnAmbulance(vehicleid) && !ispassenger)
    {
    if(PlayerInfo[playerid][pMember]==4||PlayerInfo[playerid][pLeader]==4) { }
    else { WantedPoints[playerid]+=2; SetPlayerCriminal(playerid,255, "Diebstahl eines Krankenwagen"); }
    }
    }

    new msg[256];
    format(msg,sizeof(msg),"MODEL: %d ID: %d",GetVehicleModel(vehicleid),vehicleid);
    SendClientMessage(playerid,0xFF6900AA,msg);

    return 1;
    }

    WIe wärs so?


    forward WantedCheck();//Unter includes


    SetTimer("WantedCheck",1000,1);//in OnGameModeInit()



    //Irgwo ins Script rein:
    public WantedCheck()
    {
    for(new i=0; i < MAX_PLAYERS; i++)
    {
    if(GetPlayerWantedLevel(i) != 0)
    {
    SetPlayerColor(i,0xFF0000FF); //rot
    }
    else SetPlayerColor(i,0xFFFFFFFF);//Weis
    }
    return 1;
    }

    Siehe Countdown Script...


    Zu den Farben: Du benutzt warsch. GF


    Schau mal nach "SetPlayerSpawn(playerid)". Da gibts dann sowas:



    if (PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5)//LaCosaNostra spawn
    {
    SetPlayerToTeamColor(playerid);
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, 1124.2415,-2037.1274,69.8847);
    PlayerInfo[playerid][pInt] = 0;
    SetPlayerColor(playerid,COLOR_YELLOW);// LCN hast farbe gelb
    return 1;
    }

    Ich habe ma einen Nitrocmd erstellt, bei dem der Client nicht Crashen kann:



    stock IsNoNitroCar(vehicleid)
    {
    if(vehicleid == 581 || vehicleid == 523 || vehicleid == 462 || vehicleid == 521 || vehicleid == 463 || vehicleid == 522 || vehicleid == 461 || vehicleid == 448 || vehicleid == 468 || vehicleid == 586 || vehicleid == 509 || vehicleid == 481 || vehicleid == 510 || vehicleid == 472 || vehicleid == 473 || vehicleid == 493 || vehicleid == 595 || vehicleid == 484 || vehicleid == 430 || vehicleid == 453 || vehicleid == 452 || vehicleid == 446 || vehicleid == 454 || vehicleid == 590 || vehicleid == 569 || vehicleid == 537 || vehicleid == 538 || vehicleid == 570 || vehicleid == 449)
    {
    return 1;
    }
    else return 0;
    }


    Dann hier der eigentlich cmd:



    if (strcmp("/nitro", cmdtext, true) == 0)
    {
    if (IsPlayerInAnyVehicle(playerid))
    {
    if(IsNoNitroCar(GetVehicleModel(GetPlayerVehicleID(playerid))))
    {
    SendClientMessage(playerid,RED,"Dein Auto ist nicht Nitro-Kampatibel!");
    SetVehicleHealth(GetPlayerVehicleID(playerid), 1000);
    }
    else
    {
    AddVehicleComponent(GetPlayerVehicleID(playerid), 1010);
    }
    }
    else SendClientMessage(playerid, RED, "Du bist in keinem Fahrzeug!");
    return 1;
    }

    Also dieses "Auth server..." kommt von SAC, ein Anticheatsystem, das jetzt leider funktioniert (server down).


    Schau in deine Server.cfg-Datei und mach bei anticheat aus der 1 eine 0.


    "Anticheat 0"


    Das mit ports ohne router hab ich keine ahnung

    Also wenn du GF benutzt...KEINE AHNUNG!


    Aber sonst gibts im einfachsten Fall sowas im OnGameModeInit()



    AddPlayerClass(138,123,456,789,180.0,26,500,30,500,32,500); // Erster skin = 0
    AddPlayerClass(111,123,456,789,180.0,26,500,30,500,32,500); // Zweiter skin = 1
    AddPlayerClass(38,123,456,789,180.0,26,500,30,500,32,500); // dritter skin = 2


    Hier wärens nur 3 skins, aber sowas findet man in vorgefertigten scripts eher weniger

    Classid ist einfach die reihenfolge der skins



    if(classid == 0 || classid == 1)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"DIese Nachricht kann man sehen, wenn man bei der Playerauswahl den 1. und 2. skin anschaut!");
    print("Die Classid ist bei der Playerauswahl unten rechts bei den waffen zu sehen");
    }


    Das Beispiel erklärt sich von selbst

    Schau dir einfach [wiki]AddStaticVehicleEx[/wiki] an.


    Bei "warning 202: number of arguments does not match definition" stimmt die Anzahl der Sachen(auch Parameter genannt) in der Klammer nicht!


    BSP:SetPlayerPos(playerid,1442.2213); // nur 2 parameter-> number of arguments does not match definition

    Tue das mal in


    Zitat

    C:\Programme\Rockstar Games\GTA San Andreas\server\pawno\include


    Ich hatte ma das problem ich hatte den server aufm Desktop, aber der immer auf dem Pfad :rolleyes: daoben zugegriffen

    Das wird da auch erklärt! BSP:



    if(strcmp("/just4Bus",cmdtext) == 0)
    {
    if (PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pLeader] == 12) // Bus ist hier Team12
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Diese Nachricht können nur Busfahrer lesen!");
    }
    else SendClientMessage(playerid,COLOR_RED,"Du bist kein Busfahrer!");
    }