Kurama

Members
  • Content Count

    753
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Kurama

  1. Kurama

    Comanda /bonus

    Pai este simplu, si iti voi explica mai jos. COMMAND:bonus(playerid, params[]) { if(PlayerInfo[playerid][pLevel] == 1) { PlayerInfo[playerid][pLevel] = PlayerInfo[playerid][pLevel] + 2; SendClientMessage(playerid, COLOR_RED, "Ai primit 2x level up ca bonus."); SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]); PlayerInfo[playerid][pCash] = PlayerInfo[playerid][pCash] + 100000; GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]); SendClientMessage(playerid, COLOR_RED, "Ai primit 100.000$ ca bonus."); } else SendClientMessage(playerid, COLOR_RED, "Trebuie sa fii incepator pentru a primi bonusul."); return 1; } Ai primit erori din caza ca 'PlayerInfo' nu este definit. Il vei defini astfel: enum pInfo { pLevel, // level pCash // bani }; new PlayerInfo[MAX_PLAYERS][pInfo]; Cam asta a fost tot. Sper ca ti-a fost de ajutor!
  2. Doresc o/un: Avatar Imagine: Text: Kurama & EGAMING.RO Dimensiuni: 150x250 Ticket folosit (in caz ca e cazul): Ultima cerere + ultimul ticket folosit: click
  3. Multumesc Exchange, ambele variante sunt exceptionale. Am ales, se poate da TC. Merci <3
  4. Poti sa incepi sa lucrezi pe GameMode-ul lui YooBogdan. Este foarte frumos aranjat si poti invata multe de la el
  5. Tutoriale despre crearea unui gamemode nu prea gasesti, si tutoriale despre ceea ce vrei tu (pas cu pas) nu se gasesc , mai ales sa fie si explicate corect. Iti recomanda sa citesti mai intai documentatia pe wikisamp apoi sa te apuci sa lucrezi. Daca ar fi sa iti explic pas cu pas, ar dura extrem de mult si ca sa fiu sincer nici eu nu cunosc tot limbajul pawn. Invata baza si apoi vei intavata ce si cum. Descarca un gamemode de pe eGaming - resurse si invata acolo ce si cum, asta dupa ce inveti putin basic. Altfel nu vei intelege nimic din tutoriale. Si pentru ca esti la inceput iti recomanda sa lucrezi cu ini/dini deoarece mysql e greu pentru incepatori. Mult succes!
  6. Uite aici tati, sistem de inregistrare cu tutorial si chestii esentiale ce-ti folosesc. Crearea factiunilor este legata de pMember/pLeader in gamemode-ul asta. E usor sa-ti dai seama la ceea ce folosesc anumite chestii. Cand ai nelamuriri sau probleme postezi aici si noi te ajutam. Surse principale: 1) GameMode luat de la 0 cu sistem de inregistrare + tutorial; 2) Si ajutor la nelamuriri aici.
  7. Nu oferim support pentru caracteristici eGaming.
  8. Kurama

    Bug ESC

    Daca tot sunt textdraw-uri selectable, fa-ti unul si pentru iesire, apasand click pe el sa dispara acele TD-uri. Apasand ESC vei ramane ca "spectator" cu acele TD-uri active!
  9. Integreaza FS-ul in gamemode.
  10. 1) Nu ai definit pCarLic; ** Pui aceasta variabiala la enum pInfo sau enum pData cum ai tu in gamemode. 2) Nu ai declarat functia DriverLicenseTime ca forward apoi public. ** forward DriverLicenseTime(playerid); public DriverLicenseTime(playerid) { return 1; }
  11. Da, dar pierzi si cash pe tema asta si unii poate nu au bani incat sa-i risipeasca pe comanda /spawnchange .... E doar o parere
  12. Nici nu puteam spune mai bine, felicitari!
  13. Nu spun ca sunt contra sugestiei tale, dar te-ai gandit si la abuzurile pentru aceasta cauza? Vor fi zeci de conturi clona din aceasta cauza si iar vor fi miliarde/player.
  14. Kurama

    [GIFT] - Kurama

    Multumesc, e super!
  15. Salut eGamers, Din plictiseala m-am gandit sa fac acest filterscript, avand ca si continut job-ul Pizza Boy. Momentan nu l-am facut cu skill, deoarece poate fi usor modificat de catre voi (asta, daca doriti). Ma jos va voi explica pas cu pas cum il vom crea. Vom crea o enumerare, o variabila care vom verifica daca jucatorul livreaza pizza in acel moment si un checkpoint folosit pentru acest job. In emumerare vom stoca doua lucruri si anume, job-ul si banii; enum pInfo { pMoney, pJob }; new PlayerInfo[MAX_PLAYERS][pInfo]; new CPizza[MAX_PLAYERS]; new livrare[MAX_PLAYERS]; Vom adauga cele doua enumerari in callback-ul OnPlayerConnect; PlayerInfo[playerid][pMoney] = 0; PlayerInfo[playerid][pJob] = 0; CPizza[playerid] = 0; livrare[playerid] = 0; Dupa ce am facut cei doi pasi, vom crea un pickup, de unde putem lua job-ul Pizza Boy. Adaugam in callback-ul OnGameModeInit functia CreatePickup; CreatePickup(1239, 2, 2105.1707, -1806.5607, 13.5547, 0); /* 1239 - ID-ul pickup-ului; 2 - este tipul pickup-ului, adica atunci cand intri in el dispare si reapare daca jucatorul este la o distanta mai mare de 15 metri; 2105.1707, -1806.5607, 13.5547 - coordonatele pick-ului 0 - este virtual world. */ Dupa ce am creat pickup-ul vom crea locatiile unde vom merge cu un vehicul pentru a livra pizza. Deoarece nu am vrut ca sa fie mereu aceeasi locatie, am ales sa le fac random. new Float:RandomPizza[4][3] = { {2241.8647, -1882.2562, 14.2344}, {2296.5591, -1882.4100, 14.2344}, {2067.3420, -1731.7321, 13.8762}, {2066.3320, -1717.3853, 14.1363} }; Acum vom crea comanda care vom lua job-ul; CMD:takejob(playerid, params[]) { if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Nu esti conectat."); if(!IsPlayerInRangeOfPoint(playerid, 1.0, 2066.3320, -1717.3853, 14.1363)) return SendClientMessage(playerid, -1, "Trebuie sa fii in fata magazinului de pizza pentru a te angaja la acest job."); if(PlayerInfo[playerid][pJob] != 0) return SendClientMessage(playerid, -1, "Deja detii un job."); PlayerInfo[playerid][pJob] = 1; SendClientMessage(playerid, -1, "Felicitari! Acum detii job-ul Pizza Boy."); return 1; } Acum vom crea comanda cu care vom incepe livrarile; CMD:startdelivery(playerid, params[]) { new rand; if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Nu esti conectat."); if(PlayerInfo[playerid][pJob] != 1) return SendClientMessage(playerid, -1, "Nu detii job-ul Pizza Boy."); if(livrare[playerid] != 0) return SendClientMessage(playerid, -1, "Deja livrezi pizza."); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Trebuie sa fii intr-un vehicul pentru a incepe livrarile."); if(!IsPlayerInRangeOfPoint(playerid, 4.0, 2066.3320, -1717.3853, 14.1363)) return SendClientMessage(playerid, -1, "Trebuie sa fii in fata magazinui de pizza pentru a incepe livrarile."); rand = random(sizeof(RandomPizza)); CPizza[playerid] = 1; livrare[playerid] = 1; SetPlayerCheckpoint(playerid, RandomPizza[rand][0], RandomPizza[rand][1], RandomPizza[rand][2], 2.0); SendClientMessage(playerid, -1, "Mergi la punctul marcat pe harta pentru a livra pizza."); SendClientMessage(playerid, -1, "Daca doresti sa anulezi livrarea foloseste comanda /stopdelivery."); return 1; } Acum vom crea comanda /stopdelivery; CMD:stopdelivery(playerid, params[]) { if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Nu esti conectat."); if(PlayerInfo[playerid][pJob] != 1) return SendClientMessage(playerid, -1, "Nu detii job-ul Pizza Boy."); if(livrare[playerid] == 0) return SendClientMessage(playerid, -1, "Nu livrezi pizza pentru a opri livrarile."); DisablePlayerCheckpoint(playerid); livrare[playerid] = 0; CPizza[playerid] = 0; return 1; } Acum vom verifica daca jucatorul este in checkpoint-ul setat pentru livrare. Merge la callback-ul OnPlayerEnterCheckpoint si adaugam CP-ul 1; if(CPizza[playerid] == 1) { PlayerInfo[playerid][pCash] = PlayerInfo[playerid][pCash] + 3000; SendClientMessage(playerid, -1, "Ai primit 3000$ pentru aceasta livrare."); SendClientMessage(playerid, -1, "Daca doresti sa mai livrezi pizza, mergi inapoi la magazin si foloseste comanda /startdelivery."); CPizza[playerid] = 0; livrare[playerid] = 0; DisablePlayerCheckpoint(playerid); } Cam asta a fost tot. Sper ca v-a fost de folos acest filterscript. * Credits: Zeex - pentru zcmd; Kurama - pentru crearea acestui filterscript.
  16. Salutare eGamers, M-am gandit sa va prezint un sistem de radio pentru SA:MP. Este un sistem simplu si nimic complicat la el. Vom incepe sa-l cream astfel: introducem #include <zcmd> si #include <foreach> la inceputul GameMode-ului; (Daca le aveti deja puse, nu mai este nevoie sa le puneti. In caz ca nu le aveti deloc le descarcati de pe net.) #include <zcmd> #include <foreach> vom adauga doua functii stock pentru acest sistem si anume: stock PlayAudioStreamForPlayersInCar(vehicleid,url[]) { foreach(Player,i) { if(IsPlayerInAnyVehicle(i)) { if(GetPlayerVehicleID(i) == vehicleid) { PlayAudioStreamForPlayer(i,url); } } } return 1; } stock StopAudioStreamForPlayersInCar(vehicleid) { foreach(Player,i) { if(IsPlayerInAnyVehicle(i)) { if(GetPlayerVehicleID(i) == vehicleid) { StopAudioStreamForPlayer(i); } } } return 1; } merge la callback-ul OnPlayerExitVehicle(playerid, vehicleid) si adaugam: StopAudioStreamForPlayer(playerid); acum vom crea dialog-ul cu posturile de radio. Mergem la OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) si vom crea urmatorul dialog. if(dialogid == 1) { if(!response) { return 1; } switch(listitem) { case 0: { PlayAudioStreamForPlayer(playerid, "link-ul de la postul de radio"); } case 1: { PlayAudioStreamForPlayer(playerid, "link-ul numarul 2 de la alt post de radio"); } case 3: { StopAudioStreamForPlayer(playerid); } } } return 1; acum vom crea comanda cu care vom porni un post de radio. CMD:radio(playerid, params[]) { if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Trebuie sa fii conectat pentru a folosi aceasta comanda."); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Trebuie sa fii intr-un vehicul pentru a folosi aceasta comanda."); if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Lista posturilor de radio", "Postul 1\nPostul 2\nInchide radio", "Selecteaza", "Inchide"); } return 1; } Cam asta a fost tot. Sper ca v-a fost de ajutor acest tutorial. Pe data viitoare!
  17. Ia incearca asa: COMMAND:engine(playerid, params[]) { new engine, lights, alarm, doors, bonnet, boot, objective, cvehicleid = GetPlayerVehicleID(playerid);; GetVehicleParamsEx(cvehicleid, engine, lights, alarm, doors, bonnet, boot, objective); if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Nu esti conectat"); if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Nu te afli intr-un vehicul."); if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)) { if(engine == 0) { SetVehicleParamsEx(cvehicleid, true, lights, alarm, doors, bonnet, boot, objective); SendClientMessage(playerid, -1, "Ai pornit motorul acestui vehicul"); } if(engine == 1) { SetVehicleParamsEx(cvehicleid, false, lights, alarm, doors, bonnet, boot, objective); SendClientMessage(playerid, -1, "Ai oprit motorul acestui vehicul."); } } return 1; }
  18. Inlocuieste aceste linii: 39 if(!IsPlayerConnected(playerid, -1, "Nu esti conectat.")) 59 if(!IsPlayerConnected(playerid, -1, "Nu esti conectat.")) Cu acestea: 39 if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Nu esti conectat."); 59 if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "Nu esti conectat."); Sper ca ai inteles cum si ce sa inlocuiesti.
  19. Vad ca ai folosit comenzile ce le-am creat eu intr-un topic anterior. Posteaza cele doua linii 39 respectiv 59. * Sugestie: Foloseste butonul <> (Code) din meniu cand mai postezi linii din script.
  20. Nume: Kurama Poza: Text: Kurama + tag-ul EGAMING.RO Alte preferinte: Nu am.
  21. Kurama

    Ajutor Pawno

    Faci iesirea astfel: else if(PlayerToPoint(3, playerid, 288.745971, 169.350997, 1007.171875)) { SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0); SetPlayerPos(playerid, 328.7699,-1512.9689,36.0391); GameTextForPlayer(playerid, "~w~Ai iesit din HQ FBI", 5000, 1); //InHQ resetezi variabila ca nu stiu cum e in GM-ul tau; }