Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 12/31/2020 in all areas

  1. 1 point
  2. keNN.

    Tutorial y_commands [YSI]

    Username: keNN. Creator: EraSy Tutorial/Ghid: Salutare ! Astazi, in urma unor topicuri cu probleme legate de acest include, m-am decis sa fac un tutorial pentru folosirea procesorului de comenzi y_commands. In ciuda haterilor care folosesc ZCMD, de obicei tot ce face Y_Less e bun. Incepem cu ce avem nevoie, eu voi include un 'include' in plus, tot de la YSI, pentru folosirea plusuri ce vi le voi prezenta si voua. #include < YSI\y_master > #include < YSI\y_commands > #include < YSI\y_va > Odata incluse aceste lucruri, acum puteti folosi procesorul de comenzi y_commands. Pentru cei care foloseau ZCMD sau orice alt procesor de comenzi diferit, parametrii sunt urmatorii: YCMD:test(playerid, params[], help) { return 1; } Eu unul nu folosesc parametrul 'help', dar daca voi il veti folosi, va dau urmatorul exemplu: YCMD:test(playerid, params[], help) { if(help) return SendClientMessage(playerid, -1, "Aceasta comanda este pentru un tutorial"); return 1; } Acum, multi dintre voi va foloseati de return pentru scurtatura unei comenzi, ei bine, aici este diferit. La public-ul OnGamemodeInit(), va folositi de functia 'Command_AddAltNamed' Spre exemplu, voi vreti sa creati o scurtatura comenzii '/test' public OnGamemodeInit() { Command_AddAltNamed("test", "tutorial"); return 1; } Acum, comanda /tutorial va face exact acelasi lucru cu comanda /test. Parametrii acestei functii sunt: Command_AddAltNamed("Comanda Actuala", "Scurtatura dorita"); Acum, voi poate doriti sa executati o comanda dintr-un dialog, sau din orice altceva. Eu voi crea un stock ce imi va usura munca: stock executaComanda(playerid, const comanda[], help, va_args<>) { new string[50]; va_format(string, sizeof string, comanda, va_start<3>); Command_ReProcess(playerid, string, help); return 1; } Cu ajutorul acestui Stock, nu mai aveti nevoie de format pentru folosirea parametrilor. O sa va dau un exemplu: // La OnDialogResponse: case DIALOG_TUTORIAL: { if(!response) return 1; executaComanda(playerid, "tutorial", true); } Pentru comenzile de tip accept sau orice altceva, veti folosi: executaComanda(playerid, "accept medic %d", true, playerid); Pentru evitarea formatului, acest stock este perfect. Probabil unii va mai intrebati, cum schimb textul de la comenzi nedefinite "Unknown Command". Ei bine, este diferit si de ZCMD, si de versiunile vechi de YSI. Eu va voi prezenta metoda de schimbare a textului de pe ultima versiune de YSI, 4.0: public e_COMMAND_ERRORS:OnPlayerCommandReceived(playerid, cmdtext[], e_COMMAND_ERRORS:success) { if(success == COMMAND_UNDEFINED) { SendClientMessage(playerid, -1, "Comanda nu exista"); return COMMAND_OK; } return COMMAND_OK; } e_COMMAND_ERRORS fiind 'enumul' comenzilor, pe care vi-l las si eu aici: enum e_COMMAND_ERRORS { COMMAND_ZERO_RET = 0 , // The command returned 0. COMMAND_OK = 1 , // Called corectly. COMMAND_UNDEFINED = 2 , // Command doesn't exist. COMMAND_DENIED = 3 , // Can't use the command. COMMAND_HIDDEN = 4 , // Can't use the command don't let them know it exists. COMMAND_NO_PLAYER = 6 , // Used by a player who shouldn't exist. COMMAND_DISABLED = 7 , // All commands are disabled for this player. COMMAND_BAD_PREFIX = 8 , // Used "/" instead of "#", or something similar. COMMAND_INVALID_INPUT = 10, // Didn't type "/something". }
    1 point
  3. Waller

    servicii scripting free

    Pawn Services: Salut mă numesc Mihai, am vârsta de 14 ani si lucrez in acest domeniu de aproximativ 1 an. Ofer servicii scripting free pentru a ma dezvolta cat mai mult in acest domeniu.Nu am multa experienta dar pot spune ca ma pricep cat de cat, pot face mai exact: rescriu comenzi. rezolvarea bug-urilor. si cat de cat creearea sistemelor sau implementarea lor. Metoda de contact: - Discord: Waller#1777 - Server Discord: https://discord.gg/9X9vbdrxPB Metoda de plata: -Tot este free. - Credite text: @MihaiADV
    0 points
This leaderboard is set to Bucharest/GMT+02:00
×
×
  • Create New...