Jump to content

cmg4life

V.I.P
  • Posts

    304
  • Joined

  • Last visited

Posts posted by cmg4life

  1. Creeaza un TextDraw la OnGameModeInit, si pune-l TextDrawShowForAll dupa fa un timer tot acolo cva d genu "TextDrawFlash" si pune-l la cate secunde vrei tu ( daca freci un textdraw prea mult da time-outuri sau alte buguri de kk) .

    Dupa in public TextDrawFlash() folosesti TextDrawSetString, pune-l sa apara cu alte culori (faci un random sau asa ceva) sau eventual scrii cu totul alceva

  2. merge si la rpg dar nu e folositor la rpg trebuie sa iti arate mai multe chestii statusu :P de exemplu (Cheie de la casa, cheie de la biz, bani cash, bani in banca, level , daca ai sotie....) si multe altele :P

    cmg4life a spus clar ca arata doar ( cati ai omorat, de cate ori ai murit, levelul de admin daca ai admin, daca esti logat sau nu si atat) il poti folosi la rpg dar nu pentru rpg este facut el este facut pt servere de stunt de "SUMO'(cum au unii :)) )

    Mdea chiar folositor cmg gj :P

    L-am facut sa invatati cum sa faceti, puteti sa-l dezvoltati.

  3. Am scris un mic sistem de salvarea statisticilor (stats), l-am scris in pastebin asa ca s-ar putea sa aibe o greseala de scriere sau doua... L-am facut ca un exemplu pt voi. Sistemul foloseste ZCMD, care e foarte rapid, mai putin lag si foarte simplu de folosit.

    Sistemul salveaza Killuri, Morti si Level (admin):

    Daca aveti intrebari va ascult (nu uitati sa puneti #include zcmd in scriptul unde il folositi)

    http://pastebin.com/f5d988763

    PS: Inlocuiti COLOR cu ce culoare vreti voi.

  4. trebuie sa folosesti o variabila globala nu locala (cum faci momentan) - O variabila globala e una valabila pt tot scriptul, pe care o pui sub sub "#include" .

    Deci tu trebuie sa ai new NPCVehicle; si dupa in OnGameModeInit sa ai NPCVehicle = CreateVehicle

    Apropo, vezi ca e un tutorial despre asta, cauta-l si citeste-l cu atentie.

  5. Sa dai bani faci GivePlayerMoney(playerid, +suma); sau GivePlayerMoney(playerid, -suma);

    @matrixismyname: vezi cum vorbesti.

    public OnPlayerStateChange(playerid, newstate, oldstate)//am scris-o din minte s-ar putea sa fie oldstate si dupa newstate
    {
        if(newstate == PLAYER_STATE_DRIVER )
        {
            new veh = GetPlayerVehicleID(playerid);
            if( GetVehicleModel(veh) == 425 )
            {
                SetTimerEx("FunctiaMeaPentruTimp", 1000, 0, "i", playerid );
                SendClientMessage(playerid,0xFFFFFFAA,"You're in Hunter!");
            }
        }
        return 1;
    }
    
    forward FunctiaMeaPentruTimp(playerid);
    public FunctiaMeaPentruTimp(playerid) // functia asta e pentru SetTimerEx ce am creat-o deasupra
    {
        if( IsPlayerInAnyVehicle(playerid) )
        {
            if( GetVehicleModel(GetPlayerVehicleID(playerid)) == 425 )
            {
                print("o secunda tocmai a trecut");
                GivePlayerMoney(playerid, +1);
                SetTimerEx("FunctiaMeaPentruTimp", 1000, 0, "i", playerid );
            }
        }
        return 1;
    }
    

    Citeste tot:

    Ceea ce ti-am facut a fost sa-ti schimb de la OnPlayerEnterVehicle la OnPlayerStateChange, care e mult mai bun decat EnterVehicle pt ca e chemat atunci cand playerul se aseaza in vehicul, nu cand deschide portiera sau apesi F si se indreapta spre vehicul.

    A 2a chestie, a fost ca am setat SetTimerEx nu SetTimer, diferenta e ca Ex poate fii pus pentru un anumit parametru, ca playerid, vehicleid sau ce ai tu acolo.

    A 3a chestie, nu-l am pus sa se repete deoarece in el se verifica daca playerul e inca in Hunter, si daca e Timerul se seteaza din nou, si ii da 1$ de fiecare data.

    A 4a chestie, NU CONFUNDA MODELUL cu IDul ! IDul e numarul de ordine al vehiculului sau o variabila pe care i-o pui tu cu X = CreateVehicle (de exemplu ), iar modelul e felul in care arata, de exemplu la tine 425 e modelul, IDul nu e nevoie sa-l stii personal, pentru ca-l afli de la player (ca sta in el).

  6. varianta GF, dar daca futi "locul" vehiculeleor in GamemodeInit se fute tot.

    poti sa faci

    new Vehs[60];
    
    //sub gamemodeinit
    Vehs[0] = 
    Vehs[1] =
    Vehs[2] = 
    Vehs[3] =
    etc.
    
    //sub commandtext
        if(!strcmp(cmdtext, "/comanda", true)) // By LordMan
        {
            new carid = GetPlayerVehicleID(playerid);
            for(new i=0; i<60; i++)
            {
                if( carid == Vehs[i] )
                {
                    //comanda ta
                }
            }
            return 1;
        }
    
    Sau cu functie
    
    stock IsASpecialCar(carid)
    {
        for(new i=0; i<60; i++)
        {
            if( carid == Vehs[i] )
            {
                return 1;
            }
        }
        return 0;
    }
    
    //comanda
        if(!strcmp(cmdtext, "/comanda", true)) // By LordMan
        {
            new carid = GetPlayerVehicleID(playerid);
            if( IsASpecialCar(carid) )
            {
                    //comanda
            }                    
            return 1;
        }
    

    Spre deosebire de Moz asta garanteaza functionarea oricand, daca faci ca Moz, tot merge, dar daca schimbi locul vehiculelor in GameModeInit, se strica tot. Acum faci cu vrei tu.

    Bafta

  7. nu asta conteaza, conteaza cum e aranjat, acolo unde e pus.

    indentation = identa?ie (zice nea' gogu' ) sau indentatie (tot el o spune) dar oricum nu "identitate" care inseamna cu totul alceva.

    A indentat un cod, nu inseamna  sa-l "aranjezi" in PawnO si gata, a indentat un cod inseamna a-l aranja acolo unde este "postat", acolo unde este folosit/aratat/etc.

  8. @ Cmg , vezi ca ai pus pastebin-ul meu in postul tau

    @@ Ma copile , eu am testat si de mers merge bine. Daca tu ai pus OnPlayerText in OnPlayerText ( adica sa ai 2x de OnPlayerText ) inseamna ca nu ai ce cauta aici. Si probabil asta ai si facut

    Am pus ultima varianta a scriptului. Oricum tu ai gresit ca nu i-l ai aranjat (sau nu stii) iar el a gresit din start ca nu l-a aranjat (indentat).

×
×
  • 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.