Geplaatst: 11 april 201015 jaren comment_1626916 Daar ben ik weer, Ik heb een probleempje met mijn GameTextForPlayer met het aHouse systeem. Dit was de code: stock GetHouseStats(playerid, hid) { new str2[256]; format(str2, sizeof(str2), "Owned by: %s", hInfo[hid][Name]); SendClientMessage(playerid, c_y, str2); if(strcmp(hInfo[hid][Renter],"ForRent",true)) { format(str2, sizeof(str2), "Rented by: %s", hInfo[hid][Renter]); SendClientMessage(playerid, c_y, str2); } format(str2,sizeof(str2),"Cost: %i",hInfo[hid][Cost]); SendClientMessage(playerid, c_y, str2); } Dit is de code nu: stock GetHouseStats(playerid, hid) { new str2[256]; format(str2, sizeof(str2), "Owned by: %s", hInfo[hid][Name]); GameTextForPlayer(playerid, str2, 3000, 6); if(strcmp(hInfo[hid][Renter],"ForRent",true)) { format(str2, sizeof(str2), "Rented by: %s", hInfo[hid][Renter]); GameTextForPlayer(playerid, str2, 3000, 6); } format(str2,sizeof(str2),"Cost: %i",hInfo[hid][Cost]); GameTextForPlayer(playerid, str2, 3000, 6); } Waarschijnlijk kunnen een paar van jullie de fout al zien, maar ik niet. Als eerst dee hij het met SendClientMessage, maar dat spamt te veel en ik vind GameTextForPlayer mooier. Maar, hij laat alleen maar de Cost zien, de owner of rent doet ie alsof het niet bestaat. Eerst dacht ik dat ik nieuwe strings aan moet maken (str3,str4) maar dat had ook geen enkel effect. Naja, nu dee Owned by: alleen. Enig idee hoe ik dit kan fixen?
Geplaatst: 15 april 201015 jaren comment_1630295 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!
Geplaatst: 15 april 201015 jaren comment_1630304 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: 16 april 201015 jaren door Gast
Geplaatst: 15 april 201015 jaren comment_1630391 bij een else if moet er wel (net als bij gewoon een if) een check staan bijvoorbeeld: else if(1==1){dingen}
Geplaatst: 15 april 201015 jaren comment_1630406 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: 16 april 201015 jaren door Gast
Geplaatst: 20 april 201015 jaren comment_1633980 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.
Daar ben ik weer,
Ik heb een probleempje met mijn GameTextForPlayer met het aHouse systeem.
Dit was de code:
Dit is de code nu:
Waarschijnlijk kunnen een paar van jullie de fout al zien, maar ik niet.
Als eerst dee hij het met SendClientMessage, maar dat spamt te veel en ik vind GameTextForPlayer mooier.
Maar, hij laat alleen maar de Cost zien, de owner of rent doet ie alsof het niet bestaat.
Eerst dacht ik dat ik nieuwe strings aan moet maken (str3,str4) maar dat had ook geen enkel effect. Naja, nu dee Owned by: alleen.
Enig idee hoe ik dit kan fixen?