Jump to content

khain.dev

Membru
  • Posts

    658
  • Joined

  • Last visited

  • Days Won

    52

Everything posted by khain.dev

  1. Buna,astazi vreau sa va prezint un sistem care prevede organizarea unor concursuri de catre admistratori, vorbind de cod,este foarte optimizat si ca sa va fie mai convinabil,pentru cei ce doresc ca filterscript,va las mai jos fisierul. // scurtari #define SPD ShowPlayerDialog #define SCM SendClientMessage #define SCMTA SendClientMessageToAll //culori #define COLOR_RED (0xFF6347AA) #define COLOR_YELLOW (0xFFFF00FF) //variabile new mp_status, // statusul daca concursul este deschis/inchis Float:mp_x, // coordonate unde se petrece concursul Float:mp_y, // coordonate unde se petrece concursul Float:mp_z, // coordonate unde se petrece concursul mp_virt, // lumea virtuala mp_int; // interior ////////////////////////////////// public OnPlayerConnect(playerid) { pInfo[playerid][pMP] = 0; // verificam daca jucatorul este la concurs return 1; } public OnPlayerDisconnect(playerid, reason) { pInfo[playerid][pMP] = 0; // verificam daca jucatorul este la concurs return 1; } public OnPlayerSpawn(playerid) { pInfo[playerid][pMP] = 0; // verificam daca jucatorul este la concurs return 1; } public OnPlayerDeath(playerid, killerid, reason) { pInfo[playerid][pMP] = 0; // verificam daca jucatorul este la concurs return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { switch(dialogid) { case 10000: { if(!response) return 1; else if((1 <= listitem <= 6) && !mp_status) return SCM(playerid, COLOR_RED, !"Concursul nu a fost creat!"); switch(listitem) { case 0: { if(mp_status) SCMTA(COLOR_RED, !"Teleportul la concurs este inchis!"); else { SCMTA(COLOR_YELLOW, !"Este deschit teleportul la concurs!"); SCMTA(COLOR_YELLOW, !"Scrie /concurs pentru a participa la concurs!"); new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); mp_x = X; mp_y = Y; mp_z = Z; mp_virt = GetPlayerVirtualWorld(playerid); mp_int = GetPlayerInterior(playerid); } mp_status = !mp_status; } case 1: SPD(playerid, 10001, DIALOG_STYLE_INPUT, !"{696969}-{FFFAFA} Sanatate", !"Alege distanta, pentru a da viata jucatorilor.\n\nExemplu: \"10,100\"", !"DA", !"NU"); case 2: SPD(playerid, 10002, DIALOG_STYLE_INPUT, !"{696969}-{FFFAFA} Arma", !"Alege distanta, pentru a da arma jucatorilor\n{696969}-{FFFAFA} Distanta (metri)\n{696969}-{FFFAFA} ID arma\n{696969}-{FFFAFA} Patroane\n.\n\nExemplu: \"10,24,500\"", !"DA", !"NU"); case 3: SPD(playerid, 10003, DIALOG_STYLE_INPUT, !"{696969}-{FFFAFA} Armour", !"Alege distanta, pentru a da armour jucatorilor:", !"DA", !"NU"); case 4: SPD(playerid, 10004, DIALOG_STYLE_INPUT, !"{696969}-{FFFAFA} Elimina armour", !"Alege distanta, pentru a lua armourul jucatorilor:", !"DA", !"NU"); case 5: SPD(playerid, 10005, DIALOG_STYLE_INPUT, !"{696969}-{FFFAFA} Elimina arma", !"Alege distanta, pentru a lua arma jucatorilor:", !"DA", !"NU"); case 6: SPD(playerid, 10006, DIALOG_STYLE_INPUT, !"{696969}-{FFFAFA} Spawnare", !"Alege distanta, pentru a spawna jucatorii:", !"DA", !"NU"); } } case 10001: { if(!response) return cmd_cpanel(playerid); new radius, hp; if(sscanf(inputtext, !"p<,>ii", radius, hp)) return SPD(playerid, 10001, DIALOG_STYLE_INPUT, !"{696969}Viata", !"Alege distanta, pentru a da viata jucatorilor\n\nExemplu: \"10,100\"", !"Далее", !"Отмена"); else if(!(0 <= hp <= 100)) return SPD(playerid, 10001, DIALOG_STYLE_INPUT, !"{696969}Viata", !"Alege distanta, pentru a da viata jucatorilor\n\nExemplu: \"10,100\"", !"DA", !"NU"); new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); foreach(new i: Player) { if(i != playerid && pInfo[i][pMP] && IsPlayerInRangeOfPoint(i, radius, X, Y, Z)) { SCM(i, COLOR_YELLOW, !"{696969}-{FFFAFA} Organizatorul concursului a dat viata jucatorilor de la concurs"); SetPlayerHealth(i, hp); } } SCM(playerid, COLOR_YELLOW, !"{696969}-{FFFAFA} Ai dat viata jucatorilor de la concurs"); } case 10002: { if(!response) return cmd_cpanel(playerid); new radius, id, ammo; if(sscanf(inputtext, !"p<,>iii", radius, id, ammo)) return SPD(playerid, 10002, DIALOG_STYLE_INPUT, !"{696969}Arma", !"Alege distanta, pentru a da arma jucatorilor\n{696969}-{FFFAFA} Distanta (metri)\n{696969}-{FFFAFA} ID arma\n{696969}-{FFFAFA} Patroane\n.\n\nExemplu: \"10,24,500\"", !"DA", !"NU"); else if(!(1 <= id <= 47)) return SPD(playerid, 10002, DIALOG_STYLE_INPUT, !"{696969}Arma", !"Alege distanta, pentru a da arma jucatorilor\n{696969}-{FFFAFA} Distanta (metri)\n{696969}-{FFFAFA} ID arma\n{696969}-{FFFAFA} Patroane\n.\n\nExemplu: \"10,24,500\"", !"DA", !"NU"); new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); foreach(new i: Player) { if(i != playerid && pInfo[i][pMP] && IsPlayerInRangeOfPoint(i, radius, X, Y, Z)) { SCM(i, COLOR_YELLOW, !"{696969}-{FFFAFA} Organizatorul a dat arma jucatorilor de la concurs"); GivePlayerWeapon(i, id, ammo); } } SCM(playerid, COLOR_YELLOW, !"{696969}-{FFFAFA} Ai dat arma jucatorilor de la concurs"); } case 10003: { if(!response) return cmd_cpanel(playerid); new radius; if(sscanf(inputtext, !"i", radius)) return SPD(playerid, 10003, DIALOG_STYLE_INPUT, !"{696969}Armour", !"Alege distanta, pentru a da jucatorilor armour:", !"DA", !"NU"); new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); foreach(new i: Player) { if(i != playerid && pInfo[i][pMP] && IsPlayerInRangeOfPoint(i, radius, X, Y, Z)) { SCM(i, COLOR_YELLOW, !"{696969}-{FFFAFA} Organizatorul concursului a dat armour jucatorilor la concurs"); SetPlayerArmour(i, 100); } } SCM(playerid, COLOR_YELLOW, !"{696969}-{FFFAFA} Ai dat armour jucatorilor la concurs"); } case 10004: { if(!response) return cmd_cpanel(playerid); new radius; if(sscanf(inputtext, !"i", radius)) return SPD(playerid, 10004, DIALOG_STYLE_INPUT, !"{696969}Armour", !"Alege distanta, pentru a confisca armourul:", !"DA", !"NU"); new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); foreach(new i: Player) { if(i != playerid && pInfo[i][pMP] && IsPlayerInRangeOfPoint(i, radius, X, Y, Z)) { SCM(i, COLOR_YELLOW, !"{696969}-{FFFAFA} Organizatorul concursului a confiscat armourul tau"); SetPlayerArmour(i, 0); } } SCM(playerid, COLOR_YELLOW, !"{696969}-{FFFAFA} Ai confiscat armourul la toti jucatorii"); } case 10005: { if(!response) return cmd_cpanel(playerid); new radius; if(sscanf(inputtext, !"i", radius)) return SPD(playerid, 10005, DIALOG_STYLE_INPUT, !"{696969}Arma", !"Alege distanta, pentru a confisca arma:", !"DA", !"NU"); new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); foreach(new i: Player) { if(i != playerid && pInfo[i][pMP] && IsPlayerInRangeOfPoint(i, radius, X, Y, Z)) { SCM(i, COLOR_YELLOW, !"{696969}-{FFFAFA} Organizatorul concursului a confiscat arma jucatorilor"); ResetPlayerWeapons(i); } } SCM(playerid, COLOR_YELLOW, !"{696969}-{FFFAFA} Ai confiscat arma jucatorilor"); } case 10006: { if(!response) return cmd_cpanel(playerid); new radius; if(sscanf(inputtext, !"i", radius)) return SPD(playerid, 10006, DIALOG_STYLE_INPUT, !"{696969}Spawnare", !"Alege distanta, unde jucatorii vor fi spawnnati:", !"DA", !"NU"); new Float:X, Float:Y, Float:Z; GetPlayerPos(playerid, X, Y, Z); foreach(new i: Player) { if(i != playerid && pInfo[i][pMP] && IsPlayerInRangeOfPoint(i, radius, X, Y, Z)) { SCM(i, COLOR_YELLOW, !"{696969}[-]{FFFAFA} Organizatorul concursului a spawnat toti jucatorii"); SpawnPlayer(i); } } SCM(playerid, COLOR_YELLOW, !"{696969}[-]{FFFAFA} Ai spawnat jucatorii la aceasta distanta"); } } return 1; } public OnPlayerCommandReceived(playerid, cmdtext[]) { CMD:cpanel(playerid) { if(mp_status) SPD(playerid, 10000, DIALOG_STYLE_LIST, !"{696969}Concurs Panel", !"{696969}-{FFFAFA} Anuleaza concursul\n{696969}-{FFFAFA} Sanatate la distanta\n{696969}-{FFFAFA} Arma la distanta\n{696969}-{FFFAFA} Armour la distanta\n{696969}-{FFFAFA} Confiscare arma\n{696969}-{FFFAFA} Confiscare armour\n{696969}-{FFFAFA} Spawnare jucatori", !"DA", !"NU"); else SPD(playerid, 10000, DIALOG_STYLE_LIST, !"Concurs Panel", !"{696969}-{FFFAFA} Deschide concursul\n{696969}-{FFFAFA} Sanatate la distanta\n{696969}-{FFFAFA} Arma la distanta\n{696969}-{FFFAFA} Armour la distanta\n{696969}-{FFFAFA} Confiscare arma\n{696969}-{FFFAFA} Confiscare armour\n{696969}-{FFFAFA} Spawnare jucatori", !"DA", !"NU"); return 1; } CMD:concurs(playerid) { if(!mp_status) return SCM(playerid, COLOR_RED, !"Concursul nu a fost creat!"); else if(pInfo[playerid][pMP]) return SCM(playerid, COLOR_RED, !"Tu deja participi la concurs!"); SetPlayerPos(playerid, mp_x, mp_y, mp_z); SetPlayerVirtualWorld(playerid, mp_virt); SetPlayerInterior(playerid, mp_int); pInfo[playerid][pMP] = 1; SCM(playerid, COLOR_YELLOW, !"Tu ai fost teleportat la concurs!"); return 1; } return 1; } system.amx
  2. Set level pentru admin sau pentru jucator?
  3. Buna! Probabil ca fiecare a intilnit problema cu salvarea coordonatelor a camerei,pai uite ca datorita acestei comenzi,usor si repede salvati coordonatele. - Cum lucreaza comanda? - Usor, intri pe server,te apropii in locul unde doresti ca exemplu sa apara jucatorul pentru a alege skinul,scrii comanda /scamera si coordonatele se salveaza in scriptfiles. CMD:scamera(playerid, params[]) { static const fmt_str0[] = "SetPlayerCameraPos(playerid, %f, %f, %f);\n", fmt_str1[] = "SetPlayerCameraLookAt(playerid, %f, %f, %f);\n"; const fmt_size0 = sizeof(fmt_str0) + (-2 + 11) * 3, fmt_size1 = sizeof(fmt_str1) + (-2 + 11) * 3; #if fmt_size0 > fmt_size1 #define final_size fmt_size0 #else #define final_size fmt_size1 #endif new str[final_size], File: cam_file = fopen("coordonate.ini", io_append), Float: cam_pos_axis_x, Float: cam_pos_axis_y, Float: cam_pos_axis_z, Float: cam_pos_vec_axis_x, Float: cam_pos_vec_axis_y, Float: cam_pos_vec_axis_z; #undef final_size GetPlayerCameraPos(playerid, cam_pos_axis_x, cam_pos_axis_y, cam_pos_axis_z); GetPlayerCameraFrontVector(playerid, cam_pos_vec_axis_x, cam_pos_vec_axis_y, cam_pos_vec_axis_z); format(str, sizeof(str), fmt_str0, cam_pos_axis_x, cam_pos_axis_y, cam_pos_axis_z); fwrite(cam_file, str); format(str, sizeof(str), fmt_str1, cam_pos_axis_x + 5.0 * cam_pos_vec_axis_x, cam_pos_axis_y + 5.0 * cam_pos_vec_axis_y, cam_pos_axis_z + 5.0 * cam_pos_vec_axis_z); fwrite(cam_file, str); return fclose(cam_file); } Va multumesc,si sper ca va fi de folos!?
  4. Buna tuturor, caut un partener pentru a deschide un server deathmatch/gangwar, din partea mea un GM de calitate + mapping, din partea dvs. hosting si promovare,cine e cointeresat rog sa lase un comentariu mai jos,va multumesc!?
  5. Deci te duci in publicul OnPlayerKeyStateChange si acolo o sa gasesti tot ce iti trebuie tie.
  6. Nimic unic,sisteme simple,nu e nimic ce poate atrage interes
  7. javascript tot se foloseste?
  8. Sper ca va fi de folos
  9. Ba super programisti! Baiatul spune de un server FiveM,va aduc la cunostinta ca acolo se foloseste javascript nu pawn
  10. Salutare tuturor,astazi vreau sa va las niste Textdrawuri pe care nu le folosesc,daca doriti adaug si functional la el pentru cei ce nu stiu... TD_logo.pwn TD_satelit.pwn TD_selectmenu.pwn
  11. 1 - problema cu comenzile poate fi de la public OnPlayerCommandText(playerid, cmdtext[]) , trimite o imagine cu acest public 2 - bonus cu bani si scor , asta deja este creata special Vorbind de pluginuri,ele nu au nici o atributie aici
  12. Probabil ca ai un timp anumit la care trebuie sa te inregistrezi,daca nu e asta totusi fa un video si atunci va fi mai clar in ce consta problema
  13. Atunci nu am intrebari
  14. khain.dev

    Pawn.CMD

    Daca ai DC_CMD - ZCMD poti liber sa treci la Pawn.CMD
  15. khain.dev

    Pawn.CMD

    Ai reprezentat acest procesor de comenzi bine dar nu sunt toate functiile,uite mai sunt native PC_Init(bool:is_gamemode); native PC_RegAlias(const cmd[], const alias[], ...); native PC_SetFlags(const cmd[], flags); native PC_GetFlags(const cmd[], &flags); native PC_EmulateCommand(playerid, const cmdtext[]); native PC_RenameCommand(const name[], const newname[]); native PC_DeleteCommand(const name[]); Mai este si callbacks forward OnPlayerCommandReceived(playerid, cmd[], params[], flags); forward OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags);
  16. CMD:time(playerid, params[]) { new string[128]; if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, 0xFFFFFFFF, "Scrie /time - numar"); if(params[0] < 0 || params[0] > 23) return SendClientMessage(playerid, 0xFFFFFFFF, "De la 0 pina la 23"); SetWorldTime(params[0]); format(string, sizeof(string), "Ai instalat timpul (%d:00)", params[0]); SendClientMessage(playerid, 0xFFFFFFFF,, string); return true; } Uite un exemplu
  17. totodata el mai foloseste si "noi" ce inseamna ca face parte din toata chestia asta
  18. nu ai nevoie de pluginuri
  19. Care e chestia sa te dai drept developer acestui open.mp,autorul acestui MP este Y_less,grupa oficiala acestui MP este aici Click ( nu e reclama )
  20. Se mai punea si ceva imagini cu lucrarile tale
  21. De optimizatie ai auzit?
  22. Variabila tmpobjid deja o ai creata,incearca sa schimbi gen new apartament;
  23. Merge,nu e cine stie ce unical dar pentru staruinta meriti aplaudat?
×
×
  • 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.