Jump to content

KruZZ

Membru
  • Posts

    45
  • Joined

  • Last visited

  • Days Won

    3

Posts posted by KruZZ

  1. public OnPlayerDeath(playerid, killerid, reason)
    {
        new oldlevel;
         new newlevel;
          oldlevel = GetPlayerWantedLevel(killerid);
           newlevel = oldlevel + 1;
        new plFaction = P_Data[killerid][pMember] + P_Data[killerid][pLeader];
        if(plFaction != 1) { 
            SetPlayerWantedLevel(killerid, newlevel);
            SendClientMessage(killerid, COLOR_BRIGHTRED,"Your wanted level is increased!"); 
        }
        else
        {
            if(GetPlayerWantedLevel(playerid) != 0)   {
                new moneyAmount = 1000 * GetPlayerWantedLevel(playerid), stringCop[128];
                GivePlayerMoney(killerid,moneyAmount);
                SetPlayerWantedLevel(playerid, 0);
                format(stringCop, 128, "You've killed a criminal and earned $%i", moneyAmount); 
                SendClientMessage(killerid, COLOR_COP, stringCop[128]);
            }
        }
        return 1;
    }

    Încearcă așa, probabil erai lider.

  2. Deci, nu prea am înțeles ce vrei să facă script-ul. Să înțeleg că atunci când un player omoară pe cineva și nu e polițist să îi dea wanted, iar când e polițist să îl bage pe player-ul omorât la închisoare dacă are wanted. Am dreptate?

  3. public OnPlayerDeath(playerid, killerid, reason)
    {
        new oldlevel;
         new newlevel;
          oldlevel = GetPlayerWantedLevel(killerid);
           newlevel = oldlevel + 1;
    
        if(P_Data[killerid][pMember] != 1) { 
            SetPlayerWantedLevel(killerid, newlevel);
            SendClientMessage(killerid, COLOR_BRIGHTRED,"Your wanted level is increased!"); 
        }
        else
        {
            if(GetPlayerWantedLevel(playerid) != 0)   {
                new moneyAmount = 1000 * GetPlayerWantedLevel(playerid), stringCop[128];
                GivePlayerMoney(killerid,moneyAmount);
                SetPlayerWantedLevel(playerid, 0);
                format(stringCop, 128, "You've killed a criminal and earned $%i", moneyAmount); 
                SendClientMessage(killerid, COLOR_COP, stringCop[128]);
            }
        }
        return 1;
    }

    Înceacă așa.

  4. CMD:mobil(playerid, params[])
    {
        if(P_Data[playerid][pAdminLevel] < 1) return SendClientMessage(playerid, -1, "[*] You're not a level 1+ admin!");
        new str[128],id,pname[MAX_PLAYER_NAME];
        new query[200];
        P_Data[playerid][pmobil] += 1;
        if(sscanf(params, "us", id, params)) SendClientMessage(playerid, 0xFF0000FF, "Usage: /mobil<id> <pentu>");
        else if(id == INVALID_PLAYER_ID) SendClientMessage(playerid, 0xFF0000FF, "ERROR: Player not connected");
           GetPlayerName(playerid, pname, sizeof(pname));
           mysql_format(handle, query, sizeof(query), "UPDATE `account` SET `mobil`='%d' WHERE `username`='%e'",P_Data[playerid][pDosar], pname);// se face update la baza de date a playerului
        mysql_query(handle, query);// se trimite mesajul catre baza de date.
        if(playerid == id) SendClientMessage(playerid, 0xFF0000FF, "ERROR: You cannot pm yourself!");
        else
        {
            GetPlayerName(playerid, pname, sizeof(pname));
            format(str, sizeof(str), "{FFFF00}Ai primit dosar {FFFFFF} %s {FFFF00}mobil: [%s].", pname, params);
            SendClientMessage(id, 0xFF0000FF, str);
            GetPlayerName(id, pname, sizeof(pname));
            format(str, sizeof(str), "{FFFF00}I-ai dat lui {FFFFFF} %s {FFFF00} ", pname, params);
            SendClientMessage(playerid, 0xFF0000FF, str);
        }
        return 1;
    }

    Încearcă așa.

    // edit: s-ar putea să îți dea erori în baza de date de la acel „username” pus de mine, modifici cu ce ai tu în baza de date

     

  5. stock savePlayerData(const playerid)
    {
    	if(PlayerData[playerid][pStatus] >= 1 || PlayerData[playerid][pStatus] == -1)
    	{
    		new saveQuery[1000];
    		if(PlayerData[playerid][pStatus] == -1) PlayerData[playerid][pStatus] = 0;
    
    		format(saveQuery, sizeof(saveQuery), "UPDATE playeraccounts SET playerGift = '%d', playerBanned = '%d', playerSeconds = '%d', playerSkin = '%d', playerMoney = '%d', playerBankMoney = '%d', playerHouse = '%d', playerBusiness = '%d' WHERE playerID = '%d'",
    		PlayerData[playerid][pGift], PlayerData[playerid][pBanned], PlayerData[playerid][pSeconds], PlayerData[playerid][pSkin], PlayerData[playerid][pMoney], PlayerData[playerid][pBankMoney], PlayerData[playerid][pHouse], PlayerData[playerid][pBusiness],PlayerData[playerid][pInternalID]);
    		mysql_tquery(handle,saveQuery);
    		
    	}
    
    	return 1;
    }
    
    Și rândurl ăsta e pus chiar după celălalte, acolo unde se încarcă.
    cache_get_field_content(0, "playerGift", result); PlayerData[extraid][pGift] = strval(result);

     

    În baza de date, trebuie să faci în loc de „Gift”, „playerGift”, pentru că așa o salvezi:

    playerGift = '%d'
  6. Folosind INSERT, tu acolo practic creezi încă o linie în baza de date. Ca să o pui pe linia creată pentru player, folosește UPDATE.

     

    Adica, în loc de:

    mysql_format(handle, query, sizeof(query), "INSERT INTO  evo_account (email) VALUES ('%s')", inputtext);// se insereaza in tabelul cu conturi numele playerului, parola pe care a scris-o si ip pe care il are
                    mysql_query(handle, query);// se va trimite setarile si se va interoga callback-ul OnRegistration

    Ar fi:

     

    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
    mysql_format(handle, query, sizeof(query), "UPDATE `evo_account` SET `email` = '%e' WHERE `Nume` = '%e'", inputtext, playername);
    mysql_query(handle, query);

     

    Ca să înțelegi, când player-ul își face cont, un nou item se creează în tabelul „evo_account”. Când își bagă e-mail-ul, tu trebuie să updatezi acel item creat în acel tabel. Ca să faci asta, îl identifici după ceva anume. Aici l-am identificat după nume.

    În mysql_format îți recomand să folosești specifier-ul „%e”, ca să te păzești de sql injection. Poți citi despre sql injection aici: http://www.w3schools.com/sql/sql_injection.asp.

    Dacă vrei să înveți limbajul SQL, poți intra aici: http://www.w3schools.com/sql/default.asp

  7. Poziţie: scripter / mapper / altceva (specificaţi): scripter
    Ce servicii pot oferi: Pot realiza/edita sisteme si gamemode-uri la cererea clientului (prețul variază în funcție de complexitate). De asemenea, pot realiza UCP-uri moderne, cu design ales de client (variază de asemenea în funcție de complexitatea scripturilor). 
    Alte detalii: Timpul de execuție variază în funcție de timpul meu liber. Plata se face după testarea lucrării, dar nu dau primul. Prețurile le negociem în privat. Îmi dați PM cu ID-ul vostru de Skype si discutăm. Plata se face numai prin PaySafe Card.

×
×
  • 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.