wRt

Fórumozó
  • Hozzászólások

    39
  • Csatlakozott

  • Utoljára aktív

Közösségi hírnév

8 Újonc

wRt felhasználóról

  • Rang
    Újonc
  • Születésnap 1-01-01

Egyéb

  • Játékos név
    -
  • Skype
    welcomemotherfucker
  • Titulus
    Fórumozó
  1. http://wiki.sa-mp.com/wiki/GetPlayerPos http://wiki.sa-mp.com/wiki/SetPlayerCheckpoint
  2. COMMAND:respawn(playerid, params[]) { if(isnull(params)) return SendClientMessage(playerid, -1, "[Szerver] A parancs használatához: /respawn [id]"); SetVehicleToRespawn(strval(params)); return 1; }
  3. Ismét írtam.
  4. Remélem nem gond, hogy privát üzenet formájában kerestelek fel.
  5. #include <a_samp> #include <zcmd> #include <sscanf2> new bool: RADIO_WORKER[MAX_PLAYERS]; new RADIO_BROADCAST_NAME[16] = "Nincs"; COMMAND:setbroadcastname(playerid, params[]) { if(RADIO_WORKER[playerid] == true) { if(isnull(params)) return SendClientMessage(playerid, -1, "[HELP] A parancs használatához: /setbroadcastname [adásnév]"); format(RADIO_BROADCAST_NAME, sizeof(RADIO_BROADCAST_NAME), "%s", params); } else { SendClientMessage(playerid, -1, "[INFO] Nincs jogosultságod a parancs használatához!"); } return 1; } COMMAND:r(playerid, params[]) { new TEXT[128]; new NAME[24]; GetPlayerName(playerid, NAME, sizeof(NAME)); if(isnull(params)) return SendClientMessage(playerid, -1, "[HELP] A parancs használatához: /r [szöveg]"); format(TEXT, sizeof(TEXT), "[RADIO - %s] %s mondja: %s", RADIO_BROADCAST_NAME, NAME, params); for(new x = 0; x < MAX_PLAYERS; x++) { if(IsPlayerConnected(x) && RADIO_WORKER[x] == true) { SendClientMessage(x, -1, TEXT); } } return 1; } Ez csak egy példa, a feltételeket, és egyéb dolgokat írd át.
  6. lol
  7. A létrehozásakor egy változóval hozd létre, hogy később tudj rá hivatkozni. new BANK_ACTOR; COMMAND:createactor(playerid) { new Float: Pos[3]; GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); BANK_ACTOR = CreateActor(0, Pos[0], Pos[1]+2.5, Pos[2], 0); return 1; } public OnPlayerUpdate(playerid) { new TARGETTED_ACTOR_ID = GetPlayerTargetActor(playerid); if(TARGETTED_ACTOR_ID == BANK_ACTOR) { } return 1; }
  8. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 9999) { if(response) { switch(listitem) { case 0: {} case 1: {} case 2: {} } } else { } return 1; } return 0; } Egyébként - bár nem vagyok tisztában a szkripted céljával - valószínűleg a feltételeknél is van egy - két hiba, ugyanis például az egyik feltétel szerint a játékos csak akkor vásárolhat telefont, ha kevesebb mint $500-al rendelkezik.
  9. Az általad linkelt CS 1.6 plugin sem biztosít több férőhelyet az eredetinél, attól függetlenül hogy úgy látod, hogy a szerver 32 férőhelyes.
  10. A játékos csatlakozásakor kétszer vizsgálod meg ugyan ezt a dolgot, teljesen feleslegesen, ráadásul értelme sincs. if(!fexist(file)) { format(string,sizeof string, "Üdv %s \nKérjük regisztrálj \n\nAdd meg a kívánt jelszavadat!", nev); ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, "Regisztráció", string, "Regisztráció", "Kilépés"); } if(!fexist(file)) { format(string,sizeof string, "Üdv %s \nKérjük jelentkezz be! \n\nAdd meg a jelszavadat!", nev); ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Bejelentkezés", string, "Bejelentkezés", "Kilépés"); } helyett if(!fexist(file)) { format(string,sizeof string, "Üdv %s \nKérjük regisztrálj \n\nAdd meg a kívánt jelszavadat!", nev); ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, "Regisztráció", string, "Regisztráció", "Kilépés"); } else { format(string,sizeof string, "Üdv %s \nKérjük jelentkezz be! \n\nAdd meg a jelszavadat!", nev); ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Bejelentkezés", string, "Bejelentkezés", "Kilépés"); } A warningokat viszont így nem tudom mi okozza, elküldenéd, hogy melyik sorokra mutatnak?
  11. A változót az egyik enum utáni sorban hozd létre, így nem fog hibát írni.
  12. Becsléseim szerint működik, leszámítva ha valamelyik szám értéke pontosan nulla - arra viszont elég kevés esély van, hogy gyakorlatban bármelyik koordináta is pontosan nulla legyen. stock GetPositiveValue(Float:x1, Float:x2) { new Float:value = 0; if(x1 > 0 && x2 > 0) { if(x1 > x2) { value = x1-x2; } else { value = x2-x1; } } if(x1 < 0 && x2 > 0) { value = x2+(-x1); } if(x1 > 0 && x2 < 0) { value = x1+(-x2); } if(x1 < 0 && x2 < 0) { if(x1 < x2) { value = x2-(x1); } else { value = x1-(x2); } } return float:value; } Én az alábbi paranccsal teszteltem le az összes lehetőséget, és tízből tíz alkalommal megfelelő értéket adott vissza. COMMAND:getdistance(playerid, params[]) { new Float:X1, X2; if(sscanf(params, "ff", X1, X2)) return SendClientMessage(playerid, -1, "[{3884FF}INFO{FFFFFF}] Usage: /getdistance [x1] [x2]"); format(Str, sizeof(Str), "[{3884FF}INFO{FFFFFF}] The distance between the coordinates is: %f", GetPositiveValue(X1, X2)); SendClientMessage(playerid, -1, Str); return 1; }
  13. Nem biztos hogy tökéletesen megértettük egymást, de amennyiben az a célod, hogy véletlenszerűen teleportálja el a játékost valamelyik koordinátára, akkor így: #include <a_samp> public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) { if(newkeys & KEY_SECONDARY_ATTACK) { new Pos = random(4); switch(Pos) { case 0: SetPlayerPos(playerid, 0, 0, 0); case 1: SetPlayerPos(playerid, 1, 1, 1); case 2: SetPlayerPos(playerid, 2, 2, 2); case 3: SetPlayerPos(playerid, 3, 3, 3); } } return 1; }
  14. Egy isten vagy, nagyon szépen köszönöm a segítséged!