Jump to content

cmg4life

V.I.P
  • Posts

    304
  • Joined

  • Last visited

Everything posted by cmg4life

  1. cmg4life

    Rechin

    mam ce imaginatie ai =)) Acelea sunt OBIECTE, iar obiectele nu mananca playeri. Trateaza SA-MP dupa ce face nu dupa cum arata.
  2. bey da n a folosit decat unei persoane ? de nu prea multumeste nimeni ? :-[
  3. - In acest tutorial va voi arata cum sa realizati un NPC dar si cum sa il folositi. Inainte de toate setati Numarul de NPCii pe care vreti sa-i folositi in script in server.cfg maxnpc X Unde X este numarul de NPCii folositi. Inregistrarea rutei NPCului Incarcati filterscriptul "npc_record" (npc_record.amx). Mergeti in joc, logati-va ca RCON ( /rcon login PASS ). Folositi comanda /ofrecord [nume] -pt a inregistra o ruta fara vehicul- sau /vrecord [nume] -pt a inregistra o ruta cu vehicul- , folositi comanda /stoprecord pt a finaliza inregistrarea. Mergeti in folderul scriptfiles si cautati un fisier de formatul "nume.rec" -unde nume este numele folosit mai sus- , mutati acest fisier in folderul recordings aflat in folderul npcmodes . Controlarea NPCului Creeaza un fisier .pwn, gol in folderul npcmodes. In fisierul .pwn scrieti codul acesta: #define RECORDING "mynpc" //This is the filename of your recording without the extension. #define RECORDING_TYPE 1 //1 for in vehicle and 2 for on foot. #include <a_npc> main(){} public OnRecordingPlaybackEnd() StartRecordingPlayback(RECORDING_TYPE, RECORDING); #if RECORDING_TYPE == 1 public OnNPCEnterVehicle(vehicleid, seatid) StartRecordingPlayback(RECORDING_TYPE, RECORDING); public OnNPCExitVehicle() StopRecordingPlayback(); #else public OnNPCSpawn() StartRecordingPlayback(RECORDING_TYPE, RECORDING); #endif Inlocuim "mynpc" cu numele inregistrarii facute mai sus, fara extensie -daca inregistrarea este "bla.rec" atunci scriem "bla" fara extensie- . #define RECORDING_TYPE 1 //1 for in vehicle and 2 for on foot. Aici scriem 1 sau 2 in functie de: 1 - NPCul are un vehicul, 2 - NPCul nu are un vehicul. Dupa ce am facut tot de mai sus, compliem scriptul ( F5 ). Conectarea NPCului Deschidem GameModeul sau FilterScriptul in care folosim NPCul. Sub OnGameModeInit (sau OnFilterScriptInit ), adaugam ConnectNPC("NUME", "inregistrare"); unde inlocuim "NUME" cu numele ales pt NPC si "inregistrare" cu numele inregistrarii, fara extensie. Daca NPCul conduce un vehicul, trebuie sa il cream. #include <a_samp> new NPCvehicle; public OnGameModeInit() { NPCvehicle = CreateVehicle(411, 0.0, 0.0, 0.0, 0.0, -1, -1, 1000); return 1; } -doar un exemplu- Iar acum sa il punem in vehicul, aici trebuie mai intai sa il recunoastem. Pt a recunoaste un NPC ne folosim de Nume. Si il vom recunoaste cand se spawneaza. public OnPlayerSpawn(playerid) { if(IsPlayerNPC(playerid)) //Verifica daca playerul este NPC { new npcname[MAX_PLAYER_NAME]; GetPlayerName(playerid, npcname, sizeof(npcname)); //Luam numele NPCului if(!strcmp(npcname, "NUME", true)) //Verificam daca numele NPCului este "NUME" { PutPlayerInVehicle(playerid, NPCvehicle, 0); //Punem NPCul in vehicul } return 1; } //Celelalte lucruri din OnPlayerSpawn return 1; } -puteti sa-i adaugati si alte caracteristici, nu doar sa il asezati intr-un vehicul, puteti sa-i schimbati skinul, culoarea pe harta etc.- Daca aveti probleme la conectarea NPCului de exemplu este dat afara, adaugati urmatoarea verificare la OnPlayerConnect if(IsPlayerNPC(playerid)) return 1; -Cititi cu atentie inainte de a intreba.- Verificati http://forum.sa-mp.com/index.php?topic=119947.0 pt mai multe detalii.
  4. Mari prostii ai zis... da mari de tot AddPlayerClass, adauga o clasa, clasesele sunt "categorii" de player, cand intra pe un server, un player isi alege Categoria (clasa), acum tu trebuie sa definesti aceasta clasa, cu AddPlayerClass(skin, Float:x, Float:y, Float:z, Float:Angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo); acolo scrii tot ce trebuie sa definesti, skinul, coordonatele, unghiul, armele, munitia. Dupa la OnPlayerRequestClass, aici definesti ce se intampla cand playerul selecteaza si/sau alege o clasa. Unde sta clasa respectiva cand e vazuta, unde sta camera, ce unghi, etc. SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 270.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); Poti face optiunui pentru fiecare clasa in sine , ceva de genul (mai simplu ) : switch(classid) { case 0: { SetPlayerPos SetPlayerFacingAngle etc. } case 1: { SetPlayerPos etc. } case 2: { SetPlayerColor SetPlayerPos etc. } } ( pawno incepe numaratoarea de la 0 nu de la 1 ) Cate "case" ai atatea clase ai. Daca ai 5 Clase, o sa ai 5 case ( case 0 , case 1, 2 , 3, 4 ) ---^^^-- Cum este prezentata clasa. Apoi, Coordonatele de la AddPlayerClass, pot fii diferite de acestea; coordonatele acelea aleg unde va aparea playerul cand alege clasa respectiva ( unde se spawneaza ). Cu OnPlayerDeath nu ai treaba in capitolul asta. La OnPlayerDeath definesti ce se intampla cand moare playeru... Isi schimba culoarea, pierde bani sau altele. Citeste tot daca vrei sa afli un raspuns decent .
  5. cmg4life

    Ceas pe server

    /rcon time XX XX si cauta pe wiki functia, parca era ToggleClock(1); sau asa ceva
  6. Bravo Agentu007, le-ai dat clasa (fara nici un mijto) Singura chestie si la remorca trebuie sa faci la fel ca la camion. adica new remorca; si asa mai departe.
  7. am eu ceva aseamanator in Real-Life Stunting vezi ce face /login . Dar si Lazlow ti a zis cum sa faci
  8. ceva de genul enum inf { CarKeys }; new pInfo[MAX_PLAYERS][inf]; Cand vrei tu pInfo[playerid][CarKeys] = 191; si dupa if( pInfo[playerid][CarKeys] == 191 ) SetVehicleParamsForPlayer(191, playerid, 0, 0 ); else SetVehicleParamsForPlayer(191, playerid, 0, 1 ); asta poti sa o folosesti sa i descui masina la care are chei si sa o incui pe cea la care nu are chei...
  9. Exista tutorial despre MoveObject are si chestii despre porti ! 2. 1 secunda in PawnO = 1000 ... poti sa faci pt 3 minute ceva de genul 1000 * 3* 60 adik 1 minut de 3 ori
  10. incearca ceva de genul "SetVehicleZAngle(vehicleid,Angle+180.0);" -nu stiu daca merge (sa ne spui si noua daca a mers)
  11. stock StrvalEx e scris de 2 ori, ori in script si in include ORI de 2 ori in script :P
  12. Sau ca sa cazi in picioare, dar sa cazi, pur si simplu cand iese din vehicul, ii setezi pozitia acolo unde a iesit.
  13. Calmati-va... LWDM are o chestie care iti salveaza pozitia pt 5 minute (ultimul player deconectat) deci daca intri repede inapoi te da exact cum erai. Dar pt ceva mai bun si pt o mai lunga durata de timp, folosesti un sistem care sa salveze coordonatele iar apoi sa le foloseasca cand playerul intra.
  14. cmg4life

    crash cand mor

    Ai facut vreo prostie pe la OnPlayerDeath
  15. new stuntpl[MAX_PLAYERS]; forward StuntPl(playerid); public StuntPl(playerid) { if( stuntpl[playerid] == 1 ) stuntpl[playerid] = 0; return 1; } public OnPlayerSpawn(playerid) { stuntpl[playerid] = 0; //altele return 1; } public OnPlayerStateChange(playerid, newstate, oldstate) { if (newstate == PLAYER_STATE_DRIVER) { if( stuntpl[playerid] == 0 ) { stuntpl[playerid] = 1; SetTimerEx("StuntPl", 60 * 1000 * 2, 0, "i", playerid); // 2 minute if(GetPlayerVehicleID(playerid) ==513)//ID-ul stuntplane-ului { SendClientMessage(playerid,COLOR_RED,"Ai intrat in avionul de acrobatii.Daca vrei, poti lasa o dara de fum pe cer apasand tasta 2"); } } } return 1; }
  16. public OnPlayerSpawn(playerid) { new rand = random(3); switch(rand) { case 0: { SetPlayerPos(playerid, x, y, z); case 1: { SetPlayerPos(playerid, x, y, z); case 2: { SetPlayerPos(playerid, x, y, z); } // altele return 1; }
  17. 1. Toate posturile astea imense ar trebui sterse si sa va dau un pic de ban la fiecare > 2. Ai uitat o }
  18. Iti trebuie Port Forward si Ip Static
  19. in LW DM (Littlewhitey's DM) e o chestie facuta, ultimul care a picat neasteptat (fara /q) daca intra pana pica urmatoru are acelasi coordonate si tot. Sau iti faci un sistem de conturi sa salvezi pozitie si toate cele (vezi Real-Life Stunting)
  20. Deci GF Blank e una noua =)) Mi-am mai zis unu' "Eu am facut cel mai tare GF". @OnTopic: Lasa-te de Gf, fa-ti singur un mod de la 0 si experimenteaza pe el .
  21. se pot face "interioare" - interiorul e o harta in sinea esti, ca ii trebuie SetPlayerInterior sa se vada e a 2a parte. Ca sa faci ceva apropiat unui interior, du-te cu mapperu in pamant, undeva unde nu se poate ajunge si faci o harta fara iesire/vedere spre exterior ... si ala e interioru :P
  22. cmg4life

    pawno si MTA

    asta nu e sa-mta.ro ... e sa-MP.ro
  23. mie mi se pare ca vrei sa nenorocesti pe cineva Asta nu e locul potrivit.
  24. ce parapanta de politie =)) ... prea tare, bravo
  25. a invatat si el sa dea copy pashte :P
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.