Jump to content

valivaly96

Membru
  • Posts

    514
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by valivaly96

  1. Acum 3 ore, Exaton a spus:

    Salutare tuturor am venit si eu azi cu o intrebare cum pot sa fac ca la cei cu cont vip sa le apara deasupara capului V.I.P User?

    Si inca o intrebare am gamemodeul WSTER Rpg cum fac ca cand un admin da click pe mapa sa se teleporteze?

    new PlayerLabel[MAX_PLAYERS]
    PlayerLabel[playerid] = Create3DTextLabel(VIP, COLOR, 0.0, 0.0, 40.0, 20.0, 0, 1);
    
    Attach3DTextLabelToPlayer(PlayerLabel[playerid], playerid, 0.0, 0.0, 0.47);

    La OnPlayerConnect

    si posibil si la OnPlayerSpawn daca dupa ce se spawneaza nu ii mai apare

  2. Acum 4 ore, AlexGX a spus:

    Eu le-am pus pe astea 3 pentru  ca le folosesc in gamemode-ul meu.

    Era simplu sa caute si ei pe wiki.sa-mp.com , parerea mea.

    daca faci un tutorial despre crearea unui dialog normal e sa acoperi toate cele 6 cazuri ca altfel puteau sa caute direct pe wiki nu mai aveau nevoie de tutorial

  3. La 28.12.2017 la 12:03, AlexGX a spus:
    
    In primul rand incepem cu definirea dialogului + include
    
    #include <a_samp>
    
    #define Dialogulmeu 0 //in loc de 0 puteti pune ce numar vreti(dar sa nu puneti unul folosit la alt dialog)
                   // Dialogulmeu este o scurtatura

    Facem o comanda random 

    
    public OnPlayerCommandText(playerid, cmdtext[])
    {
      if(strcmp("/dialog", cmdtext, true) == 0)
      {
       ShowPlayerDialog(playerid, Dialogulmeu, DIALOG_STYLE_LIST, "Dialogul meu", "Varianta1\nVarianta2\nVarianta3", "Ok", "Iesire");
       return 1;
      }
      return 0;
    }

    playerid - Cui sa-i arate dialogul
    Dialogulmeu - Numarul dialogului(in cazul nostru este 0, asa cum am scris mai sus).Este doar o scurtatura.In loc sa scriem "Dialogulmeu" putem pune direct 0(sau alt numar).

    DIALOG_STYLE_LIST - Stilul dialogului.Sunt 3 stiluri:

     

    
    DIALOG_STYLE_MSGBOX - arata doar un mesaj. //ca sa fim rapizi putem scrie direct 0
    DIALOG_STYLE_INPUT - arata un mesaj si poti scrie ceva. //ca sa fim rapizi putem scrie direct 1
    DIALOG_STYLE_LIST - este o lista de unde alegi ce vrei. //ca sa fim rapizi putem scrie direct 2

    Dialogul meu - Este titlul dialogului
    Varianta1\nVarianta2\nVarianta3 - Sunt variantele pe care le putem alege.

    \n inseamna un rand nou.Daca nu puneam \n variantele nu erau una sub alta.Daca vrem sa lasam un mic spatiu(sa scriem ceva pe acelasi rand dar un pic mai la dreapta) punem \t

    Ok - Este primul buton.
    Iesire - Este al 2-lea buton.

    Acum trebuie sa adaugam:

     

    
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
      if(response)//daca apasam pe primul buton, adica Ok
      {
       if(listitem == 0)//daca dam click pe prima varianta, in cazul nostru Varianta1
       {
         SendClientMessage(playerid, 0x21DD00FF, "Ai selectat varianta 1");//asta se intampla cand selectam Varianta1
       }
       if(listitem == 1)//daca dam click pe a 2-a varianta, adica Varianta2
       {
         SendClientMessage(playerid, 0x21DD00FF, "Ai selectat varianta 2");
       }
       if(listitem == 2)//daca dam click pe a 3-a varianta, adica Varianta3
       {
         SendClientMessage(playerid, 0x21DD00FF, "Ai selectat varianta 3");
       }
      }
      else//daca dam click pe al 2-lea buton, adica Iesire
      {
        SendClientMessage(playerid, 0x21DD00FF, "Ai apasat pe butonul Iesire");
      }
      return 1;
    }

    Cum punem intr-un dialog foarte multe cuvinte fara sa ne dea eroare ca e linia prea lunga?(LaZ m-a invatat :P)

    Sus dupa #include <a_samp> punem:

     

    
    #define Dialogulmeu 0
    
    new string[] = "Ai scriem ceva lung.\nEtc...",
       string2[] = "Scriem si aici ceva lung.",
       string3[] = "Si mai scriem si aici ceva."; // in loc de string, string2,etc punem ce nume vrem.Putem pune cate stringuri vrem.
    
    public OnPlayerCommandText(playerid, cmdtext[])
    {
      if(strcmp("/dialog", cmdtext, true) == 0)
      {
       new DialogString[512];//512 e numarul de caracterele care va aparea.Daca aveti peste 512 caractere(litere) puneti un numar mai mare de 512
       format(DialogString, sizeof DialogString, "%s%s%s", string, string2, string3 );//cate stringuri avem atatea %s punem
       ShowPlayerDialog(playerid, Dialogulmeu, DIALOG_STYLE_MSGBOX, "Titlul dialogului", DialogString, "Ok", "Iesire" );
       return 1;
      }
      return 0;
    }

    Sper ca v-am fost de folos :D

    1. Sunt 6 tipuri(stiluri) de dialoguri nu 3 

    Ai omis: DIALOG_STYLE_PASSWORD( cu id 3) Are aceeasi functie ca stilul cu id 1 doar ca afiseaza niste buline in loc de ce scrie jucatorul

    DIALOG_STYLE_TABLIST(ID 4) Are aceasi functie ca stilul cu id 2 doar ca poti organiza dialogul pe maxim 4 coloane.

     

    DIALOG_STYLE_TABLIST_HEADERS(ID 5)

    Aceasi functie ca stilurile 2 si 4  doar ca se mai poage adauga un header care nu este selectabil. Sper ca m am facut inteles daca nu informatiile necesare le gasiti :

    http://wiki.sa-mp.com/wiki/Dialog_Styles

  4. La 31.12.2017 la 22:52, FAStingTV a spus:

    Salut Buggd. Aici este o comanda https://pastebin.com/6uWsDMrF este un sistem ce givecoins.Insa eu vr sa ma ajutati cum ca :

    cind eu creez o comanda :

     

     

     

    CMD:weapon(playerid, params[]) {

    GivePlayerWeapon(playerid, 24, 100);

    SendClientMessage(playerid, -1, "Ai primit un deagle!");

    return 1;

    }

     

     

    eu as vrea sa pun o interdictie ca sa imi eie 10 coins daca dau aceasta comanda ca si cum as pune la bani     if(GetPlayerMoney(playerid) < 100)

    insa eu vr la coins si nu vreau la coins cind scriu /weapon sa imi eie 10 coins,si cind nu am coin sa-mi scrie ca nu ai atitea coin   PLS HELP !!!!

    cmd:weapon(playerid,params[])

    {

    if(pInfo[playerid][Coins] <10) return SendCliendMessage(playerid,culoare,"Nu ai destui coins"); //asta e verificarea

    pInfo[playerid][Coins]-=10; //aici ii scade coins

    GivePlayerWeapon(playerid,id_arma,gloante);

    return 1;}

  5. La 28.12.2017 la 21:20, CyborGRO a spus:

    Cam cat de greu este sa iti faci gamemode de la 0?

    Ce imi puteti recomanda sa fac un gamemode de la 0 sau un gamemode de pe net editat

    Totul depinde de tine. Daca ai cunostintele necesare nu este greu sa faci un gm de la 0 dar o sa dureze mai mult pana ajungi la ceea ce doresti sa faci fata de un edit

  6. Acum 22 ore, DonaTitanul a spus:

    Salut, cand vreau sa imi conectez serverul la mysql imi spune aceasta eroare  : 


      Loaded 6 filterscripts.

    Script[gamemodes/StefanBoyka.amx]: Run time error 19: "File or function is not found"
    Number of vehicle models: 4

    posteaza tot server log

  7. La 23.04.2017 la 16:38, Uzzi_25 a spus:

    Salutare astazi doresc sa iti prezint un tutorial pentru comanda /bonus mai ales pentru gm bigzone !!

     

    Dc am facuto pe gm bigzone ? : Pentru ca este cel mai folosit gm !

     

     

    Sa inceptem :

     

    Prima data dau comanda apoi explic ce face fiecare functie:

     

    Comanda:

     

      Ascunde conținuturi

    CMD:bonus(playerid, params[])


    {
    if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Trebuie sa te loghezi mai intai!.");
    if(IsPlayerConnected(playerid))
    {
    if(BonusActiv > 0)
    {
    if(PlayerInfo[playerid][pLevel] <= 2)
    {
    GivePlayerCash(playerid, 4000000);
    PlayerInfo[playerid][pPremiumPoints] = 10;
    PlayerInfo[playerid][pLevel] = 3;
    Update(playerid, pLevelx);
    Update(playerid, pCashx);
    Update(playerid, pPremiumPointsx);
    SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ai primit $4.000.000, 10 Premium Points si level 3!");
    }
    else return SendClientMessage(playerid, COLOR_LIGHTRED, "Nu poti folosi aceasta comanda deoarece level-ul tau este prea mare!");
    }
    }
    return 1;
    }

     

     

    Si acum sa explicam:

     

    if(PlayerInfo[playerid][pLevel] <= 2) ---> Nu poate folosi comanda aceasta decat pana la lv 2 daca trece de lv 2 nu o mai poate folosi !!

     

    PlayerInfo[playerid][pPremiumPoints] = 10; ---> Ii da playerului 10 puncte premium !

     

    GivePlayerCash(playerid, 4000000); ---> Ii da automat la player cand foloseste /bonus suma de bani 

     

    PlayerInfo[playerid][pLevel] = 3; ---> Ii seteaza level 3 la player

     

    Update(playerid, pLevelx);
    Update(playerid, pCashx);
    Update(playerid, pPremiumPointsx); 

     

    La ce e mai sus se updateaza level cash si premium !

     

    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Ai primit $4.000.000, 10 Premium Points si level 3!"); 

     

            Ii spune la playerul respectiv ce a primit la /bonus !

     

    SendClientMessage(playerid, COLOR_LIGHTRED, "Nu poti folosi aceasta comanda deoarece level-ul tau este prea mare!");

     

                Ii spune ca are peste level 2 (care este pus de mine puteti modifica) ca nu mai poate folosi comanda !

     

     

     

     

    Daca mai doresti tutoriale lasa un +1 !

    Tutorial bun pt incepatori. Ai o linie de cod in plus if(IsPlayerConnected(playerid)). Aceasta verificare este in plus si inutila deoarece un jucator care nu e conectat la server nu va folosisi nici o comanda.

  8. Acum 13 ore, SPAWN a spus:

    Salut,

     

    Tocmai ce am descarcat si eu serverul Burned RPG sa-l testez .. nu am mai jucat SA:MP de mult dar acest server ma face sa-l testez sa-l descopar.

    Nu vreau sa-mi deschid server sau sa profit ca in primul rand nu am cunostintele necesare, vreau doar sa-l pornesc si sa-l testez sa vad cum este.

    Ei bine am cerut un host timp de 24h de la o firma, am pus serverul pe FTP tot frumos, am schimbat datele in Pawno cu cele de mySQL si cand ii dau drumul porneste serverul dar cand intru si incep sa ma inregistrez, introduc prima oara parola dupa care dau sa ma loghez si imi zice ca parola este gresita. Am verificat si serverul nu se conecteaza la baza de date dar nu inteleg de ce se intampla treaba asta ca eu zic ca am facut totul ca la carte.

    Linia in pawno este modificata cum trebuie: if(SERVER_HOSTSTATUS == 1) SQL = mysql_connect("188.214.58.6", "aidinm", "zp_hid11310", "parolamysql")

     

    Eroarea din mySQL_Log

    
    [22:16:11] [ERROR] CMySQLQuery::Execute[()] - (error #2006) MySQL server has gone away
    [22:16:11] [ERROR] CMySQLConnection::Connect - (error #1044) Access denied for user 'aidinm'@'%' to database 'zp_hid11310'

    Eroarea din server_log

    
    [22:16:11]  ======================================= 
    [22:16:11]  |                                     | 
    [22:16:11]  |        YSI version 3.09.0684        | 
    [22:16:11]  |        By Alex "Y_Less" Cole        | 
    [22:16:11]  |                                     | 
    [22:16:11]  ======================================= 
    [22:16:11]  
    [22:16:11] Server: 188.214.58.24
    [22:16:11] Server vehicles: 0
    [22:16:11] Safezones: 0
    [22:16:11] Houses: 0
    [22:16:11] Clans: 0
    [22:16:11] Clan zones: 0
    [22:16:11] Bussines: 0
    [22:16:11] Turfs: 0
    [22:16:11] Factions: 0
    [22:16:11] Jobs: 0
    [22:16:11] Furnitures: 0
    [22:16:11] Stuff Loaded
    [22:16:11] Safes: 0
    [22:16:11] Number of vehicle models: 18
    [22:16:11] ====================================================================
    [22:16:11] Error ID: 2006, Error: MySQL server has gone away
    [22:16:11] Callback: LoadDSVeh
    [22:16:11] gQuery: SELECT * FROM `dsveh`
    [22:16:11] ====================================================================

     

    Multumesc frumos, sper totusi sa primesc sprijin!

     

    Succes!

    nu se face conexiunea la baza de date

  9. La 10.12.2017 la 9:10, Turbyn3 a spus:

    Am vazut ca multi au o problema la sistemul de clan, adica la tag.Sigur pe un gamemode bigzone sau alte gamemode-uri exista acest bug, si nu va lasa sa folositi tag-ul clanului si va apare"Nu sunt permise asemenea caractere" sau ce aveti voi acolo.

     

    Acum incepem rezolvare acestui mic bug.

     

     

    -Acum cautati in gamemode(CTRL+F) "public OnDialogResponse"

    -acum sub "for(new i; i < sizeof(antisqlinjection); i++)" adaugati "if(dialogid != DIALOG_CLAN_TAG)"

    Acest tutorial a fost facut pentru incepatorii in acest domeniu.

    Cam atat, multumesc pentru atentie 

    in modul acesta creezi o vulnerabilitate. Din acel dialog iti poate pica serverul cu un simplu %s. O rezolvare mai buna ar fi ca in tagul clanului sa nu folosesti caractere cu care se poate face sqlinjection

  10. La 15.12.2017 la 0:33, webby a spus:
    
    if(PlayerInfo[playerid][pMember] != 11 || PlayerInfo[playerid][pLeader] != 11) return SendClientMessage(playerid, COLOR_LIGHTRED, "You are not a Hitman.");

    Modifici aceasta linie, in:

    
    if(PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11) return SendClientMessage(playerid, COLOR_LIGHTRED, "you are not taking part of Hitman.");

     

    Total gresit. daca e in hitman nu va mai pitea intra in garaj. ceea ce ai facut tu e sa verifice daca jucatorul este im hitman si daca este sa ii returneze mesaj ca nu este in hitman???

  11. Creaza o variabila globara InTrade[MAX_PLAYERS]

    la sellhouseto dupa if(GetPlayerCash(giveplayerid) < money) return SCM(playerid,COLOR_WHITE,"{FFB870}Acest jucator nu are acesti bani.");

    pui InTrade[playerid]=1;

    la sellhouse inainte de if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Trebuie sa fii logat."); 

    pui if(InTrade[playerid]!=0) return SCM(playerid,COLOR_WHITE,"ai un trade activ); 

    dupa dute la comanda /accept si unde accepta casa pui InTrade[HouseOffer[playerid]] =0;

     

    In acelasi mod se fac si la bizz

    • Thanks 1
  12. Acum 26 minute, VLM a spus:

    Am gasit la ce va referati !

    
    		if(hour == 23)
    		{
    			new str[256];
    			mysql_tquery(SQL,"UPDATE 'cars' SET 'days' = 'days'+1","","");
    			foreach(Player,i)
    		    {
    		        for(new v; v < PlayerInfo[i][pCarSlots]; v++)
    				{
    					if(PlayerInfo[i][pCar][v] != -1)
    					{
    						PlayerInfo[i][pCarDays][v]++;
    						PlayerInfo[i][pCarInsPrice][v] += 50;
    					}
    				}
    			}

    Ce problema e ?

     

     

    In baza de date cresc days? Serverul este on cand pe acesta ora este 23:00?

  13. Acum 5 ore, VLM a spus:

    Am in tab-ul users quest1.. etc, o comanda pentru asta?

    Pur si simplu nu poti face un for si un query ca sa pui acele variabile pe 0?

    for(new i=0;i<MAX_PLAYERS;i++)

    {

    PlayerInfo[pQuest1] =0;}s.a.m.d

    new query[1000];

    format(query,1000,"UPDATE users SET quest1=0,quest2=0 s.a.m.d");

    mysql_tquery(handle,query,"","");

  14. Acum 8 ore, Geani a spus:

    nu are nicio treaba asta daca el are o limitare deja la o anumita suma de bani ex la 999999999 ce trece peste iti seteaza pe 0, sau am observat ve un gamemod nu mai stiu minte ce gm era era limitat la pBank sa  fie la max 90000000$

    2,147kkk este limita pentru integer, mai sus de atata nu poate urca cu suma maxima de bani deoarece o sa ii returneze o valoare cu minus. Ca sa poata urca cu suma de bani ori imparte  numarul in 2(e o metota pe forum) ori salveaza banii care sunt peste 2.137kkk intr-o alta variabila

  15. Acum 10 ore, VLM a spus:

    Cum pot face o comanda prin care quest-ul sa fie resetat la toti playerii ?

    Ar trebuii sa resetezi variabilele quest1, quest2 etc. Asta in mare, fiind posibil sa fie si alte variabile care au legatura cu qestul si trebuiesc Resetate. Variabilele quest1, quest2 s.a.m.d se pun pe 0

  16. 1 oră în urmă, AlexBo$$ a spus:

    Aa..am mai observat ceva daca nu pun parantese cand creez clanul in tab nu arata tagul, pe cand daca pun paranteze la clan cand creez imi arata in tab.

    daca clan tagul este intre [ ] problema este la incarcarea clanurilor din baza de date

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