CristianLMAO Posted November 1, 2021 Report Posted November 1, 2021 Salut! Codul: #include <a_samp> #include <dini> #include <dudb> #include <zcmd> #pragma unused ret_memcpy //colors #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_ORANGE 0xFF9900AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define SERVER_USER_FILE "database/users/%s.ini" // users #define SERVER_ALOG_FILE "database/log/adminlogs.txt" // alogs #define gmtext "gold.united-islands.ro | v0.2" #define function%0(%1) forward %0(%1); public %0(%1) main() { } public OnGameModeInit() { SetGameModeText(gmtext); AddPlayerClass(0,1219,-1813.5,16.5,179.5,0,0,0,0,0,0); //spawn bikes CreateVehicle(510, 1237,-1813.2892,13.4315,270, 0, 0, 60); CreateVehicle(510, 1237,-1815.0358,13.4282,270, 0, 0, 60); CreateVehicle(510, 1237,-1816.5765,13.4258,270, 0, 0, 60); CreateVehicle(510, 1237,-1817.9580,13.4233,270, 0, 0, 60); CreateVehicle(510, 1237,-1819.4449,13.4225,270, 0, 0, 60); CreateVehicle(510, 1237,-1820.9550,13.4193,270, 0, 0, 60); CreateVehicle(510, 1237,-1822.3446,13.4148,270, 0, 0, 60); CreateVehicle(510, 1237,-1823.8909,13.4133,270, 0, 0, 60); // pickups CreatePickup(1581, 1, 1214.0170,-1814.4308,16.8, -1); //3d texts Create3DTextLabel("DMV\nScrie '/startexam' pentru a intra in examen! Acest examen costa 500k bani!", 0x00FF00BB, 1214.0170,-1814.4308,16.5, 40, 0, 1); return 1; } public OnGameModeExit(){ } enum pInfo { pCash, pBank, pAdminLevel, pBonusPoints, pScore, pPremium, pMuted, pInDmv, pDmvStage, pCarLic, pBanned } new PlayerInfo[MAX_PLAYERS][pInfo]; new gPlayerLogged[MAX_PLAYERS]; public OnPlayerConnect(playerid) { gPlayerLogged[playerid] = 0; new name[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if (!dini_Exists(file)) { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Register", "Scrie mai jos parola pe care vrei sa o ai la cont:", "Register", "inchide"); } if(fexist(file)) { ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Login", "Punte-ti parola mai jos:", "Login", "Leave"); } return 1; } public OnPlayerDisconnect(playerid, reason) { new name[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if(gPlayerLogged[playerid] == 1) { dini_IntSet(file, "Cash", PlayerInfo[playerid][pCash]); dini_IntSet(file, "Bank", PlayerInfo[playerid][pBank]); dini_IntSet(file, "Score", PlayerInfo[playerid][pScore]); dini_IntSet(file, "BonusPoints", PlayerInfo[playerid][pBonusPoints]); dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]); dini_IntSet(file, "Premium",PlayerInfo[playerid][pPremium]); dini_IntSet(file, "Muted",PlayerInfo[playerid][pMuted]); dini_IntSet(file, "InDMV",PlayerInfo[playerid][pInDmv]); dini_IntSet(file, "DmvStage",PlayerInfo[playerid][pDmvStage]); dini_IntSet(file, "Carlic",PlayerInfo[playerid][pCarLic]); dini_IntSet(file, "Banned",PlayerInfo[playerid][pBanned]); } gPlayerLogged[playerid] = 0; return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if (dialogid == 1) { new name[MAX_PLAYER_NAME], file[256], string[128]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if(!response) return Kick(playerid); if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "Register", "Scrie mai jos parola pe care vrei sa o ai la cont:", "Register", "inchide"); dini_Create(file); dini_IntSet(file, "Cash", PlayerInfo[playerid][pCash] = 1000000); dini_IntSet(file, "Bank", PlayerInfo[playerid][pBank] = 5000); dini_IntSet(file, "Password", udb_hash(inputtext)); dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel] = 0); dini_IntSet(file, "BonusPoints",PlayerInfo[playerid][pBonusPoints] = 0); dini_IntSet(file, "Score",PlayerInfo[playerid][pScore] = 1); dini_IntSet(file, "Premium",PlayerInfo[playerid][pPremium] = 0); dini_IntSet(file, "Muted",PlayerInfo[playerid][pMuted]); dini_IntSet(file, "InDMV",PlayerInfo[playerid][pInDmv] = 1); dini_IntSet(file, "DmvStage",PlayerInfo[playerid][pDmvStage] = 0); dini_IntSet(file, "Carlic",PlayerInfo[playerid][pCarLic]); dini_IntSet(file, "Banned",PlayerInfo[playerid][pBanned]); format(string, 128, "[SYSTEM]: succes registrat numele asta %s, ai intrat autologin.", name); SendClientMessage(playerid, COLOR_YELLOW, string); SpawnPlayer(playerid); gPlayerLogged[playerid] = 1; } if (dialogid == 2) { new name[MAX_PLAYER_NAME], file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if(!response) return Kick(playerid); if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Login", "Punte-ti parola mai jos:", "Login", "Leave"); new tmp; tmp = dini_Int(file, "Password"); if(udb_hash(inputtext) != tmp) { SendClientMessage(playerid, COLOR_RED, "[SYSTEM] Parola gresita!"); ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Login", "Punte-ti parola mai jos:", "Login", "Leave"); } else { SpawnPlayer(playerid); gPlayerLogged[playerid] = 1; PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "AdminLevel"); SetPlayerScore(playerid, PlayerInfo[playerid][pScore]); GivePlayerMoney(playerid, dini_Int(file, "Cash")-GetPlayerMoney(playerid)); SendClientMessage(playerid,COLOR_GREEN, "[SYSTEM]: Te-ai logat!"); } } return 1; } public OnPlayerStateChange(playerid, newstate, oldstate){ return 1; } public OnPlayerText(playerid, text[]){ new name[MAX_PLAYER_NAME]; new file[256]; new string[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if(dini_Int(file, "Muted") == 1){ format(string, sizeof(string), "You can't talk right now! You are muted."); SendClientMessage(playerid, COLOR_GREY, string); return 0; } else{ return 1; } } public OnPlayerSpawn(playerid) { new name[MAX_PLAYER_NAME]; new file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if(dini_Int(file, "InDmv") == 1) { SendClientMessage(playerid, COLOR_GREEN, "Ai picat testul deoarece ai iesit de pe server!"); dini_IntSet(file, "InDmv", PlayerInfo[playerid][pInDmv] = 0); } return 1; } public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) { new name[MAX_PLAYER_NAME]; new file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if(ispassenger == 0){ if(dini_Int(file, "Carlic") == 0) { SendClientMessage(playerid, COLOR_GREY, "* Nu ai permis de conducere! Scrie /dmv pentru a incepe un curs de conducere"); SlapPlayer(playerid); } } return 1; } public OnPlayerExitVehicle(playerid, vehicleid){ new name[MAX_PLAYER_NAME]; new file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if(dini_Int(file, "InDmv") == 1){ DestroyVehicle(vehicleid); dini_IntSet(file, "InDmv", PlayerInfo[playerid][pInDmv] = 0); SendClientMessage(playerid, COLOR_RED, "Deoarece ai iesit din masina testului, ai picat examenul"); } return 1; } public OnPlayerCommandText(playerid, cmdtext[]){ return 0; } stock GetName(playerid){ new playername[MAX_PLAYER_NAME]; GetPlayerName(playerid, playername, MAX_PLAYER_NAME); return playername; } public OnPlayerEnterCheckpoint(playerid){ new name[MAX_PLAYER_NAME]; new file[256]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if(dini_Int(file, "DmvStage") == 1){ SetPlayerCheckpoint(playerid, 1311.3917,-1840.5356,12.9904, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 2); } if(dini_Int(file, "DmvStage") == 2){ SetPlayerCheckpoint(playerid, 1326.6887,-1734.6566,12.9904, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 3); } if(dini_Int(file, "DmvStage") == 3){ SetPlayerCheckpoint(playerid, 1526.7543,-1735.5416,12.9904, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 4); } if(dini_Int(file, "DmvStage") == 4){ SetPlayerCheckpoint(playerid, 1526.1432,-1590.6320,12.9904, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 5); } if(dini_Int(file, "DmvStage") == 5){ SetPlayerCheckpoint(playerid, 1406.6301,-1590.2607,12.9650, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 6); } if(dini_Int(file, "DmvStage") == 6){ SetPlayerCheckpoint(playerid, 1314.1741,-1563.0592,12.9904, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 7); } if(dini_Int(file, "DmvStage") == 7){ SetPlayerCheckpoint(playerid, 1359.6761,-1422.0052,12.9904, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 8); } if(dini_Int(file, "DmvStage") == 8){ SetPlayerCheckpoint(playerid, 1278.8462,-1394.5029,12.7273, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 9); } if(dini_Int(file, "DmvStage") == 9){ SetPlayerCheckpoint(playerid, 1208.9016,-1385.4451,12.8471, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 10); } if(dini_Int(file, "DmvStage") == 10){ SetPlayerCheckpoint(playerid, 1216.1479,-1284.8210,12.9904, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 11); } if(dini_Int(file, "DmvStage") == 11){ SetPlayerCheckpoint(playerid, 1310.4785,-1281.9036,12.9904, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 12); } if(dini_Int(file, "DmvStage") == 12){ SetPlayerCheckpoint(playerid, 1313.7811,-1540.7218,12.9961, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 13); } if(dini_Int(file, "DmvStage") == 13){ SetPlayerCheckpoint(playerid, 1309.2744,-1822.3461,12.9904, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 14); } if(dini_Int(file, "DmvStage") == 14){ SetPlayerCheckpoint(playerid, 1272.6282,-1847.5135,12.9977, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 15); } if(dini_Int(file, "DmvStage") == 15){ SetPlayerCheckpoint(playerid, 1271.3938,-1827.1415,12.9922, 10); dini_IntSet(file, "DmvStage", 16); } if(dini_Int(file, "DmvStage") == 16){ DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 0); dini_IntSet(file, "InDMV", 0); dini_IntSet(file, "Carlic", 1); DestroyVehicle(GetPlayerVehicleID(playerid)); } return 0; } //comenzi: CMD:startexam(playerid, params){ new name[MAX_PLAYER_NAME]; new file[256]; new car[1]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), SERVER_USER_FILE, name); if(dini_Int(file, "Carlic") == 1) return SendClientMessage(playerid, COLOR_RED, "Deja ai licenta pentru masina!"); if(dini_Int(file, "InDMV") == 1) return SendClientMessage(playerid, COLOR_RED, "Deja esti in examen, daca crezi ca este o problema, poti sa reintri pe server!"); if(dini_Int(file, "Cash") < 500000) return SendClientMessage(playerid, COLOR_RED, "Nu ai suficienti bani pentru a face acest lucru!"); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "Cash", PlayerInfo[playerid][pCash] =dini_Int(file, "Cash")-500000); dini_IntSet(file, "InDMV", PlayerInfo[playerid][pInDmv] = 1); GivePlayerMoney(playerid, dini_Int(file, "Cash")-GetPlayerMoney(playerid)); dini_IntSet(file, "CarLic", PlayerInfo[playerid][pCarLic] = 0); car[0] = CreateVehicle(421, 1267.9502,-1825.6804,13.3818,185.7668, 1, 1, 90000000); PutPlayerInVehicle(playerid, car[0], 0); SetPlayerCheckpoint(playerid, 1269.2395,-1846.8804,13.0048, 10); SendClientMessage(playerid, COLOR_GREEN, "Du-te la checkpoint-uri!"); dini_IntSet(file, "DmvStage", PlayerInfo[playerid][pDmvStage] = 1); return 1; } Cand compilez, nu se intampla nimic, dar in joc, cand intru in checkpoint imi activeaza toate checkpointurile Stiu ce am facut gresit, dar nu stiu sa rezolv. Check-pointurile sunt la OnPlayerEnterCheckpoint. Multumesc!
1 Mister Posted November 1, 2021 Report Posted November 1, 2021 Salutare, La OnPlayerEnterCheckpoint, la fiecare DmvStage pe langa functia SetPlayerCheckpoint ai de asemenea functia DisablePlayerCheckpoint Quote if(dini_Int(file, "DmvStage") == 1){ SetPlayerCheckpoint(playerid, 1311.3917,-1840.5356,12.9904, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 2); } if(dini_Int(file, "DmvStage") == 2){ SetPlayerCheckpoint(playerid, 1326.6887,-1734.6566,12.9904, 10); DisablePlayerCheckpoint(playerid); dini_IntSet(file, "DmvStage", 3); } Poti incerca sa schimbi codul in ceva de genul pentru toate DmvStage-urile if(dini_Int(file, "DmvStage") == 1){ SetPlayerCheckpoint(playerid, 1311.3917,-1840.5356,12.9904, 10); dini_IntSet(file, "DmvStage", 2); } else if(dini_Int(file, "DmvStage") == 2){ SetPlayerCheckpoint(playerid, 1326.6887,-1734.6566,12.9904, 10); dini_IntSet(file, "DmvStage", 3); } Incearca sa le separi prin else if si sa stergi DisablePlayerCheckpoint, la ultimul Stage la 16 este ok sa fie DisablePlayerCheckpoint __ ____ __ / |/ (_)____/ /____ _____ / /|_/ / / ___/ __/ _ \/ ___/ / / / / (__ ) /_/ __/ / /_/ /_/_/____/\__/\___/_/ SERVICII SCRIPTING DE CALITATE Pagina Scripting pawn
0 zOffline Posted November 1, 2021 Report Posted November 1, 2021 Salutare. Dacă nu ai rezolvat încă aștept pm.
0 CristianLMAO Posted November 1, 2021 Author Report Posted November 1, 2021 7 hours ago, Mister said: Salutare, La OnPlayerEnterCheckpoint, la fiecare DmvStage pe langa functia SetPlayerCheckpoint ai de asemenea functia DisablePlayerCheckpoint Poti incerca sa schimbi codul in ceva de genul pentru toate DmvStage-urile if(dini_Int(file, "DmvStage") == 1){ SetPlayerCheckpoint(playerid, 1311.3917,-1840.5356,12.9904, 10); dini_IntSet(file, "DmvStage", 2); } else if(dini_Int(file, "DmvStage") == 2){ SetPlayerCheckpoint(playerid, 1326.6887,-1734.6566,12.9904, 10); dini_IntSet(file, "DmvStage", 3); } Incearca sa le separi prin else if si sa stergi DisablePlayerCheckpoint, la ultimul Stage la 16 este ok sa fie DisablePlayerCheckpoint Ms mult pwp!
0 CristianLMAO Posted November 1, 2021 Author Report Posted November 1, 2021 5 hours ago, zOffline said: Salutare. Dacă nu ai rezolvat încă aștept pm. Nu mai e nevoie ms!
Question
CristianLMAO
Salut!
Codul:
Cand compilez, nu se intampla nimic, dar in joc, cand intru in checkpoint imi activeaza toate checkpointurile
Stiu ce am facut gresit, dar nu stiu sa rezolv.
Check-pointurile sunt la OnPlayerEnterCheckpoint.
Multumesc!
4 answers to this question
Recommended Posts