-
Număr conținut
87 -
Înregistrat
-
Ultima Vizită
-
Days Won
9
Orice postat de ASGOOD
-
Multa lume ma intreaba: " - Care este difenta dintre 'SetTimer' si 'SetTimerEx' ? " Raspuns: Pai, variabila SetTimer porneste un timer global(pentru toti playeri online), iar SetTimerEx porneste un countdown pentru un singur player, exemplu: forward mesajrandom(); public OnGameModeInit() { print("Pornind timerul..."); SetTimer("mesajrandom", 10000, false); // Set a timer of 10000 miliseconds (10 seconds) } public mesajrandom() { print("Au trecut 10 secunde."); } forward mesajrandom(); public OnGameModeInit() { print("Pornind timerul..."); SetTimerEx("mesajrandom", 10000, false, "i", playerid); // Set a timer of 10000 miliseconds (10 seconds) } public mesajrandom() { print("Au trecut 10 secunde."); }
-
Sa zicem ca va faceti un server si voi creeati o comanda d e tipul asta: CMD:comanda(playerid) { if(Variabila[playerid] == 0) if(!IsACop(playerid)) if(Variabila2[playerid] != 1) { new string[128]; format(string, sizeof(string), "%s a cerut sa faca un (ceva), tasteaza [/comanda2] pentru a accepta cererea lui.",GetName(playerid)); SendAdminMessage(COLOR_YELLOW,string,1); SendClientMessage(playerid, COLOR_GRAD2, "Ai facut o cerere de (ceva), asteapta sa fie acceptata de un admin."); Variabila3[playerid] = 1; } return 1; } Compilati, nici o eroare. Tastati comanda in joc si va da "SERVER:Unkown Command.", dar comanda se executa, ce faceti? Ei bine nimic mai simplu, faceti asta: CMD:comanda(playerid) { if(Variabila[playerid] == 0) if(!IsACop(playerid)) if(Variabila2[playerid] != 1) { new string[128]; format(string, sizeof(string), "%s a cerut sa faca un (ceva), tasteaza [/comanda2] pentru a accepta cererea lui.",GetName(playerid)); SendAdminMessage(COLOR_YELLOW,string,1); SendClientMessage(playerid, COLOR_GRAD2, "Ai facut o cerere de (ceva), asteapta sa fie acceptata de un admin."); Variabila3[playerid] = 1; return 1; } return 0; } Dupa cum observati am pus in loc de asta: } return 1; } asta: return 1; } return 0; } Si gata, problema e rezolvata.
-
Mergem sub define-uri si asezam urmatoarele lucruri: // Muncitor in Cariera new IsWorkingCariera[MAX_PLAYERS];//Verifica daca lucreaza(new-ul) new MasinaCariera[MAX_PLAYERS];//MAsina job-ului // Muncitor in Cariera new Float:gRandomCariera[5][3] = {//Checkpointuri random {644.2669,858.9907,-42.6130}, {600.2870,864.6613,-42.9609}, {605.8127,932.8721,-40.6499}, {545.1246,907.7997,-42.8779}, {538.1450,843.6761,-41.9927} }; Apoi la onplayerkeystatechange: if(newstate == PLAYER_STATE_ONFOOT)//Verifica daca este pe jos { if(IsWorkingCariera[playerid] >= 1)// Verifica daca lucreaza { DisablePlayerCheckpoint(playerid);// II scoate cp DestroyVehicle(MasinaCariera[playerid]);//Ii distruge masina IsWorkingCariera[playerid] = 0;//Ii seteaza variabila lucreaza la 0 SendClientMessage(playerid, -1, "Misiune esuata, ai parasit vehiculul.");//Ii trimite mesajul respectiv } } Apoi la onplayerdisconnect: if(IsWorkingCariera[playerid] >= 1)// Verifica daca lucreaza { DisablePlayerCheckpoint(playerid);//ii scoate cp DestroyVehicle(MasinaCariera[playerid]);//ii distruge masina1 IsWorkingCariera[playerid] = 0;//ii seteaza variabila lucreaza la 0 SendClientMessage(playerid, -1, "Misiune esuata, ai parasit vehiculul.");// ii trimite mesaju; } Apoi merge la on playerenterracecheckpoint: if(IsWorkingCariera[playerid] == 1)// nu stau sa eplic tot, doar variabilele ne-mai folosite { DisablePlayerCheckpoint(playerid); IsWorkingCariera[playerid] = 2; new carieararandc;// o noua variabila locala carieararandc = random(sizeof(gRandomCariera));// alege random o coordonata SetPlayerCheckpoint(playerid,gRandomCariera[carieararandc][0],gRandomCariera[carieararandc][1],gRandomCariera[carieararandc][2],4.0);//seteaza checkpoint-ul } else if(IsWorkingCariera[playerid] == 2) { DisablePlayerCheckpoint(playerid); IsWorkingCariera[playerid] = 3; SetPlayerCheckpoint(playerid,833.0749,903.3457,13.3516,4.0); } else if(IsWorkingCariera[playerid] == 3) { new levelcariera = PlayerInfo[playerid][pCarieraSkill],randcariera,string[128]; if(levelcariera >= 0 && levelcariera <= 29) // skill 1 { randcariera = 100 + random(100); } else if(levelcariera == 30) { SendClientMessage(playerid,-1,"Felicitari noul tau skill la jobul camionagiu este acum 2. Vei castiga mai multi bani."); randcariera = 200 + random(100); } else if(levelcariera >= 31 && levelcariera <= 59) // skill 2 { randcariera = 200 + random(100); } else if(levelcariera == 60) { SendClientMessage(playerid,-1,"Felicitari noul tau skill la jobul camionagiu este acum 3. Vei castiga mai multi bani."); randcariera = 300 + random(100); } else if(levelcariera >= 61 && levelcariera <= 89) // skill 3 { randcariera = 300 + random(100); } else if(levelcariera == 90) { SendClientMessage(playerid,-1,"Felicitari noul tau skill la jobul camionagiu este acum 4. Vei castiga mai multi bani."); randcariera = 400 + random(100); } else if(levelcariera >= 91 && levelcariera <= 119) // skill 4 { randcariera = 400 + random(100); } else if(levelcariera == 120) { SendClientMessage(playerid,-1,"Felicitari noul tau skill la jobul camionagiu este acum 5. Vei castiga mai multi bani."); randcariera = 500 + random(100); } else if(levelcariera >= 121) // skill 5 { randcariera = 500 + random(100); } DisablePlayerCheckpoint(playerid); IsWorkingCariera[playerid] = 1; SetPlayerCheckpoint(playerid,833.0749,903.3457,13.3516,4.0); GivePlayerMoney(playerid,randcariera); // GivePlayerCash daca aveti sistem anti money hack format(string, sizeof(string), "Castig de baza $%s",randcariera); SendClientMessage(playerid, -1, string); PlayerInfo[playerid][pCarieraSkill] += 1;//ii da un skill in plus // Apoi trebuie sa salvati pCarieraSkill si Bani primiti. } Apoi la onPlayercommandtext: if (strcmp("/work", cmdtext, true, 10) == 0) //CMD:work(playerid, params[]) daca aveti zcmd si sscanf { if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Coboara jos din vehicul pentru a incepe munca.");// verifica daca este intr-un vehicul // restrictie if(PlayerInfo[playerid][pJob] == 0) return SCM(playerid, -1, "Eroare: Aceasta comanda nu este disponibila pentru locul tau de munca."); if(IsPlayerInRangeOfPoint(playerid,7.0, 885.7714,862.5109,13.3516))//Verifica daca este in jurul coordonatelor {//MasinaCariera[playerid] = CreateVehicle(id_masina,x,y,z,culoare1,culoare2,viata_masinii); if(IsWorkingCariera[playerid] == 0) { new levelcariera = PlayerInfo[playerid][pCarieraSkill]; if(levelcariera >= 0 && levelcariera <= 30) // skill 1 { MasinaCariera[playerid] = CreateVehicle(486,885.7714,862.5109,13.3516,288.3629,1,1,100); } else if(levelcariera >= 31 && levelcariera <= 60) // skill 2 { MasinaCariera[playerid] = CreateVehicle(486,885.7714,862.5109,13.3516,288.3629,1,1,100); } else if(levelcariera >= 61 && levelcariera <= 90) // skill 3 { MasinaCariera[playerid] = CreateVehicle(524,885.7714,862.5109,13.3516,288.3629,1,1,100); } else if(levelcariera >= 91 && levelcariera <= 120) // skill 4 { MasinaCariera[playerid] = CreateVehicle(524,885.7714,862.5109,13.3516,288.3629,1,1,100); } else if(levelcariera >= 121 && levelcariera <= 150) // skill 5 { MasinaCariera[playerid] = CreateVehicle(406,885.7714,862.5109,13.3516,288.3629,1,1,100); } SetPlayerCheckpoint(playerid,833.0749,903.3457,13.3516,4.0); PutPlayerInVehicle(playerid,MasinaCariera[playerid],0);// il pune in vehicul IsWorkingCariera[playerid] = 1;// II seteaza variabila la 1 } } else { SendClientMessage(playerid, -1, "Eroare: Nu esti la locul de unde se incep misiunile. Urmeaza punctul rosu de pe harta."); SetPlayerCheckpoint(playerid, 885.7714,862.5109,13.3516, 4.0); return 1; } return 1; }
-
Avem aici Job-ul de miner facut de mine de la 0, nu am poze / video ca mi-e sila sa fac, daca ma intelegeti. Pastebin: https://pastebin.com/akLiMBWc
-
Daca nu le aveti incluse includeti astea: #include <a_objects> #include <streamer> #include <sscanf2> #include <zcmd> Apoi definim parametri de lucru: forward EsteMasinaJOB(carid); forward timpjob(playerid); new objjob[MAX_PLAYERS]; new timecut[MAX_PLAYERS]; new skinjob[MAX_PLAYERS]; new masina[MAX_PLAYERS]; new PasJob[MAX_PLAYERS]; new masina1, masina2, masina3, masina4, masina5; Mergem la ONGameModeInit si creem niste lucruri: CreateObject(3276, -117.14592, -1199.96472, 2.72656, 3.14159, 0.00000, 1.90836); CreateObject(3276, -106.42129, -1217.62317, 2.72660, 357.00000, 0.00000, -8.00000); CreateObject(3276, -99.50285, -1198.14978, 2.72660, 357.00000, 0.00000, -14.00000); CreateObject(3276, -110.37328, -1195.47974, 2.72660, 357.00000, 0.00000, -12.00000); CreateObject(967, -100.37933, -1217.53540, 1.68390, 0.00000, 0.00000, -185.00000); // 3dtext + pickup Create3DTextLabel("Job Taietor de Lemne\nTasteaza /incepemunca pentru a incepe", 0xFFFFFFAA, -87.8051,-1212.2844,2.8906); AddStaticPickup(1275, 23, -87.8051,-1212.2844,2.8906); // Masini Job masina1 = CreateVehicle(578, -103.7480, -1200.4038, 3.3278, 84.0000, -1, -1, 100); masina2 = CreateVehicle(578, -104.4939, -1204.9441, 3.3278, 84.0000, -1, -1, 100); masina3 = CreateVehicle(578, -108.5940, -1214.9368, 3.3278, 84.0000, -1, -1, 100); masina4 = CreateVehicle(578, -118.8193, -1224.0529, 3.3278, -4.0000, -1, -1, 100); masina5 = CreateVehicle(578, -123.7361, -1223.4977, 3.3278, -4.0000, -1, -1, 100); Mergem la OnPlayerConnect: PasJob[playerid] = 0; RemoveBuildingForPlayer(playerid, 1447, -107.0859, -1196.0859, 3.0391, 0.25); RemoveBuildingForPlayer(playerid, 1412, -112.1719, -1194.7500, 3.0391, 0.25); RemoveBuildingForPlayer(playerid, 1413, -101.2891, -1215.5859, 2.9609, 0.25); RemoveBuildingForPlayer(playerid, 1447, -100.1797, -1210.0781, 3.0391, 0.25); RemoveBuildingForPlayer(playerid, 1413, -102.1328, -1197.1641, 2.9609, 0.25); RemoveBuildingForPlayer(playerid, 1412, -98.9219, -1204.9141, 3.0391, 0.25); RemoveBuildingForPlayer(playerid, 1412, -98.8750, -1199.9297, 3.0391, 0.25); Apoi punem la publicuri asta: public EsteMasinaJOB(carid)// verificare daca este in masina { if(carid == masina1||carid == masina2||carid == masina3||carid == masina4||carid == masina5)// masinile { return 1; } return 0; } Mergem la OnPlayerKeyStateChange si adaugam asta: new newcar = GetPlayerVehicleID(playerid); if(EsteMasinaJOB(newcar))// verificarea de mai sus { if(PasJob[playerid] == 0)// Pasul { SendClientMessage(playerid, 0xFF0000C8, "Nu ai jobul de taietor de lmne!"); RemovePlayerFromVehicle(playerid);// Il scoate din masina } if(PasJob[playerid] == 1) { SendClientMessage(playerid, 0xFFFF00C8, "Dute la checkpoint-ul marcat pe radar pentru a incepe munca.."); SetPlayerCheckpoint(playerid, -233.0633,-1218.7089,6.5594, 5);// ii pune checkpoint PasJob[playerid] = 2; // ii seteaza noul pas masina[playerid] = newcar; return 1; } } Apoi mergem in gm, acolo unde avem comenzile si punem: CMD:startwork(playerid, params[]) { if(IsPlayerInRangeOfPoint(playerid, 3, -87.8051,-1212.2844,2.8906))// verifica daca este la locatia job-ului { if(PasJob[playerid] == 0) { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "{FFFFFF}Taietor de lemne", "{FFFFFF}Timp Lucru: {FF8000}7 Minute\n{FFFFFF}Suma Castigata: {FF8000}100.000$","Inchide", ""); skinjob[playerid] = GetPlayerSkin(playerid);// verifica skinul SetPlayerSkin(playerid, 1);// pune skinul PasJob[playerid] = 1; //ii seteaza pasul SendClientMessage(playerid, 0xFFFFFFAA, "Intra intr-un vehicul pentru a incepe."); } else { SendClientMessage(playerid, 0xFFFFFFAA, "Nu trebuia sa ai alt loc de munca , sau alta sarcina in progres!"); return 1; } } else { SendClientMessage(playerid, 0xFFFFFFAA, "Nu esti in cabina de schimbare!"); return 1; } return 1; } Mergem la onPlayerEnterCheckPoint si bagam asta: if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && EsteMasinaJOB(GetPlayerVehicleID(playerid)))// pasjob - pasul jobului | DisablePlayerCheckPoint - scoate punctul { if(PasJob[playerid] == 2 && IsPlayerInRangeOfPoint(playerid, 5, -233.0633,-1218.7089,6.5594)) { DisablePlayerCheckpoint(playerid); SendClientMessage(playerid, 0xFFFFFFAA, "Parcheaza Masina in lateral."); SetPlayerCheckpoint(playerid, -242.7653,-1198.1378,7.4173, 5); PasJob[playerid] = 3; } else if(PasJob[playerid] == 3 && IsPlayerInRangeOfPoint(playerid, 5, -242.7653,-1198.1378,7.4173)) { DisablePlayerCheckpoint(playerid); SendClientMessage(playerid, 0xFFFFFFAA, "Coboara din vehicul si dute la copacii pentru ai taia."); SetPlayerCheckpoint(playerid, -253.6463,-1220.2349,6.1858, 1.0); PasJob[playerid] = 4; } else if(PasJob[playerid] == 12 && IsPlayerInRangeOfPoint(playerid, 5, -380.8114,-1426.4735,25.7750)) { new vehid; vehid = GetPlayerVehicleID(playerid); DisablePlayerCheckpoint(playerid); SendClientMessage(playerid, 0xFFFFFFAA, "Ai terminat slujba , ai primit : $100.000"); GivePlayerMoney(playerid, 100000); DestroyPlayerObject(playerid, objjob[playerid]); SetVehicleToRespawn(vehid); SetPlayerSkin(playerid, 20); PasJob[playerid] = 0; masina[playerid] = 0; } } else if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { if(PasJob[playerid] == 4 && IsPlayerInRangeOfPoint(playerid, 1, -253.6463,-1220.2349,6.1858)) { DisablePlayerCheckpoint(playerid); TogglePlayerControllable(playerid, 0); timecut[playerid] = SetTimerEx("timpjob",5000,false,"i", playerid); } else if(PasJob[playerid] == 5 && IsPlayerInRangeOfPoint(playerid, 2, -103.7549, -1546.4635, 2.6107)) { DisablePlayerCheckpoint(playerid); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); SendClientMessage(playerid, 0xFFFFFFAA, "Du-te acum la alt copac si taie-l."); SetPlayerCheckpoint(playerid, -245.1579,-1211.6552,6.7876, 1.0); PasJob[playerid] = 6; } else if(PasJob[playerid] == 6 && IsPlayerInRangeOfPoint(playerid, 1, -245.1579,-1211.6552,6.7876)) { DisablePlayerCheckpoint(playerid); TogglePlayerControllable(playerid, 0); timecut[playerid] = SetTimerEx("timpjob",5000,false,"i", playerid); } else if(PasJob[playerid] == 7 && IsPlayerInRangeOfPoint(playerid, 2, -103.7549, -1546.4635, 2.6107)) { DisablePlayerCheckpoint(playerid); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); SetPlayerCheckpoint(playerid, -245.1579,-1211.6552,6.7876, 1.0); PasJob[playerid] = 8; } else if(PasJob[playerid] == 8 && IsPlayerInRangeOfPoint(playerid, 1, -245.1579,-1211.6552,6.7876)) { DisablePlayerCheckpoint(playerid); TogglePlayerControllable(playerid, 0); timecut[playerid] = SetTimerEx("timpjob",5000,false,"i", playerid); } else if(PasJob[playerid] == 9 && IsPlayerInRangeOfPoint(playerid, 2, -103.7549, -1546.4635, 2.6107)) { DisablePlayerCheckpoint(playerid); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); SetPlayerCheckpoint(playerid, -255.9491,-1219.1299,6.5362, 1.0); PasJob[playerid] = 10; } else if(PasJob[playerid] == 10 && IsPlayerInRangeOfPoint(playerid, 1, -255.9491,-1219.1299,6.5362)) { DisablePlayerCheckpoint(playerid); TogglePlayerControllable(playerid, 0); timecut[playerid] = SetTimerEx("timpjob",5000,false,"i", playerid); } else if(PasJob[playerid] == 11 && IsPlayerInRangeOfPoint(playerid, 2, -103.7549, -1546.4635, 2.6107)) { DisablePlayerCheckpoint(playerid); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); objjob[playerid] = CreatePlayerObject(playerid, 18609, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 300.0); AttachPlayerObjectToVehicle(playerid, objjob[playerid], masina[playerid], -0.06195, -4.93747, 0.73480, 0.00000, 0.00000, 5.00000); SendClientMessage(playerid, 0xFFFFFFAA, "Ai Adunat Lemnele necesare , urca in vehicul si dute sa duci lemnele la depozit."); SetPlayerCheckpoint(playerid, -380.8114,-1426.4735,25.7750, 5); PasJob[playerid] = 12; } } Acum mergem sub OnPlayerEnterCheckPoint si adaugam: public timpjob(playerid) { if(PasJob[playerid] == 4) { TogglePlayerControllable(playerid, 1);//ii da unfreeze SetPlayerAttachedObject(playerid, 1, 1463, 1,0.20,0.36,0.0,0.0,90.0, 0.0, 0.4, 0.3, 0.6)// ii spune un obiect ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1);// ii da o animatie SetPlayerCheckpoint(playerid,-245.1016,-1198.7922,7.1984,2.0); PasJob[playerid] = 5;//ii seteaza pasul | la restul e exact la fel SendClientMessage(playerid, 0xFFFFFFAA, "Du-te si incarca lemnele in masina."); } if(PasJob[playerid] == 6) { TogglePlayerControllable(playerid, 1); SetPlayerAttachedObject(playerid, 1, 1463, 1,0.20,0.36,0.0,0.0,90.0, 0.0, 0.4, 0.3, 0.6); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); SetPlayerCheckpoint(playerid,-245.1016,-1198.7922,7.1984,2.0); PasJob[playerid] = 7; } if(PasJob[playerid] == 8) { TogglePlayerControllable(playerid, 1); SetPlayerAttachedObject(playerid, 1, 1463, 1,0.20,0.36,0.0,0.0,90.0, 0.0, 0.4, 0.3, 0.6); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); SetPlayerCheckpoint(playerid,-245.1016,-1198.7922,7.1984,2.0); PasJob[playerid] = 9; } if(PasJob[playerid] == 10) { TogglePlayerControllable(playerid, 1); SetPlayerAttachedObject(playerid, 1, 1463, 1,0.20,0.36,0.0,0.0,90.0, 0.0, 0.4, 0.3, 0.6); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); SetPlayerCheckpoint(playerid,-245.1016,-1198.7922,7.1984,2.0); PasJob[playerid] = 11; } return 1; } Si gata, avem job-ul de taietor de lemne implementat pe server
-
Daca nu le aveti incluse includeti astea: #include <a_objects> #include <streamer> #include <sscanf2> #include <zcmd> Apoi definim parametri de lucru: forward EsteMasinaJOB(carid); forward timpjob(playerid); new objjob[MAX_PLAYERS]; new timecut[MAX_PLAYERS]; new skinjob[MAX_PLAYERS]; new masina[MAX_PLAYERS]; new PasJob[MAX_PLAYERS]; new masina1, masina2, masina3, masina4, masina5; Mergem la ONGameModeInit si creem niste lucruri: CreateObject(3276, -117.14592, -1199.96472, 2.72656, 3.14159, 0.00000, 1.90836); CreateObject(3276, -106.42129, -1217.62317, 2.72660, 357.00000, 0.00000, -8.00000); CreateObject(3276, -99.50285, -1198.14978, 2.72660, 357.00000, 0.00000, -14.00000); CreateObject(3276, -110.37328, -1195.47974, 2.72660, 357.00000, 0.00000, -12.00000); CreateObject(967, -100.37933, -1217.53540, 1.68390, 0.00000, 0.00000, -185.00000); // 3dtext + pickup Create3DTextLabel("Job Taietor de Lemne\nTasteaza /incepemunca pentru a incepe", 0xFFFFFFAA, -87.8051,-1212.2844,2.8906); AddStaticPickup(1275, 23, -87.8051,-1212.2844,2.8906); // Masini Job masina1 = CreateVehicle(578, -103.7480, -1200.4038, 3.3278, 84.0000, -1, -1, 100); masina2 = CreateVehicle(578, -104.4939, -1204.9441, 3.3278, 84.0000, -1, -1, 100); masina3 = CreateVehicle(578, -108.5940, -1214.9368, 3.3278, 84.0000, -1, -1, 100); masina4 = CreateVehicle(578, -118.8193, -1224.0529, 3.3278, -4.0000, -1, -1, 100); masina5 = CreateVehicle(578, -123.7361, -1223.4977, 3.3278, -4.0000, -1, -1, 100); Mergem la OnPlayerConnect: PasJob[playerid] = 0; RemoveBuildingForPlayer(playerid, 1447, -107.0859, -1196.0859, 3.0391, 0.25); RemoveBuildingForPlayer(playerid, 1412, -112.1719, -1194.7500, 3.0391, 0.25); RemoveBuildingForPlayer(playerid, 1413, -101.2891, -1215.5859, 2.9609, 0.25); RemoveBuildingForPlayer(playerid, 1447, -100.1797, -1210.0781, 3.0391, 0.25); RemoveBuildingForPlayer(playerid, 1413, -102.1328, -1197.1641, 2.9609, 0.25); RemoveBuildingForPlayer(playerid, 1412, -98.9219, -1204.9141, 3.0391, 0.25); RemoveBuildingForPlayer(playerid, 1412, -98.8750, -1199.9297, 3.0391, 0.25); Apoi punem la publicuri asta: public EsteMasinaJOB(carid)// verificare daca este in masina { if(carid == masina1||carid == masina2||carid == masina3||carid == masina4||carid == masina5)// masinile { return 1; } return 0; } Mergem la OnPlayerKeyStateChange si adaugam asta: new newcar = GetPlayerVehicleID(playerid); if(EsteMasinaJOB(newcar))// verificarea de mai sus { if(PasJob[playerid] == 0)// Pasul { SendClientMessage(playerid, 0xFF0000C8, "Nu ai jobul de taietor de lmne!"); RemovePlayerFromVehicle(playerid);// Il scoate din masina } if(PasJob[playerid] == 1) { SendClientMessage(playerid, 0xFFFF00C8, "Dute la checkpoint-ul marcat pe radar pentru a incepe munca.."); SetPlayerCheckpoint(playerid, -233.0633,-1218.7089,6.5594, 5);// ii pune checkpoint PasJob[playerid] = 2; // ii seteaza noul pas masina[playerid] = newcar; return 1; } } Apoi mergem in gm, acolo unde avem comenzile si punem: CMD:startwork(playerid, params[]) { if(IsPlayerInRangeOfPoint(playerid, 3, -87.8051,-1212.2844,2.8906))// verifica daca este la locatia job-ului { if(PasJob[playerid] == 0) { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "{FFFFFF}Taietor de lemne", "{FFFFFF}Timp Lucru: {FF8000}7 Minute\n{FFFFFF}Suma Castigata: {FF8000}100.000$","Inchide", ""); skinjob[playerid] = GetPlayerSkin(playerid);// verifica skinul SetPlayerSkin(playerid, 1);// pune skinul PasJob[playerid] = 1; //ii seteaza pasul SendClientMessage(playerid, 0xFFFFFFAA, "Intra intr-un vehicul pentru a incepe."); } else { SendClientMessage(playerid, 0xFFFFFFAA, "Nu trebuia sa ai alt loc de munca , sau alta sarcina in progres!"); return 1; } } else { SendClientMessage(playerid, 0xFFFFFFAA, "Nu esti in cabina de schimbare!"); return 1; } return 1; } Mergem la onPlayerEnterCheckPoint si bagam asta: if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && EsteMasinaJOB(GetPlayerVehicleID(playerid)))// pasjob - pasul jobului | DisablePlayerCheckPoint - scoate punctul { if(PasJob[playerid] == 2 && IsPlayerInRangeOfPoint(playerid, 5, -233.0633,-1218.7089,6.5594)) { DisablePlayerCheckpoint(playerid); SendClientMessage(playerid, 0xFFFFFFAA, "Parcheaza Masina in lateral."); SetPlayerCheckpoint(playerid, -242.7653,-1198.1378,7.4173, 5); PasJob[playerid] = 3; } else if(PasJob[playerid] == 3 && IsPlayerInRangeOfPoint(playerid, 5, -242.7653,-1198.1378,7.4173)) { DisablePlayerCheckpoint(playerid); SendClientMessage(playerid, 0xFFFFFFAA, "Coboara din vehicul si dute la copacii pentru ai taia."); SetPlayerCheckpoint(playerid, -253.6463,-1220.2349,6.1858, 1.0); PasJob[playerid] = 4; } else if(PasJob[playerid] == 12 && IsPlayerInRangeOfPoint(playerid, 5, -380.8114,-1426.4735,25.7750)) { new vehid; vehid = GetPlayerVehicleID(playerid); DisablePlayerCheckpoint(playerid); SendClientMessage(playerid, 0xFFFFFFAA, "Ai terminat slujba , ai primit : $100.000"); GivePlayerMoney(playerid, 100000); DestroyPlayerObject(playerid, objjob[playerid]); SetVehicleToRespawn(vehid); SetPlayerSkin(playerid, 20); PasJob[playerid] = 0; masina[playerid] = 0; } } else if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) { if(PasJob[playerid] == 4 && IsPlayerInRangeOfPoint(playerid, 1, -253.6463,-1220.2349,6.1858)) { DisablePlayerCheckpoint(playerid); TogglePlayerControllable(playerid, 0); timecut[playerid] = SetTimerEx("timpjob",5000,false,"i", playerid); } else if(PasJob[playerid] == 5 && IsPlayerInRangeOfPoint(playerid, 2, -103.7549, -1546.4635, 2.6107)) { DisablePlayerCheckpoint(playerid); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); SendClientMessage(playerid, 0xFFFFFFAA, "Du-te acum la alt copac si taie-l."); SetPlayerCheckpoint(playerid, -245.1579,-1211.6552,6.7876, 1.0); PasJob[playerid] = 6; } else if(PasJob[playerid] == 6 && IsPlayerInRangeOfPoint(playerid, 1, -245.1579,-1211.6552,6.7876)) { DisablePlayerCheckpoint(playerid); TogglePlayerControllable(playerid, 0); timecut[playerid] = SetTimerEx("timpjob",5000,false,"i", playerid); } else if(PasJob[playerid] == 7 && IsPlayerInRangeOfPoint(playerid, 2, -103.7549, -1546.4635, 2.6107)) { DisablePlayerCheckpoint(playerid); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); SetPlayerCheckpoint(playerid, -245.1579,-1211.6552,6.7876, 1.0); PasJob[playerid] = 8; } else if(PasJob[playerid] == 8 && IsPlayerInRangeOfPoint(playerid, 1, -245.1579,-1211.6552,6.7876)) { DisablePlayerCheckpoint(playerid); TogglePlayerControllable(playerid, 0); timecut[playerid] = SetTimerEx("timpjob",5000,false,"i", playerid); } else if(PasJob[playerid] == 9 && IsPlayerInRangeOfPoint(playerid, 2, -103.7549, -1546.4635, 2.6107)) { DisablePlayerCheckpoint(playerid); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); SetPlayerCheckpoint(playerid, -255.9491,-1219.1299,6.5362, 1.0); PasJob[playerid] = 10; } else if(PasJob[playerid] == 10 && IsPlayerInRangeOfPoint(playerid, 1, -255.9491,-1219.1299,6.5362)) { DisablePlayerCheckpoint(playerid); TogglePlayerControllable(playerid, 0); timecut[playerid] = SetTimerEx("timpjob",5000,false,"i", playerid); } else if(PasJob[playerid] == 11 && IsPlayerInRangeOfPoint(playerid, 2, -103.7549, -1546.4635, 2.6107)) { DisablePlayerCheckpoint(playerid); if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1); objjob[playerid] = CreatePlayerObject(playerid, 18609, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 300.0); AttachPlayerObjectToVehicle(playerid, objjob[playerid], masina[playerid], -0.06195, -4.93747, 0.73480, 0.00000, 0.00000, 5.00000); SendClientMessage(playerid, 0xFFFFFFAA, "Ai Adunat Lemnele necesare , urca in vehicul si dute sa duci lemnele la depozit."); SetPlayerCheckpoint(playerid, -380.8114,-1426.4735,25.7750, 5); PasJob[playerid] = 12; } } Acum mergem sub OnPlayerEnterCheckPoint si adaugam: public timpjob(playerid) { if(PasJob[playerid] == 4) { TogglePlayerControllable(playerid, 1);//ii da unfreeze SetPlayerAttachedObject(playerid, 1, 1463, 1,0.20,0.36,0.0,0.0,90.0, 0.0, 0.4, 0.3, 0.6)// ii spune un obiect ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1);// ii da o animatie SetPlayerCheckpoint(playerid,-245.1016,-1198.7922,7.1984,2.0); PasJob[playerid] = 5;//ii seteaza pasul | la restul e exact la fel SendClientMessage(playerid, 0xFFFFFFAA, "Du-te si incarca lemnele in masina."); } if(PasJob[playerid] == 6) { TogglePlayerControllable(playerid, 1); SetPlayerAttachedObject(playerid, 1, 1463, 1,0.20,0.36,0.0,0.0,90.0, 0.0, 0.4, 0.3, 0.6); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); SetPlayerCheckpoint(playerid,-245.1016,-1198.7922,7.1984,2.0); PasJob[playerid] = 7; } if(PasJob[playerid] == 8) { TogglePlayerControllable(playerid, 1); SetPlayerAttachedObject(playerid, 1, 1463, 1,0.20,0.36,0.0,0.0,90.0, 0.0, 0.4, 0.3, 0.6); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); SetPlayerCheckpoint(playerid,-245.1016,-1198.7922,7.1984,2.0); PasJob[playerid] = 9; } if(PasJob[playerid] == 10) { TogglePlayerControllable(playerid, 1); SetPlayerAttachedObject(playerid, 1, 1463, 1,0.20,0.36,0.0,0.0,90.0, 0.0, 0.4, 0.3, 0.6); ApplyAnimation(playerid,"CARRY","crry_prtial",4.0,1,0,0,1,1,1); SetPlayerCheckpoint(playerid,-245.1016,-1198.7922,7.1984,2.0); PasJob[playerid] = 11; } return 1; } Si gata, avem job-ul de taietor de lemne implementat pe server
-
Astazi vreau sa va arat un compiler foarte bun facut de ZEEX un bun prieten de-al meu, acesta foate face dintr-o compilare de peste 60s in una de 3s - 7s Download pentru a putea compila cu el mergeti in pawn.cfg stergeti tot si puneti: -;+ -v2 -d3 -Z+ -\\)+ Iar daca folositi sublime, mergeti in buld system-ul vostru si puneti: { "cmd": ["pawncc.exe", "-i includes", "$file", "-d3", "-Z+", "-;+"], "path": "E:/samp/compiler" } In loc de E:/samp/compiler puneti locatia unde aveti pawno apoi in loc de \ puneti /
-
[Tutorial] - Reparare Erori / Advertismente Pawno
+ASGOOD a răspuns la AlleqsZ topic în Salonul Scripturilor
Nu exista hack0uri de bani / masini / pp=-uri daca asta cauti, pentru un hack de genu rbuie sa spargi baza de date og-times. -
Add Skype(simaiulian04)
-
Mesaj pe skype: simaiulian04
-
Atat, dai start la sv si gata
-
Numele d-vs. : Iulian Sima Vârstă : 21 IP-ul server-ului : 87.243.7.170:7778 DNS-ul dorit : rpg.ultraphase.org Tipul jocului : SA-MP Modul server-ului : RPG Număr de sloturi : 150 Firmă hosting : Five-Host Deținători : Eu si Skiny(deocamdata nu are cont) Adresă de contact : Skype: simaiulian04 Structură Sub-Forum : O fac singur Link Tracker : https://www.game-state.com/87.243.7.170:7778/
-
Sa-mi faci un subdomeniu rpg.ultraphase.org sa-mi fac panel
-
Pui un forward ArmourTimer(playerid); Creezi un public ArmourTimer(playerid){ PlayerInfo[playerid][Armour] = 1; SCM(playerid, COLOR_CULOARE, "Mesaj"); return 1; }
-
Download: www58.zippyshare.com/v/V1DNAg3n/file.html Poze: imgur.com/a/X0Hmoimgur.com/a/GGlXp Acestea nu sunt toate update-urile au mai fost rezolvate si alte buguri. RPG.WTHUNDER.TK - Job Padurar Updates -acum la payday apare cate ore jucate ai primit/minute -acum poti upgrada vehiculele vip doar infernus, bullet, sultan (1)-spawn-ul a fost mutat in Las Venturas ( orasul principal ) (2)-dealership-ul a fost mutat in Las Venturas (orasul principal) (3)-nou sistem de DMV (4)-a fost adaugat admin autentificator(admin 5+) (5)-sistem-ul de payday schimbat (pe textdraw) (6)-logo-ul serverului schimbat (7)-adaugate masini si biciclete la spawn-ul nou ( - Acum cand primesti uninvite de la lider primesti email (9) - La logare primesti $10.000 (10) - speedometer schimbat (11) - adaugate textdraw-uri la logare (12) - textdraw nou cand intri pe server si esti banat (13) - sistem vipname nou + vipnamecolors (14) - sistem-ul de payday rereparat(acum functioneaza corect) (15) - sistem anti-cheat imbunatatit (16) - payday-ul a fost marit (18) - acum se castiga mai mult la joburi (~150k/ora). (20) - /find acum este pe textdraw ( sistem nou) (21) - adaugate mai multe case in LV ( deoarece este oras-ul principal) (o sa se mai adauge la deschidere) (22) - admin autentificator de la admin 3+ (23) - /invite de la rank 5+ (23) - /transfer de la level 1 ( la inceput ) (24) - pentru admini (/areamute , /areaunmute) (25) - adminii is pot pune numele pe masinaGa
-
Cauta acele pluginuri pe net, gvar.dll si mysql_static.dll apoi pune-le in folder-ul plugins
-
streamer: https://github.com/samp-incognito/samp-streamer-plugin/releases/tag/v2.9.1 sscanf: https://github.com/maddinat0r/sscanf/releases ** Ca sa va merga plugin-urile si sa nu primiti erori dua ce le instalati compilati gamemode-ul din nou. * Acesta versiuni sunt ultimele si sunt relativ greu de gasit. Legenda: * - Important ** - Foarte Important
-
Mergem la comenzi si adaugam asta: CMD:unbanall(playerid,params[]) { if(PlayerInfo[playerid][pAdmin] >= 7 || PlayerInfo[playerid][pScripter] >= 1)// Restrictie Admin 7 si scripter, modificati dupa cum aveti { mysql_tquery(SQL,"DELETE FROM `bans`","",""); // Stergi toate ban-urile SendClientMessage(playerid,-1,"Toti playerii au primit unban !"); // Iti trimite mesajul "Toti playerii au primit unban !" } return 1; // returnati }
-
Da.
-
Minum Requirements: CPU: Intel Core i3(orice mai bun sau egal cu Skylake)(4CPU`s) sau Orice AMD din seria Rayzen RAM: 6GB OS: Windows 10(64 Bit) Video Card: Nvidia GTX 950 Spatiu pe Disk: 80 GB Recomanded Requirements: CPU: Intel Core i5-6400 RAM: 12GB OS: Windows 10 Pro Video Card: Nvidi GTX 1060 Spatiu pe Disk: 80 GB Posibila data de aparitie: Luna Ianuarie si anul 2021 ATENTIE: Acestea sunt niste date semi-confidentiale ale RockStar North si RockStar Games si am facut rost de ele foarte greu.
-
Cum sa-i dai unui player care omoara alt player in jail 100 de secunde: if(PlayerInfo[killerid][pJailed] > 0) VErifica daca killer-ul e in jail { format(string, sizeof(string), "[AdmInfo]: %s (%d) a fost omorat de puscariasul %s (%d)",GetName(playerid),playerid,GetName(killerid),killerid);// aceste 2 randur alcatuiesc mesajul care-l primesc adminii ABroadCast(0xf03337FF,string,1); // Trimite adminilor mesajul PlayerInfo[killerid][pJailTime] += 100; //II mai da 100 de secunde killer-ului format(string, sizeof(string), "Ai primit +100 de secunde sub arestul politiei, deoarece l-ai omorat pe %s!", GetName(playerid)); // Mesaul trimis catre killer SCM(killerid, -1, string);// Trimite mesajul killer-ului return 1; // returneaza variabila } Update(killerid, pJailTimex); // Seteaza Timpul de jail player-ului Tin sa precizez ca acestea sunt variabilele mele, trebuie modificat in functie de variabilele voastre.
-
Vreau sa va prezint un Gamemode facut de mine, sper sa va placa, dar din pacate nu am facut nici un panel pt el. Info: - 17 Factiuni - Sistem VIP - 12 Job-uri - Comanda /svar - Si multe, multe altele Link Download: http://www68.zippyshare.com/v/1LsIIaeO/file.html VirusTotal: https://www.virustotal.com/en/file/4c699f259869033bfdf128e04068ea0536aa674666b53209d61f72a44459d5c3/analysis/1499435174/
-
In primul rand mergem la cmenzi si adaugam comanda: CMD:vvolan(playerid,params[]) { if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"{DC0C0C}[Info]:{FFFFFF} Trebuie sa fi intr-un vehicul pentru a folosi aceasta comanda!"); if(GetPVarInt(playerid,"used") == 0) { new p = GetPlayerVehicleID(playerid); vehview[playerid] = CreatePlayerObject(playerid,19300, 0.0000, -1282.9984, 10.1493, 0.0000, -1, -1, 100); AttachPlayerObjectToVehicle(playerid,vehview[playerid],p,-0.314999, -0.195000, 0.510000, 0.000000, 0.000000, 0.000000); AttachCameraToPlayerObject(playerid,vehview[playerid]); SetPVarInt(playerid,"used",1); SendClientMessage(playerid, COLOR_RED,"{DC0C0C}Info: Modul 'Vedere la volan' a fost activat."); } else if(GetPVarInt(playerid,"used") == 1) { SetCameraBehindPlayer(playerid); DestroyPlayerObject(playerid,vehview[playerid]); SetPVarInt(playerid,"used",0); SendClientMessage(playerid, COLOR_RED,"{DC0C0C}Info: Modul 'Vedere la volan' a fost dezactivat."); } else if(GetPVarInt(playerid,"used") == 1 && !IsPlayerInAnyVehicle(playerid)) { SetCameraBehindPlayer(playerid); DestroyPlayerObject(playerid,vehview[playerid]); SetPVarInt(playerid,"used",0); SendClientMessage(playerid, COLOR_RED,"{DC0C0C}Info: Modul 'Vedere la volan' a fost dezactivat."); } return 1; } Apoi, mergem si definim variabila vehview astfel: new vehview[MAX_PLAYERS]; Si gata, de restul parametrilor ce fac parte din comanda si normal ar trebuii sa-i aveti in GM va ocupati voi.
-
Am uitat sa specific ca eu am folosit aceasta comanda intr-un GM de tip RPG.