Beiträge von #save

    Gerade eben mal wieder auf dem Server gewesen. Was war ? Ich steige in ein Ordnungsamt Auto um es zu klauen. Der Admin respawnt dauernt alle Fahrzeuge und irgendwann versucht er es dann "normal" zu lösen. Jedenfalls, er verfolgt mich und versucht mich dauernt zu rammen (was in Ordnung ist), jedoch hatte er dann sich dauernt Fahrzeuge her teleportiert und zusätzlich hat er sich irgendwann als Ordnungsbeamter uninvited und in die Fraktion SAPD invitet. Wie dem auch sei, irgendwann hat er sich dann mehrmals gespawnt und irgendwann das Fahrzeug zerschossen. Als wir dann wieder im 1o1 waren, portet er sich ein Fahrzeug her und fährt weg.


    Ich finde das richtig lustig, wie man so krass seine Rechte abusen kann. Ich habe noch nie so einen Server gesehen, auf dem sich Admins nur Vorteile verschaffen.


    Achja und das mit dem Fahrzeug her porten, hat er mit folgendem Satz argumentiert: "Die Fahrzeuge spawnen nach einer Zeit automatisch bei mir". xD


    //Edit: Rechtschreibung angepasst.

    Hey,


    ich habe mal den Server besucht und ich finde, dass der Server ein Remake von RPG-City ist. Die Nacharmung ist euch ziemlich schlecht gelungen.


    Server: [0/10]
    Forum: [2/10]
    Community: [0/10] - Konnte nicht bewertet werden


    Zudem sind mir unendlich viele Bugs aufgefallen. Ihr solltet übrigens die 20.000 Rechtschreibfehler im Script raus nehmen. 08/15 Server ohne Zukunft.

    Hey,


    ich habe ein Problem. Ich verwende das aktuelle Include + Plugin von RNPC. Jedoch stürtzt der Server ab, sobald ich die Funktion MoveRNPC verwende.


    Zombie connected (ich sehe ihn auch In-Game):

    forward LoadZombies();
    public LoadZombies()
    {
    Zombies[0] = ConnectRNPC("Zombie1");

    print("Alle Zombies wurden geladen.");
    }


    Zombie spawnen lassen:

    public OnPlayerRequestClass(playerid, classid)
    {
    new string1[700], string2[256];


    if (IsPlayerNPC(playerid))
    {
    SetSpawnInfo(playerid, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid);
    }
    else
    {
    // login & register
    }
    }


    Spawnanweisungen:

    public OnPlayerSpawn(playerid)
    {
    if (IsPlayerNPC(playerid))
    {
    SetPlayerSkin(playerid, 21);
    SetPlayerPos(playerid, -579.1575, 618.9787, 16.6317);
    }

    return 1;
    }


    RNPC zu mir bewegen lassen via. Command:

    else if (strcmp("/mv", strget(cmdtext, 0), true, 25) == 0)
    {
    new Float:x, Float:y, Float:z;

    GetPlayerPos(playerid, x, y, z);

    MoveRNPC(Zombies[0], x, y, z, 0.06);
    }


    Wenn ich /mv ausführe, stürtzt der Server ab.


    Hat jemand eine Idee ?

    Hey,


    ich wollte wissen, wie ich das machen kann, dass ich ein Objekt an einen Spieler "kleben" kann, dass sich aber bei einer Bewegung direkt mit bewegt. Das heißt also, dass ich AttachObjectToPlayer nicht verwenden kann, da das Objekt sich nicht dynamisch mit bewegt. Wenn der Spieler also rennt, hat er ja eine andere Haltung als ein Spieler, der rum steht. Insofern kann es sein, dass ein Objekt auch bei einem Spieler in der Luft schwebt, wenn er rennt und wenn er steht es in der richtigen Position ist.


    Es gibt ja auch z.B. auf manchen Reallife Servern so eine Story die man durchspielen muss, in der man einen Koffer z.B. zu einem Besitzer zurück bringen muss und man den Koffer in der Hand hält und das auch wirklich so aussieht.


    Ich werde es noch mit ein paar anderen Funktionen versuchen. Meine Vermutung fällt aktuell auf AttachPlayerObjectToPlayer, was ich auch gleich ausprobieren werde.


    //Edit: Ich sehe gerade, dass die Funktion entfernt wurde. Ich versuche es nun gleich mal mit SetPlayerAttachedObject.


    Das mit SetPlayerAttachedObject ist anscheinend die richtige Funktion. Kann gelöscht/geschlossen werden.

    Inwiefern sollte mir diese Seite jetzt weiterhelfen ? Ich habe mir auch RNPC von dort runtergeladen. Vergeblich nach "readme's" gesucht oder Tutorials. Das einzige was ich bisher gefunden habe ist, wie man NPC's mit RNPC erstellt oder Zombie's mit RNPC erstellt. Dann die Wiki Dokumentation, aber das war es auch schon wieder.


    Das hilft mir nicht mit meinem Problem weiter.

    Hey,


    ich nutze das Plugin RNPC und bekomme bei dem Include einen Warning:

    Code
    C:\Users\Manuel\Desktop\xxx\pawno\include\rnpc.inc(190) : warning 201: redefinition of constant/macro (symbol "OnPlayerCommandText")


    So sieht mein Include aus (wie es mitgeliefert wurde):

    /**
    * RNPC - Recordfile NPCs
    * Version 0.3
    * made by Mauzen, parts based on Joe Staffs code
    */
    #define PLAYER_RECORDING_TYPE_NONE 0
    #define PLAYER_RECORDING_TYPE_DRIVER 1
    #define PLAYER_RECORDING_TYPE_ONFOOT 2


    #define RNPC_SPEED_SPRINT (0.0095)
    #define RNPC_SPEED_RUN (0.0057)
    #define RNPC_SPEED_WALK (0.0015)


    #define MAP_ANDREAS_MODE_NONE 0
    #define MAP_ANDREAS_MODE_MINIMAL 1
    #define MAP_ANDREAS_MODE_MEDIUM 2 // currently unused
    #define MAP_ANDREAS_MODE_FULL 3
    #define MAP_ANDREAS_MODE_NOBUFFER 4


    // @since 0.2
    native RNPC_CreateBuild(npcid, type, slot=0);
    native RNPC_FinishBuild(clear=1);
    native RNPC_AddMovement(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:speed=RNPC_SPEED_RUN);
    native RNPC_AddAutoMovement(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:speed=RNPC_SPEED_RUN, maxsteps=1000);
    native RNPC_ConcatMovement(Float:x, Float:y, Float:z, Float:speed=RNPC_SPEED_RUN);
    native RNPC_AddPause(time);


    native RNPC_SetUpdateRate(rate);


    native RNPC_SetLRKeys(lr);
    native RNPC_SetUDKeys(ud);
    native RNPC_SetKeys(keys);
    native RNPC_SetQuat1(Float:w);
    native RNPC_SetQuat2(Float:x);
    native RNPC_SetQuat3(Float:y);
    native RNPC_SetQuat4(Float:z);
    native RNPC_SetHealth(hp);
    native RNPC_SetArmour(arm);
    native RNPC_SetSpecialAction(sp);
    native RNPC_SetWeaponID(weaponid);
    native RNPC_SetAnimID(anim);
    native RNPC_SetAnimParams(params);
    native RNPC_SetAngleQuats(Float:a, Float:h, Float:b);


    native MapAndreas_Init(mode);
    native MapAndreas_FindZ_For2DCoord(Float:X, Float:Y, &Float:Z);
    native MapAndreas_FindAverageZ(Float:X, Float:Y, &Float:Z);
    native MapAndreas_Unload();


    // @since 0.2.1
    native RNPC_GetBuildLength();


    // @since 0.3
    native RNPC_SetSirenState(siren);
    native RNPC_SetDriverHealth(health);
    native RNPC_SetInternalPos(Float:x, Float:y, Float:z);
    native RNPC_SetAcceleration(Float:acc);
    native RNPC_SetDeceleration(Float:dec); // Unused yet
    native RNPC_AddMovementAlt(Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2, Float:speed=RNPC_SPEED_RUN, bool:lock=true);


    // Fake communication functions
    #define RNPC_SetAutorepeat(%1,%2) new rtxt[10]; format(rtxt, 10, "RNPC:%d", 110 + %2); SendClientMessage(%1, -1, rtxt)


    forward OnRNPCPlaybackFinished(npcid);


    /**
    * Connects a new RNPC, returning his ID.
    * @since V0.1
    */
    stock ConnectRNPC(name[])
    {
    new slot = -1;
    for (new i = 0; i < MAX_PLAYERS; i++) {
    if (!IsPlayerConnected(i)) {
    slot = i;
    break;
    }
    }
    ConnectNPC(name, "RNPC");

    return slot;
    }


    /**
    * Moves a RNPC to the given position.
    * @since V0.1
    */
    stock MoveRNPC(npcid, Float:x, Float:y, Float:z, Float:speed)
    {
    if (!IsPlayerNPC(npcid)) return false;

    new Float:nx, Float:ny, Float:nz;
    if (IsPlayerInAnyVehicle(npcid)) {
    GetVehiclePos(GetPlayerVehicleID(npcid), nx, ny, nz);
    RNPC_CreateBuild(npcid, PLAYER_RECORDING_TYPE_DRIVER);
    RNPC_AddMovement(nx, ny, nz, x, y, z, speed);
    RNPC_FinishBuild();
    } else {
    GetPlayerPos(npcid, nx, ny, nz);
    RNPC_CreateBuild(npcid, PLAYER_RECORDING_TYPE_ONFOOT);
    RNPC_AddMovement(nx, ny, nz, x, y, z, speed);
    RNPC_FinishBuild();
    }
    RNPC_StartBuildPlayback(npcid);

    SendClientMessage(npcid, -1, "RNPC:101:0");

    return true;
    }


    /**
    *
    * @since V0.1.1
    */
    stock RNPC_StartPlayback(npcid, rec[])
    {
    if (!IsPlayerNPC(npcid)) return false;

    new form[40];
    format(form, 40, "RNPC:109:%s", rec);
    SendClientMessage(npcid, -1, form);

    return true;
    }


    /**
    *
    * @since V0.2
    */
    stock RNPC_StartBuildPlayback(npcid, slot=0, vehicleid=0)
    {
    if (vehicleid) {
    PutPlayerInVehicle(npcid, vehicleid, 0);
    SetTimerEx("DelayStart", 100, 0, "iii", npcid, vehicleid, slot);
    }
    new cmd[16];
    format(cmd, 16, "RNPC:101:%d", slot);
    SendClientMessage(npcid, -1, cmd);
    }


    /**
    * Delayed second start to fix vehicle playback problems
    * @since V0.3
    */
    forward DelayStart(npcid, vehicleid, slot);
    public DelayStart(npcid, vehicleid, slot)
    {
    PutPlayerInVehicle(npcid, vehicleid, 0);
    new cmd[16];
    format(cmd, 16, "RNPC:101:%d", slot);
    SendClientMessage(npcid, -1, cmd);
    }


    /**
    *
    * @since V0.3
    */
    RNPC_StopPlayback(npcid)
    {
    //new Float:x, Float:y, Float:z;
    //if (IsPlayerInAnyVehicle(npcid)) GetVehiclePos(GetPlayerVehicleID(npcid), x, y, z);
    // else GetPlayerPos(npcid, x, y, z);
    SendClientMessage(npcid, -1, "RNPC:102");
    //RNPC_SetInternalPos(x, y, z);
    }


    /**
    * Serverside interface for RNPC communication
    */
    public OnPlayerCommandText(playerid, cmdtext[]) {
    if (!IsPlayerNPC(playerid)) return CallLocalFunction("RNPC_OnPlayerCommandText", "is", playerid, cmdtext);

    #if defined RNPC_DEBUG
    printf("RNPC %d: [CMD] %s", playerid, cmdtext);
    #endif

    if (!strcmp("RNPC:002", cmdtext, true, 8)) {
    CallLocalFunction("OnRNPCPlaybackFinished", "i", playerid);
    } else {
    return CallLocalFunction("RNPC_OnPlayerCommandText", "is", playerid, cmdtext);
    }

    return true;
    }
    #if defined _ALS_OnPlayerCommandText
    #undef OnPlayerCommandText
    #else
    #define _ALS_OnPlayerCommandText
    #endif
    #define OnPlayerCommandText RNPC_OnPlayerCommandText
    forward RNPC_OnPlayerCommandText(playerid, cmdtext[]);



    Ich versuche nämlich verzeweifelt NPC's zu erstellen, bekomme es jedoch immernoch nicht hin und ich wollte wissen, ob dies evtl. damit zusammen hängt.

    Hey,


    mich würde interessieren, wie ich die In-Game Map unten links deaktivieren kann. TextDraw's würden nichts nützen, da man die Map ja dann wieder im Menü aufrufen kann. Habe das auch schon auf einem anderen Server gesehen, der dann unten links eine schwarze Map hatte und im Menü war die Map ebenfalls komplett schwarz.


    Habe schon nach evtl. ähnlichen Funktionen gesucht, jedoch nichts gescheites gefunden.


    Hoffe, dass mir einer helfen kann.

    Hey,


    ich habe ein Problem und zwar habe ich einen Stock names mysql_GetFloat erstellt. Jedoch bekomme ich bei beiden return floatstr(value); einen Tag Mismatch. Ich verstehe gerade garnicht, was ich falsch mache.



    stock mysql_GetFloat(table[], field[], where[])
    {
    new value[256], query[256];


    mysql_real_escape_string(table, table);
    mysql_real_escape_string(field, field);
    mysql_real_escape_string(where, where);


    if (strlen(where) != 0)
    {
    format(query, sizeof(query), "SELECT %s FROM %s WHERE %s", field, table, where);
    mysql_query(query);
    mysql_store_result();


    mysql_fetch_field(field, value);


    mysql_free_result();


    return floatstr(value);
    }
    else
    {
    format(query, sizeof(query), "SELECT %s FROM %s", field, table);
    mysql_query(query);
    mysql_store_result();


    mysql_fetch_field(field, value);


    mysql_free_result();


    return floatstr(value);
    }
    }

    OK, andere Erklärung:


    Meine Arrays sind ungefähr aufgebaut:

    new Skins[20][40];


    Skins[0][0] = 210;
    Skins[0][1] = 211;


    Skins[1][0] = 0;
    Skins[1][1] = 150;
    Skins[1][3] = 155;


    Ich möchte das der Spieler zwischen den Skins durchswitchen kann per Mausklick (OnPlayerKeyStateChange, halt). Ich möchte aber zuerst abfragen ob der Spieler ein Angreifer ist (0) oder der Spieler ein Verteidiger ist (1).


    Je nachdem soll dann abgefragt werden wie viele Inhalte Skins[0] hat (hier: 2) und wie viele Inhalte Skins[1] hat (hier: 3). Versteht ihr was ich meine ?