Jump to content

  • Log In with Google Existing user? Sign In
  • Sign Up
Welcome to Tesloianu » We make difference!
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!
Photo

Comenzi de baza (SCRIPTING)


  • This topic is locked This topic is locked
No replies to this topic

FilipGFX

FilipGFX

    I hope that is not my bad :/

  • Administrators
  • Posts
    1,006
  • Reputation
    77
    • Cum se creează comenzi de bază
       
       
       
      Acest tutorial se adreseaza începatorilor care au pu?ina experien?a în codificare. Va trece peste ce ve?i avea nevoie, cum sa crea?i o comanda, ce pute?i face în cadrul unei comenzi etc.
       
       
      I. Cerin?e
       
       
      - ZCMD îmbunata?it
      - sscanf
       
       
      II. No?iuni de baza
       
       
      Primul lucru pe care va trebui sa-l face?i este sa va pregati?i scriptul. Daca utiliza?i IDE-ul implicit care vine cu pachetul de server SA-MP, pute?i apasa „Nou” ?i acesta va crea acest lucru pentru dvs. Cu toate acestea, vor func?iona ?i urmatoarele:
       
       
      Cod PHP:
      #include <a_samp>
       
       
      public OnGameModeInit ()
      {
          retur 1;
      }
       
       
      public OnGameModeExit ()
      {
          retur 1;
      }
       
       
      Primul lucru pe care trebuie sa-l facem este sa adaugam I-ZCMD ?i sscanf la scriptul nostru, astfel încât sa le putem accesa func?iile. Facem acest lucru tastând #include <include_name_here> în partea de sus a scriptului. Ar trebui sa arate cam a?a:
       
       
      Cod PHP:
      #include <a_samp> // orice samp nativ include ar trebui sa fie mai presus de toate crea?iile facute de utilizator
      #include <izcmd>
      #include <sscanf2>
       
       
      Acum ar trebui sa compila?i scriptul pentru a va asigura ca nu apar erori. Daca se face corect, nu ar trebui sa ave?i erori sau avertismente. Urmatorul pas este crearea comenzilor.
       
       
      III. Crearea unei comenzi
       
       
      Crearea unei comenzi în primele zile ale SA-MP a necesitat utilizarea OnPlayerCommandText publica (playerid, cmdtext []) împreuna cu utilizarea strcmp ?i strtok pentru a în?elege ce comenzi au fost tastate ?i pentru a aduna parametrii de comanda pe care jucatorul le-a tastat alaturi de comanda. Acest lucru nu mai este folosit de majoritatea scripturilor, deoarece s-a aratat din nou ?i din nou ca este foarte ineficient în compara?ie cu alte procesoare de comanda fabricate astazi. Vom folosi izcmd ca procesor de comanda, deoarece acesta (sau zcmd original) este cel pe care îl folosesc majoritatea scripturilor astazi. Cream o comanda procedând în felul urmator:
       
       
      Cod PHP:
      CMD: examplecmd (playerid, params [])
      {
          retur 1;
      }
       
       
      Exemplul de mai sus este unul dintre modurile comune în care scripterii vor crea o comanda, cu toate acestea izcmd va permite sa crea?i o comanda înca câteva moduri, cum ar fi:
       
       
      Cod PHP:
      COMANDA: examplecmd (playerid, params [])
      {
          retur 1;
      }
      comanda (examplecmd, playerid, params [])
      {
          retur 1;
      }
      cmd (examplecmd, playerid, params [])
      {
          retur 1;
      }
       
       
      Pentru restul tutorialului, vom folosi primul exemplu. Comenzile pot fi plasate oriunde în scriptul de sub liniile #include. Acum, atunci când un jucator tasteaza / examplecmd, nu va face nimic, deoarece nu exista niciun cod pentru a merge împreuna cu acesta, însa scriptul îl va recunoa?te ca o comanda. Sa facem ca aceasta comanda sa trimita un mesaj simplu:
       
       
      Cod PHP:
      CMD: examplecmd (playerid, params [])
      {
          SendClientMessage (playerid, -1, „Buna ziua, am facut o comanda!”); // trimite un mesaj clientului (jucatorului)
          retur 1;
      }
       
       
      Acum, când un jucator tasteaza / examplecmd, acesta le va afi?a mesajul „Buna ziua, am facut o comanda!”. Cu toate acestea, aceasta este o comanda foarte simpla, a?a ca sa o facem sa ofere jucatorului sanatate ?i armura deplina:
       
       
      Cod PHP:
      CMD: examplecmd (playerid, params [])
      {
          SendClientMessage (playerid, -1, „Buna ziua lume, am facut o comanda!”); // trimite un mesaj clientului (jucatorului)
          SetPlayerHealth (playerid, 100.0); // seteaza valoarea de sanatate a jucatorului la 100 (sanatate completa)
          SetPlayerArmour (playerid, 100.0); // seteaza valoarea armurii jucatorului la 100 (armura completa)
          retur 1;
      }
       
       
      Acum, când tipul de jucator / examplecmd, acesta va seta sanatatea ?i valorile armurii jucatorului la 100, împreuna cu trimiterea unui mesaj. Acum, efectuarea comenzilor de acest fel va func?iona bine, dar daca un jucator trebuie sa introduca informa?ii suplimentare pe care comanda le cere de la jucator?
       
       
      IV: Tratarea parametrilor
       
       
      Parametrii sunt ceea ce playerul va tasta dupa comanda, astfel încât scriptul sa le poata utiliza. Nu toate comenzile vor necesita parametri, dar atunci când o vor face, ve?i avea nevoie de ceva pentru a discerne daca jucatorul a tastat vreun parametru dupa comanda, care sunt acei parametri, câ?i sunt, etc. Aceasta este ceea ce ne va ajuta sscanf. Iata un exemplu de comanda în care jucatorul trebuie sa introduca un numar pentru a-?i seta starea de sanatate la o anumita valoare:
       
       
      Cod PHP:
      CMD: sethealth (playerid, params [])
      {
          nou Float: hp, string [128]; // declaram o variabila float care va de?ine valoarea specifica tastata de jucator împreuna cu o variabila ?ir care va fi utilizata pentru a afi?a un mesaj formatat
          if (sscanf (params, ”f”, hp)) // aici, sscanf este folosit pentru a spune scriptului valorile pe care ar trebui sa le a?tepte de la jucator. În acest caz, se verifica daca a fost tastat ceva în afara de numele comenzii sau daca valoarea furnizata va func?iona (adica daca a fost tastata o litera în locul unui numar)
          {
              returneaza SendClientMessage (playerid, -1, „Sintaxa: / sethealth [valoare]”); // aici îi spune?i jucatorului cum sa foloseasca corect comanda
          }
       
          SetPlayerHealth (playerid, hp); // presupunând ca sscanf nu a gasit nimic în neregula cu valoarea oferita de player, va stoca acea valoare în variabila noastra „hp”, gata sa fie folosita în comanda noastra aici.
          format (?ir, dimensiune (?ir), „V-a?i setat valoarea de sanatate la% f.”, hp); // formatul este utilizat aici pentru ca variabila ?ir sa stocheze un mesaj în care mesajul are nevoie de informa?ii suplimentare
       
      Autor : Uzzi25 grx



      Atenție! Acest material a fost furnizat de tesloianu.ro doar în scop informativ. Administrația nu este responsabilă pentru conținutul acestuia. Dacă dețineți drepturile de autor la acest material contactați imediat un administrator.


      Descarca CS 1.6 Original la cea mai mare viteza, safe


      0 user(s) are reading this topic

      0 members, 0 guests, 0 anonymous users

      Parteneri

      Partenerul Nostru Oficial #TOP Partenerul Nostru Partenerul Nostru Partenerul Nostru Partenerul Nostru Partenerul Nostru Partenerul Nostru Partenerul Nostru Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici!

      Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici! Locul Tau Este Aici!