Hallo
ich bin grade dabei ein Haussystem zu schreiben.
und bei der Speicherfunktion kommen erros
Also hie rmal der Stock
stock SaveHaus()
{
for(new i; i<MAX_HAUSER;i++)
{
mysql_SetString("hauser", "Besitzer", Haus[i][Owner], "ID", i);
mysql_SetFloat("hauser", "ax", Haus[i][ax], "ID", i);
mysql_SetFloat("hauser", "ay", Haus[i][ay], "ID", i);
mysql_SetFloat("hauser", "az", Haus[i][az], "ID", i);
mysql_SetFloat("hauser", "ix", Haus[i][ix], "ID", i);
mysql_SetFloat("hauser", "iy", Haus[i][iy], "ID", i);
mysql_SetFloat("hauser", "iz", Haus[i][iz], "ID", i);
mysql_SetInt("hauser", "interior", Haus[i][interior], "ID", i);
mysql_SetInt("hauser", "virtual_world", Haus[i][vworld], "ID", i);
mysql_SetInt("hauser", "kosten", Haus[i][kosten], "ID", i);
mysql_SetInt("hauser", "nicht_zum_kauf", Haus[i][kaufen], "ID", i);
mysql_SetInt("hauser", "verschlossen", Haus[i][schloss], "ID", i);
mysql_SetInt("hauser", "Heal", Haus[i][heal], "ID", i);
mysql_SetInt("hauser", "Armour", Haus[i][armour], "ID", i);
}
return 1;
}
und überall wo mysql_.,.. steht kommt der error
error 035: argument type mismatch (argument 5)
-
-
haste das MySQL Plugin?
-
Ja habe ich drine von gstylezzz
-
welche include nutzt du?
((1000 Beitrag *freu*))
-
ich nutze a_mysql
-
stock SaveHaus()
{
new str[2];
for(new i; i<MAX_HAUSER;i++)
{
valstr(i,str);
mysql_SetString("hauser", "Besitzer", Haus[i][Owner], "ID",str);
mysql_SetFloat("hauser", "ax", Haus[i][ax], "ID", str);
mysql_SetFloat("hauser", "ay", Haus[i][ay], "ID", str);
mysql_SetFloat("hauser", "az", Haus[i][az], "ID", str);
mysql_SetFloat("hauser", "ix", Haus[i][ix], "ID", str);
mysql_SetFloat("hauser", "iy", Haus[i][iy], "ID", str);
mysql_SetFloat("hauser", "iz", Haus[i][iz], "ID", str);
mysql_SetInt("hauser", "interior", Haus[i][interior], "ID", str);
mysql_SetInt("hauser", "virtual_world", Haus[i][vworld], "ID", str);
mysql_SetInt("hauser", "kosten", Haus[i][kosten], "ID", str);
mysql_SetInt("hauser", "nicht_zum_kauf", Haus[i][kaufen], "ID",str);
mysql_SetInt("hauser", "verschlossen", Haus[i][schloss], "ID", str);
mysql_SetInt("hauser", "Heal", Haus[i][heal], "ID", str);
mysql_SetInt("hauser", "Armour", Haus[i][armour], "ID",str);
}
return 1;
} -
Okay noch 1 error jetzt
error 035: argument type mismatch (argument 1)
wegen
valstr(i,str); -
Ersetz das durch "valstr(str,i);", ich hab die Params vertauscht <.<
-
Okay habs auch bemerkt wo ich genau hibgeschazt habe.
//edit so habe alle shingekricht mal testen obs geht/edit
geht nicht wenn ich hauserstellen mache sag er mir direkt ich erstelle das 500e haus obwohl das das erste istFrage:
Wie mach eich das wenn in der db 0 Hauser sind er nix laden muss bzw. wenn in der db 2 Hauser sind auch nur 2 lädt und nicht 500
weil ich habe den code so
stock LoadHaus()
{
new str[3];
for(new i; i<sizeof(Haus);i++)
{
valstr(str,i);
Haus[i][ID] = mysql_GetInt("hauser", "ID", "ID", str);
Haus[i][Owner] = mysql_GetString("hauser", "Besitzer", "ID", str);
Haus[i][ax] = mysql_GetFloat("hauser", "ax", "ID", str);
Haus[i][ay] = mysql_GetFloat("hauser", "ay", "ID", str);
Haus[i][az] = mysql_GetFloat("hauser", "az", "ID", str);
Haus[i][ix] = mysql_GetFloat("hauser", "ix", "ID", str);
Haus[i][iy] = mysql_GetFloat("hauser", "iy", "ID", str);
Haus[i][iz] = mysql_GetFloat("hauser", "iz", "ID", str);
Haus[i][interior] = mysql_GetInt("hauser", "interior", "ID", str);
Haus[i][vworld] = mysql_GetInt("hauser", "virtual_world", "ID", str);
Haus[i][kosten] = mysql_GetInt("hauser", "kosten", "ID", str);
Haus[i][kaufen] = mysql_GetInt("hauser", "nicht_zum_kauf", "ID", str);
Haus[i][schloss] = mysql_GetInt("hauser", "verschlossen", "ID", str);
Haus[i][heal] = mysql_GetInt("hauser", "Heal", "ID", str);
Haus[i][armour] = mysql_GetInt("hauser", "Armour", "ID", str);
hausid++;
}
return 1;
}mit hausid arbeit eich dann bei /hauserstellen
und so sieht es da ausif(strcmp(strget(cmdtext,0),"/hauserstellen",true) == 0)
{
new Float:x, Float:y, Float:z;
if(IsPlayerConnected(playerid))
{
if(pDaten[playerid][AdminLevel] >= 2000 || IsPlayerAdmin(playerid))
{
if(!strlen(strget(cmdtext,1)) || !strlen(strget(cmdtext,2)))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /hauserstellen [Type1-12] [Kosten]");
return 1;
}
new HausType;
new money;
HausType = strval(strget(cmdtext,1));
money = strval(strget(cmdtext,2));
if (pDaten[playerid][AdminLevel] >= 2000 || IsPlayerAdmin(playerid))
{
if(IsPlayerConnected(playerid))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "AdminSystem: %s hat das %d' erstellt!",sendername,hausid);
SendAdminMessage(COLOR_LIGHTRED,string);
GetPlayerPos(playerid,x,y,z);
hausid++;
strmid(Haus[hausid][Owner],"Keiner",0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
Haus[hausid][ax] = x;
Haus[hausid][ay] = y;
Haus[hausid][az] = z;
Haus[hausid][ix] = HausInterior [HausType][xx];
Haus[hausid][iy] = HausInterior [HausType][yy];
Haus[hausid][iz] = HausInterior [HausType][zz];
Haus[hausid][interior] = HausInterior [HausType][Inter];
Haus[hausid][vworld] = hausid+100;
Haus[hausid][kosten] = money;
Haus[hausid][kaufen] = 0;
Haus[hausid][schloss] = 1;
Haus[hausid][heal] = 0;
Haus[hausid][armour] = 0;
Haus[hausid][pickid] = CreatePickup(1273,1,x,y,z,0);
format(cmd,sizeof(cmd),"Besitzer : %s\nKosten : %d",Haus[hausid][Owner],money);
Haus[hausid][lbl_haus] = Create3DTextLabel(cmd,COLOR_GREEN,Haus[hausid][ax], Haus[hausid][ay], Haus[hausid][az]+1,15.0,0);
Haus[hausid][icon_id] = iAddStreamIcon(x,y,z,31,0);
SaveHaus();
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD1, "Das darfst du nicht tun!");
}
}
return 1;
} Hier sagt er mir nur Bla hat das 500 Haus erstellt obwohl das das erste ist udn speichern tut er das dann auch nicht//edit Wie kann ich hichzählen nur wenn er was in der db findet und wenn er nix findet auf der stelle x dann soll er nicht mehr hochzählen . weis wer was ich meine oder wie es geht
-
breadfish.de
Hat das Thema geschlossen.