Geplaatst: 7 oktober 201014 jaren comment_1734641 Oke, nou, ik heb een error bij deze script, ik vermoed dat het heeft te maken met "str" bij deze line: dcmd_housename(playerid,params[]) { #pragma unused params new str[256],pname[24],housenumber; housenumber = GetHouseID(playerid); GetPlayerName(playerid, pname, 24); new housename[24]; //Housess = (houseid, Housess, 24); format(str, sizeof(str), "Houses/houseid%d", housenumber); if(strcmp(hInfo[housenumber][Name],pname,true)==0) { SendClientMessage(playerid, c_y, "House name set!"); dini_IntSet(str,"Housess", housename); hInfo[housenumber][Housess] = housename; } else if(strcmp(hInfo[housenumber][Renter],pname,true)==0) { SendClientMessage(playerid, c_y, "House name set."); dini_IntSet(str,"Housess", housename); hInfo[housenumber][Housess] = housename; } else { SendClientMessage(playerid, c_r, "This house isn't yours!"); } return 1; } dini_IntSet(str,"Housess", housename); Error: error 035: Argument type mismatch (argument 3) Bewerkt: 8 oktober 201014 jaren door Gast
Geplaatst: 8 oktober 201014 jaren comment_1734724 Al een heel tijdje geleden dat ik nog in Pawno heb gescript, maar... if (sscanf(params, "dd", housename)) return SendClientMessage(playerid, c_r, "USAGE: /housename <name of the house>"); d staat voor een integer, en jij hebt een string nodig, ik dacht dat de letter s voor een string stond. *even opgezocht in men oude server* Ja, inderdaad, dus je moet die lijn veranderen in: if (sscanf(params, "s", housename)) return SendClientMessage(playerid, c_r, "USAGE: /housename <name of the house>");
Geplaatst: 8 oktober 201014 jaren comment_1734765 Dom dom dom, ik gebruik helemaal geen temp of wat dan ook! Hartstikke dom, geen wonder dat het niet werkt. Bewerkt: 8 oktober 201014 jaren door Gast
Geplaatst: 8 oktober 201014 jaren comment_1734772 Oke, nou, ik heb een error bij deze script, ik vermoed dat het heeft te maken met "str" bij deze line: dcmd_housename(playerid,params[]) { #pragma unused params new str[256],pname[24],housenumber; housenumber = GetHouseID(playerid); GetPlayerName(playerid, pname, 24); new housename[24]; //Housess = (houseid, Housess, 24); format(str, sizeof(str), "Houses/houseid%d", housenumber); if(strcmp(hInfo[housenumber][Name],pname,true)==0) { SendClientMessage(playerid, c_y, "House name set!"); dini_IntSet(str,"Housess", housename); hInfo[housenumber][Housess] = housename; } else if(strcmp(hInfo[housenumber][Renter],pname,true)==0) { SendClientMessage(playerid, c_y, "House name set."); dini_IntSet(str,"Housess", housename); hInfo[housenumber][Housess] = housename; } else { SendClientMessage(playerid, c_r, "This house isn't yours!"); } return 1; } dini_IntSet(str,"Housess", housename); Error: error 035: Argument type mismatch (argument 3) Edit:(oops, pardon, sorry voor de dubbel post) Edit2: Ik ben erachter gekomen dat hij compiled zonder problemen als ik new housename[24]; verander naar new housename;. Maarrr, dan werkt het dus niet. Edit3: Ik heb nu Dini_set geprobeert, ik krijg geen errors als ik compile, maar dan werkt hij dus ook niet. Bewerkt: 8 oktober 201014 jaren door Gast
Geplaatst: 9 oktober 201014 jaren comment_1735343 •Heb geduld voor het krijgen van een antwoord, ga niet onnodig topics bumpen. ^uit de scripting forum regels^ bumpen is verboden
Geplaatst: 9 oktober 201014 jaren comment_1735412 @Hierboven: Moderator gedrag ook. @Het probleem: Om tekst (string) op te slaan heb je in ieder geval dini_Set nodig, aangezien dini_IntSet alleen maar gehele getallen (integers) kan opslaan. En zo te zien lijkt het alsof je bent vergeten een waarde toe te kennen aan housename, waardoor je dus een lege string in de file zet. Ik ga er vanuit dat je zoiets wilt maken? /housename [name] In dat geval heb je de params wel nodig, dus haal die pragma alvast weg. De variabele heb je dan eigenlijk ook niet meer nodig, aangezien je die kan vervangen door params zelf.
Geplaatst: 10 oktober 201014 jaren comment_1735813 @Hierboven: Moderator gedrag ook. @Het probleem: Om tekst (string) op te slaan heb je in ieder geval dini_Set nodig, aangezien dini_IntSet alleen maar gehele getallen (integers) kan opslaan. En zo te zien lijkt het alsof je bent vergeten een waarde toe te kennen aan housename, waardoor je dus een lege string in de file zet. Ik ga er vanuit dat je zoiets wilt maken? /housename [name] In dat geval heb je de params wel nodig, dus haal die pragma alvast weg. De variabele heb je dan eigenlijk ook niet meer nodig, aangezien je die kan vervangen door params zelf. Ik heb dat zojuist gedaan, maar het werkt nog niet.
Geplaatst: 12 oktober 201014 jaren comment_1736454 Dit is mijn code: dcmd_housename(playerid,params[]) { new pname[24],housenumber; housenumber = GetHouseID(playerid); GetPlayerName(playerid, pname, 24); //Housess = (houseid, Housess, 24); new tmp[256], Index; tmp = strtok(params,Index); new housename = strval(tmp), str[256]; format(str, sizeof(str), "Houses/houseid%d", housenumber); if(strcmp(hInfo[housenumber][Name],pname,true)==0) { SendClientMessage(playerid, c_y, "House name set!"); dini_Set(str,"Housess", housename); hInfo[housenumber][Housess] = housename; } else if(strcmp(hInfo[housenumber][Renter],pname,true)==0) { SendClientMessage(playerid, c_y, "House name set."); dini_Set(str,"Housess", housename); hInfo[housenumber][Housess] = housename; } else { SendClientMessage(playerid, c_r, "This house isn't yours!"); } return 1; } Ik krijg nu alweer "argument type mismatch" bij de 2 dini_Set's.
Geplaatst: 12 oktober 201014 jaren comment_1736466 Wacht even hoor, want volgens mij snap je het zelf niet. Eerst doe je een strtok op params, wat nergens goed voor is. Daarna maak je een variabele housename, waar je vervolgens weer een getal in steekt. dcmd_housename(playerid, params[]) { if(!strlen(params)) return SendClientMessage(playerid, COLOR_RED, "Usage: /housename [new name]"); new file[32], pname[24], housenumber; GetPlayerName(playerid, pname, sizeof(pname)) housenumber = GetHouseID(playerid); format(file, sizeof(file), "Houses/houseid%d", housenumber); if( !strcmp(hInfo[housenumber][Name], pname) || !strcmp(hInfo[housenumber][Renter], pname) ) { strmid(hInfo[housenumber][Housess], params, 0, sizeof(hInfo[housenumber][Housess])) dini_Set(file, "Housess", hInfo[housenumber][Housess]); SendClientMessage(playerid, c_y, "House name set."); } else { SendClientMessage(playerid, c_r, "This house isn't yours!"); } return 1; }
Geplaatst: 12 oktober 201014 jaren comment_1736532 Wacht even hoor, want volgens mij snap je het zelf niet. Eerst doe je een strtok op params, wat nergens goed voor is. Daarna maak je een variabele housename, waar je vervolgens weer een getal in steekt. dcmd_housename(playerid, params[]) { if(!strlen(params)) return SendClientMessage(playerid, COLOR_RED, "Usage: /housename [new name]"); new file[32], pname[24], housenumber; GetPlayerName(playerid, pname, sizeof(pname)) housenumber = GetHouseID(playerid); format(file, sizeof(file), "Houses/houseid%d", housenumber); if( !strcmp(hInfo[housenumber][Name], pname) || !strcmp(hInfo[housenumber][Renter], pname) ) { strmid(hInfo[housenumber][Housess], params, 0, sizeof(hInfo[housenumber][Housess])) dini_Set(file, "Housess", hInfo[housenumber][Housess]); SendClientMessage(playerid, c_y, "House name set."); } else { SendClientMessage(playerid, c_r, "This house isn't yours!"); } return 1; } Ik kan er momenteel niet naar kijken, maar ik weet zeker dat strmid(hInfo[housenumber][Housess], params, 0, sizeof(hInfo[housenumber][Housess])) een paar errors gaat geven. Ik ben niet echt bekend met dcmd, maar toch weet ik wel dat die wat errors gaat geven.
Geplaatst: 14 oktober 201014 jaren comment_1737266 Ik heb ernaar gekeken, en het levert inderdaad wat errors op.
Oke, nou, ik heb een error bij deze script, ik vermoed dat het heeft te maken met "str" bij deze line:
Error: error 035: Argument type mismatch (argument 3)
Bewerkt: door Gast