Beiträge von DMA

    Jo sagt joa alles
    Tag1:
    #assert STATEMENT
    Total praktisch
    #pragma -amx native
    total sinnlos aber trotzdem lustig
    #section NAME
    Auch voll ohne Sinn, ah doch mit so'n tollen static bereich
    #error BLA
    Gibt Fehler BLA aus auf zeile error
    #line (LINE)
    gibt die aktuelle zeile aus
    #tryinclude BLA
    Versucht BLA zu includieren
    #pragma ctrlchar '$'
    Nun esc nicht mehr mit \n sondern $n! (Breadfish meint es sei sehr nützlich gegen n00bs die \ nicht finden!)
    So das war erstmal und immer schön steif bleiben!

    /* Untested! */
    #tryinclude <a_samp>
    #define NONE_F -1.0
    stock playerLastCheckpoint[MAX_PLAYERS], checkpointPos[][6] = { /* chema x,y,z, der nächste für den pfeil in dem ding, also coords fürs nächste x,y, z */
    { 0.0, 0.0, 3.0, 20.0, 90.0, 3.0},
    { 20.0, 90.0, 3.0, 50.0, 60.0, 34.0 },
    { 50.0, 60.0, 34.0, NONE_F, NONE_F, NONE_F } };
    public OnPlayerConnect(playerid) {
    SetPlayerRaceCheckpoint(playerid, 1, checkpointPos[0][0], checkpointPos[0][1], checkpointPos[0][2], checkpointPos[0][3], checkpointPos[0][4], checkpointPos[0][5]);
    playerLastCheckpoint[playerid] = 0;
    }
    public OnPlayerDisconnect(playerid) {
    DisablePlayerRaceCheckpoint(playerid);
    }
    public OnPlayerEnterRaceCheckpoint(playerid) {
    if((sizeof checkpointPos - 1) == playerLastCheckpoint[playerid])
    /* tu was */
    else {
    DisablePlayerRaceCheckpoint(playerid);
    playerLastCheckpoint[playerid] += 1;
    SetPlayerRaceCheckpoint(playerid, 1, checkpointPos[playerLastCheckpoint[playerid]][0], checkpointPos[playerLastCheckpoint[playerid]][1], checkpointPos[playerLastCheckpoint[playerid]][2], checkpointPos[playerLastCheckpoint[playerid]][3], checkpointPos[playerLastCheckpoint[playerid]][4], checkpointPos[playerLastCheckpoint[playerid]][5]);
    }
    }

    /* code by DMA bla bla bla oldsql is h4x0r1ng u! */
    #tryinclude <a_samp>
    static bool:playerMessageMotorschade[MAX_PLAYERS] = { false }; /* Man kann nie sichersein ob er es auch als 0 initalisiert, (C/++) */
    forward GlobalTimer(/*void*/);
    public OnGameModeInit() {
    SetTimer("GlobalTimer", 1000, 1); /* Solltest du schon ein anders Script von mir mit Globaltimer haben, die zeile */
    }
    public OnPlayerDisconnect(playerid) {
    playerMessageMotorschaden[playerid] = false;
    return 1; /* -> true */
    }
    public OnPlayerExitVehicle(playerid, vehicleid) { /* hier bin ich mir nicht sicher, bitte prüfen wie das Callback heißt :> */
    if(playerMessageMotorschade[playerid] == true)
    playerMessageMotorschade[playerid] = false;
    }
    public GlobalTimer() {
    new VID, Float:h_vid;
    for(new i = 0; i < MAX_PLAYERS; i++) {
    if(IsPlayerConnected(i) && IsPlayerInAnyVehicle(i)) {
    VID = GetPlayerVehicleID(i);
    GetVehicleHealth(VID, h_vid);
    if(h_vid <= 310) {
    TogglePlayerControllable(i, 0);
    SendClientMessage(playerid, 0xFF6900AA, "Dieses Fahrzeug hat nun einen Motorschaden");
    playerMessageMotorschade[i] = true;
    } } } }
    Nicht getestet.

    Für leute die zudoof sind das zu machen:
    x()
    printf("hallo :>");
    public OnPlayerCommandText(playerid, cmdtext[]) {
    if(!strcmp(cmdtext, "/x")) x();
    }

    Schön das du zugibst das du GTA Illegal hast.
    Lustiger wärs gewessen, wenn du R* eine Mail geschickt hättest und darin erwähnt hättest du hast es dir gesaugt / gecrackt.
    Kennt ih rdas tolle Bild mit dem "opfa" im Mafia Forum , was einen Crack zu seinem Download wollte? :>


    So zum Thema: Ping -> Internet Leitung == ~80 ok.


    Zu dem zweiten, überforderung von deinem COmputer oder hast du F8 gedrückt? :>
    F8 == Screenshot. :>

    Vllt eine Pingüberschreitung?
    Spielt ihr über Internet?
    Ansonsten tjoa kann nur an dir liegen :>
    Ziehst vllt nicht so an :D
    Also bei mir kommen sie immer alle rauf :D (zum lutsch äh spielen :>)

    Nein, seine Verbindung bricht immer ab.
    Wie gesagt: Wlan ist der eine der größten Mist erfindungen der Menschheit, weil es a) Total störungsunsicher ist und b) weils Gesundheitsschädlich ist.
    Kann man nichts machen außer ein LAN aufzubaun, mit vielen Kabeln durchs Haus.

    enum pTeamcase { OWNER, OTHER }
    Kannst du z.b. so verändern:
    enum pTeamcase { ZIVIL, POLIZEI, FEUERWEHR, MEDIC }
    mit einem , fügst du also etwas neues hinzu.
    Wichtig ist die Reihenfolge: das erste was in dem Enum steht ist auch das erste was man auswählt.
    So nun zu den Spawns, dazu bearbeitest du folgende Funktion (Wenn du nicht weißt was ne Funktion ist, pech)
    public OnGameModeInit()
    Dazu fügst du dort z.b. das ein:
    AddPlayerClass(0, .... ); Also die Daten die du mit /save gemacht hast ;)
    Halt die Reihenfolge von oben (enum) beachten.
    D.h. erst den ZIVIL, dann den Polizei skin und so weiter eintragen.
    Dann hast du ja noch die funktion
    AddStaticVehicle
    Den funktionsnamen ersetzt du einfach durch SetVehicle und fügst vor der ) Klammer halt das ein (für ZIVIL)
    , -1, ZIVIL);
    Beispiel:
    SetVehicle(489, 0.0, 0.0, 3.0, 0.0, 1, 3, -1, ZIVIL);
    (wie das geht siehst du ja oben)
    und nun noch die Classenauswahl bearbeiten.
    Einfach einen neuen case eintragen und den wert bearbeiten.
    Wenn du nichts verstanden hast, frag Rafelder der hat lust dir das von mir zu Erklären.
    Eigendlich ist alles logisch wenn man PAWN versteht.
    Wir sind hier ja nicht bei "Wünsch dir was"

    @Street-Fighter viel einfachere Lösung, wo man sogar dem anderem team das selbe Fahrzeug model zuweißen kann:
    #define maxvehicles 750
    enum pTeamcase { OWNER, OTHER }; /* TEAMS */
    static pTeamcase:playerteam[MAX_PLAYERS], pTeamcase:fahrzeugTeam[maxvehicles], maxcar = 0; /* kann auch public sein */
    SetVehicle(modelid, Float:x, Float:y, Float:z, Float:r, color1, color2, respawntime, pTeamcase:owner)
    {
    if((maxcar + 1) != maxvehicles)
    {
    maxcar = CreateVehicle(modelid, x, y, z, r, color1, color2, respawntime);
    fahrzeugTeam[maxcar] = owner;
    }
    else
    printf("\n\tError: Zuviele Fahrzeuge\n");
    }


    public OnGameModeInit()
    {
    SetVehicle(489, 0.0, 0.0, 3.0, 0.0, 1, 3, -1, OWNER); /* das Fahrzeug gehört dem Team OWNER */
    SetVehicle(477, 4.0, 2.0, 3.0, 0.0, 19, 22, -1, OTHER); /* dieses Fahrzeug gehört Team OTHER wichtig ist das das Team existiert */
    return 1;
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    switch(classid)
    {
    case 0: playerteam[playerid] = OWNER;
    default: playerteam[playerid] = OTHER;
    }
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER && fahrzeugTeam[GetPlayerVehicleID(playerid)] != playerteam[playerid])
    {
    RemovePlayerFromVehicle(playerid);
    }
    return 1;
    }


    case default: Was den jetzt? :>
    Den Case oder das default.
    Kostet nur performence.
    Weil erprüft den case und dann erst den default.
    wie wärs mit:
    default:

    Wieso, wenn er eine Software Firewall hat?
    Die blcokt auch Ports, selbst im Internen Netzwerk ;)


    Eigendlich braucht man den LanMode nicht, sollte auch gehn auf seine Interne (meißt 192.168.x.x) zu Connecten.
    Ansonsten halt Software Firewall.

    Nutze die Suche, wir haben davon 100't Themen mit dem Selbeninmhalt und einer von dennen hat deine Lösung sicher.
    Eher gesagt ist es meist immer die gleiche Lösung:
    Ports öffnen.

    new start_veh = Add..(..);
    /* GANZ VIELE ANDERE AUTOS */
    Add..(..);
    new stop_veh = Add..(..);
    for(new i = start_veh; i <= stop_veh; i++) {
    LinkVehicleToInterior(i, 15);
    }

    new Float:playerSpawns[][4] = {
    {..., ..., ..., ... },
    {..., ..., ..., ... }
    };


    /* @params using: playerid */
    @OnplayerRequestClass(playerid, classid) {
    if(classid == 0
    SetPlayerInfo(playerid, 0, 0, playerSpawns[random(sizeof playerSpawns)][0], ... );
    }
    Autos fast das gleiche ;x