Jump to content

[HELP] aHouse systeem, SendClientMessage -> GameTextForPlayer


Gast

Recommended Posts

Jouw code:

if(strcmp(hInfo[housenumber][Name],pname,true)==0)
new housename
{
SendClientMessage(playerid, c_y, "House name has been set!");
hInfo[housenumber][Housess] = housename;
}
else {
    SendClientMessage(playerid, c_r, "This house isn't yours!");
}
return 1;
}

De eerste regel is een if.

Alleen is deze helemaal niet van toepassing, dit komt door new housename.

Want zoals het er nu staat zou je die bovenste regel weg kunnen laten, en dan zie je de fout.

new housename
{
SendClientMessage(playerid, c_y, "House name has been set!");
hInfo[housenumber][Housess] = housename;
}
else {
    SendClientMessage(playerid, c_r, "This house isn't yours!");
}
return 1;
}

Een { moet (bijna?) altijd achter een if.

Dat ik dat niet heb gezien.

Bedankt!

Link to comment
Delen op andere websites

Weet iemand misschien wat er aan de hand is?

dcmd_housename(playerid,params[])
{
   #pragma unused params
new str1[256],pname[24],housenumber;
housenumber = GetHouseID(playerid);
GetPlayerName(playerid, pname, 24);
format(str1, sizeof(str1), "Houses/houseid%d", housenumber);
new housename;
if(strcmp(hInfo[housenumber][Name],pname,true)==0)
{
SendClientMessage(playerid, c_y, "House name has been set!");
hInfo[housenumber][Housess] = housename;
}
else {
    SendClientMessage(playerid, c_r, "This house isn't yours!");
}
return 1;
}

Deze command doet niks.

edit:

Ik heb de command nu anders gemaakt maar hij geeft bij deze else { een error 008

dcmd_housename(playerid,params[])
{
   #pragma unused params
new str[256],str1[256],pname[24],housenumber;
housenumber = GetHouseID(playerid);
GetPlayerName(playerid, pname, 24);
format(str1, sizeof(str1), "Houses/houseid%d", housenumber);
str = dini_Get(str1,"Name");
if (strcmp(str,pname,true)) return SendClientMessage(playerid, c_r, "This house isn't yours!");
new housename;
if (sscanf(params, "dd", housename)) return SendClientMessage(playerid, c_r, "USAGE: /housename <name of the house>");	
else if {
SendClientMessage(playerid, c_y, "House name has been set!");
hInfo[housenumber][Housess] = housename;
dini_IntSet(str1, "Housess", housename);
return 1;
}

Error: Bij de SendClientMessage zegt hij: error 008: Must be a constant expression; assumed zero.

Als ik die verwijder, gaat ie naar hInfo.

En als ik die verwijder gaat ie naar dini_IntSet

Bewerkt: door Gast
Link to comment
Delen op andere websites

bij een else if moet er wel (net als bij gewoon een if) een check staan

bijvoorbeeld:

else if(1==1){dingen}

oh, ik wist niet dat ik 'if' had.

Maar de command doet nog steeds niks ingame..

Bewerkt: door Gast
Link to comment
Delen op andere websites

Even reconstrueren.

dcmd_housename(playerid,params[])
{
   new 
       str[128],
       str1[128],
       pname[24],
       housenumber,
       housename;

   housenumber = GetHouseID(playerid);
   GetPlayerName(playerid, pname, 24);
   format(str1, sizeof(str1), "Houses/houseid%d", housenumber);
   str = dini_Get(str1,"Name");

   if (strcmp(str,pname,true)) return SendClientMessage(playerid, c_r, "This house isn't yours!");

   if (sscanf(params, "d", housename)) return SendClientMessage(playerid, c_r, "USAGE: /housename <name of the house>");  

   SendClientMessage(playerid, c_y, "House name has been set!");
   hInfo[housenumber][Housess] = housename;
   dini_IntSet(str1, "Housess", housename);

   return 1;
}

- Jij had #pragma unused params, terwijl je params wel degelijk gebruikt.

- strings van 256 cells zijn veel te groot. Die gebruik je bijna nooit. Voor zover ik weet alleen in MySQL voor lange queries.

- else if heb je niet nodig in dit geval. Het commando wordt automatisch afgekapt als het huis niet van de speler is, of bij verkeerd gebruik.

- Verder snap ik de bedoeling niet echt ... Housename. En jij wil er een nummer aan toekennen.

Link to comment
Delen op andere websites

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...