Jump to content

[REZOLVAT] Problema sistem pet


ezeq.nacusse
 Share

Recommended Posts

  • Username : ezeq.nacusse
  • Problema întâlnită: nu mi se ataseaza petul
  • Detalii despre problemă: -
  • Ce ai încercat să faci înainte să postezi?: -
  • Cod sursa (recomandat pastebin.com) : 
    Quote

    case 23: {
                        if(PlayerInfo[playerid][pPet] == 1)
                        return SendClientMessage(playerid, -1, "Ai deja un Pet.");
                        PlayerInfo[playerid][pPet] = 1;
                        Update(playerid, pPetx);
                        PlayerInfo[playerid][pPetLoialitate] ++;
                        Update(playerid, pPetLoialitatex);
                        PlayerInfo[playerid][pPetLevel] = 1;
                        Update(playerid, pPetLevelx);
                        PlayerInfo[playerid][pPetStatus] = 1;
                        Update(playerid, pPetStatusx);
                        strmid(PlayerInfo[playerid][pPetName], "GTA-SA", 0, 20);
                        Update(playerid, pPetNamex);
                        PlayerInfo[playerid][pPremiumPoints] -= GetPVarInt(playerid, "PremiumPoints");
                        SCM(playerid, COLOR_GOLD, "Felicitari! Ai cumparat un Pet pentru 20 puncte premium, foloseste comanda /pet pentur mai multe informatii.");
                        format(string, sizeof(string), "%s si-a achizitionat un pet pentru 20 puncte premium.", GetName(playerid));
                        InsertLog(playerid, string, LOG_SHOP);
                    }

    case DIALOG_PET: {
                if(!response)
                     return true;
                 new szDialog[500];
                 switch(listitem) {
                     case -1: {
                        strcat(szDialog, "Pentru mai multe detalii, acceseaza in browser burned.ro/panel/shop");
                    }
                     case 0: {
                         format(string, sizeof(string), "Numele petului {1ECC14}%s\nScrie numele petului nou:", PlayerInfo[playerid][pPetName]);
                         strcat(szDialog, string);
                        ShowPlayerDialog(playerid, DIALOG_PET+1, DIALOG_STYLE_INPUT, "Schimbare nume pet", szDialog, "Select", "Close");
                     }
                     case 1: {
                         switch(PlayerInfo[playerid][pPetStatus]) {
                             case 0: attachPet(playerid, 1);
                             case 1: desattachPet(playerid, 1);
                         }
                         Update(playerid, pPetStatusx);
                         ShowPet(playerid);
                     }
                     case 2: {
                         format(string, sizeof(string), "Momentan pet-ul tau primeste %d bani la payday", GetMoneyPet(playerid));
                         SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                     }
                     case 3: {
                         if(PlayerInfo[playerid][pPetLoialitate] != 60) {
                             format(string, sizeof(string), "Nu poti sa avansezi petul deoarece ai %d puncte de loialitate din 60.", PlayerInfo[playerid][pPetLoialitate]);
                             SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                         }
                     }
                 }
                 SelectedItem[playerid] = listitem;
             }
             case DIALOG_PET+1: {
                 if(!response)
                     return true;
                 switch(SelectedItem[playerid]) {
                     case 0: {
                         if(strlen(inputtext) < 3 && strlen(inputtext) > 20)
                             return SendClientMessage(playerid, COLOR_SERVER, "Numele trebuie sa contina intre 3 si 20 de caractere");
                         new numepet[21];
                         mysql_real_escape_string(inputtext, numepet);
                         strmid(PlayerInfo[playerid][pPetName], numepet, 0, strlen(numepet), 20);
                         Update(playerid, pPetNamex);
                         format(string, sizeof(string), "Noul nume al petului este: %s", PlayerInfo[playerid][pPetName]);
                         SendClientMessage(playerid, COLOR_YELLOW, string);
                         SelectedItem[playerid] = 0;
                     }
                 }
            }

    CMD:pet(playerid, params[], help) {
         if(PlayerInfo[playerid][pPet] != 1) return SendClientMessage(playerid, -1, "Pentru a folosi aceasta comanda trebuie sa ai un pet.");
         ShowPet(playerid);
         return true;
    }

    function GetMoneyPet(playerid) {
         new money = 0;
         switch(PlayerInfo[playerid][pPetLevel]) {
             case 1: money += 10000;
             case 2..3: money += 20000;
             case 4..5: money += 30000;
             case 6..7: money += 40000;
             case 8..9: money += 40000;
             case 10: money += 50000;
    }
         return money;
    }

    function attachPet(playerid, type) {
         PlayerInfo[playerid][pPetStatus] = 1;
         Update(playerid, pPetStatusx);
         new string[30];
         format(string, sizeof(string), "%s", PlayerInfo[playerid][pPetName]);
        Update3DTextLabelText(PetLabel[playerid], COLOR_LIGHTRED, string);
         Attach3DTextLabelToPlayer(PetLabel[playerid], playerid, -0.045999, 0.001999, 0.3);
         switch(PlayerInfo[playerid][pPetLevel]) {
             case 1: SetPlayerAttachedObject(playerid, 2, 19078, 4, -0.045999, 0.001999, 0.032999, -170.800079, -173.200027, -4.200003, 1.000000, 1.000000, 1.000000);
             case 2: SetPlayerAttachedObject(playerid, 2, 1609, 4, -0.112999, -0.001999, 0.046999, 1.799999, -96.899940, 163.299697, 0.140000, 0.145999, 0.216999);
             case 3: SetPlayerAttachedObject(playerid, 2, 1608, 4, -0.105999, -0.008999, 0.044999, -10.400013, -99.200035, 153.499328, 0.056999, 0.077000, 0.081999);
             case 4: SetPlayerAttachedObject(playerid, 2, 1608, 4, -0.067999, 0.000000, 0.031000, 18.800006, -98.699981, -176.700149, 0.191999, 0.129999, 0.129999);
         }
         if(type == 1) SCM(playerid, COLOR_YELLOW, "Ti-ai chemat animalul de companie cu succes.");
         return 1;
    }

    function desattachPet(playerid, type) {
         PlayerInfo[playerid][pPetStatus] = 0;
         Update(playerid, pPetStatusx);
         Update3DTextLabelText(PetLabel[playerid], -1, "");
         RemovePlayerAttachedObject(playerid, 2);
         if(type == 1) SCM(playerid, COLOR_YELLOW, "Ti-ai gonit animalul de companie cu succes.");
         return 1;
    }

    function ShowPet(playerid) {
         new string[180], szDialog[1000];
         strcat(szDialog, "{FFE100}($) Preturi si informatii{FFFFFF}\n");
        format(string, sizeof(string), "Nume Pet\t{1ECC14}%s\n", PlayerInfo[playerid][pPetName]);
         strcat(szDialog, string);
         if(PlayerInfo[playerid][pPetStatus] == 0) format(string, sizeof(string), "Status\t{FF0000}Sleeping\n");
         else format(string, sizeof(string), "Status\t{1ECC14}Active\n");
         strcat(szDialog, string);
         strcat(szDialog, "Beneficii pet\t\n");
         if(PlayerInfo[playerid][pPetLoialitate] == 60) format(string, sizeof(string), "Avanseaza Pet\t{1ECC14}60/60\n");
         else format(string, sizeof(string), "Avanseaza Pet\t{FF0000}%d/60\n", PlayerInfo[playerid][pPetLoialitate]);
         strcat(szDialog, string);
         
         new title[180];
         format(title, 256, "Petul %s", PlayerInfo[playerid][pPetName]);
         ShowPlayerDialog(playerid, DIALOG_PET, DIALOG_STYLE_LIST, title, szDialog, "Select", "Close");
         return true;
    }

     

  • Alte detalii :
Link to comment
Share on other sites

  • Administrator

De ce faci topic cu problema la categoria 'Probleme Rezolvate'? 

....

Topic mutat la categoria corespunzatoare.

...

Pentru atasamanetul pe umar, trebuie sa folosesti index-ul 6, nu 2.

 

Exemplu: 

SetPlayerAttachedObject(playerid, 6, ..

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...