Jump to content

Question

Posted (edited)

Problema intalnita (descriere): Salut si bine v-am gasit.Am intalnit  o problema si anume,am vrut sa ''updatez'' gm-ul si sa il pun pe dialog total,ei bine am reusit asta,dar mai am doar cateva comenzi si inregistrarea de facut pe dialog.Ei bine...Ce am patit?As vrea sa stiu unde am gresit si ce trebuie facut ca sa nu mai gresesc,am incercat sa fac mai multe smecherii pe care le cunosteam,eu trebuia sa scriu sexul pe chat ca sa ma dea mai departe in tutorial etc... la varsta si asa mai departe si acum vreau sa il adaug pe dialog sub forma de intrebare(mod INPUT).Si imi da erorile astea:
Ero(area / rile) / warning-(ul / urile):

a2viata.pwn(4067) : warning 202: number of arguments does not match definition
a2viata.pwn(4067) : error 017: undefined symbol "tmp"
a2viata.pwn(4082) : error 017: undefined symbol "tmp"
Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Liniile de cod / sursa / script-ul(obligatoriu):

#define DIALOG_SEXX
if(dialogid == SEXX)
        {
           if(response)
           {
//             if(listitem == 0)
    //         {
             //EROARE  LA TMP  if((strcmp("masculin") && (strlen(tmp) == strlen("masculin")))
            {
                PlayerInfo[playerid][pSex] = 1;
                SendClientMessage(playerid, COLOR_GREEN, "Esti de sex masculin.");
                ShowPlayerDialog(playerid,VARSTA,DIALOG_STYLE_INPUT,"{F81414}Varsta","Scrie ce varsta ai!(ZI/LUNA/AN)","OK","");
                new maleskin;
                maleskin = random(sizeof(CivMalePeds));
                SetPlayerSkin(playerid, maleskin);
                PlayerInfo[playerid][pChar] = maleskin;
                RegistrationStep[playerid] = 2;
                OnPlayerUpdateEx(playerid);
                return 0;
            }
//             else if(listitem == 1)
    //         {
               //EROARE LA TMP  else if((strcmp("feminin", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("feminin")))
            {
                PlayerInfo[playerid][pSex] = 2;
                SendClientMessage(playerid, COLOR_GREEN, "Esti de sex feminin.");
                new femaleskin;
                femaleskin = random(sizeof(CivFemalePeds));
                SetPlayerSkin(playerid, femaleskin);
                SetPlayerSkin(playerid, femaleskin);
                PlayerInfo[playerid][pChar] = femaleskin;
                RegistrationStep[playerid] = 2;
                OnPlayerUpdateEx(playerid);
                ShowPlayerDialog(playerid,VARSTA,DIALOG_STYLE_INPUT,"{F81414}Varsta","Scrie ce varsta ai!(ZI/LUNA/AN)","OK","");
                return 0;
             }
           }
        }

Imagini / Video (optional):
Ati incercat sa rezolvati singur?:Va rog frumos sa ma ajutati,nu stiu ce sa ii mai fac.

Edited by WopsS
Adaugat codul formatat pentru C++.

5 answers to this question

Recommended Posts

  • 0
  • Administrator
Posted (edited)

Trebuia sa ne marchezi liniile, dar am vazut unde ai probleme deci nu imi mai trebuie.

if((strcmp("masculin") && (strlen(tmp) == strlen("masculin")))

Aici nu trebuie sa ai asa. strcmp are parametrii diferiti (din pacate nu o avem pe wiki.sa-mp.ro).

Trebuie sa ai

strcmp("text1", "text2", true) // De ce ultimul parametru este "true" (adevarat)? Pai pentru ca vrei sa ignori diferentele de litere mari si litere mici.

Aici compari text1 cu text2 sa vezi daca sunt egale, dar nu sunt. Daca vrei sa fie egale trebuie sa fie text1 si text1.

La tine o sa fie urmatorul cod

strcmp("masculin", inputtext, true)

Aici

(strlen(tmp) == strlen("masculin"))

sincer nu ii vad rostul.

De ce?

Pentru ca tu deja compari fiecare caracter sa vezi daca cele doua texte sunt egale, deci n-o sa fie unul mai mare ca celalalt.

Ce poti sa mai faci acolo?

Sa pui ultimul parametru la strcmp (dupa true) sa fie

strlen("masculin")

Dar ai grija, daca jucatorul o sa scrie Masculin ca vreau si tu o sa compari primele 8 caractere, deci o sa ia doar Masculin din ce a scris jucatorul. (La fel, zic ca nu isi are rostul)

 

La fel si la

else if((strcmp("feminin", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("feminin")))

 

Edited by WopsS
  • Upvote 1
  • 0
Posted

WopsS nu ma intelege gresit,dar acolo este problema,fiindca eu doresc sa elimin ca sa scriu pe chat feminin, sau masculin,vreau sa il introduc direct in dialog.

 

O sa incerc cum ai spus tu si revin cu un raspuns in maxim 10 minute.

  • 0
Posted

Bine,totul merge bine dar am intrat in banca si s-a creat un bug,si anume intru in banca si nu mai pot iesi,adica intru,apas din nou F sa ies si ies pentru o secunda,dupa care ma da inapoi in banca.

Ce pot face?
 

  • 0
  • Administrator
Posted

Te rog sa deschizi alt subiect cu aceasta problema si marcheaz-o pe aceasta ca rezolvata. (Apasa pe bifat de langa raspunsul care te-a ajutat)

Guest
This topic is now closed to further replies.
×
×
  • 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.