ocmd:entmieten(playerid, params[])
{
#pragma unused params
new HausID = GetNearHausID(playerid), SQL[300];
if(HausID < 0)return SendClientMessage(playerid, 0xFF0000FF, "[FEHLER] {FFFFFF}Du bist nicht bei deinem Haus!");
if(!strcmp(Haus[HausID][hBesitzer], GetName(playerid)) return SendClientMessage(playerid, 0xFF0000FF, "[FEHLER] {FFFFFF}Du kannst dich nicht aus deinem eigenen Haus ausmieten!");
if(SpielerInfo[playerid][pHausgekauft] == 0)return SendClientMessage(playerid, 0xFF0000FF, "[FEHLER] {FFFFFF}Du bist nirgendwo eingemietet!");
for(new i=0; i<30; i++)
{
if(!strcmp(GetName(playerid), HausMieter[HausID][i], true))
{
SendClientMessage(playerid, 0xFF0000FF, "[H-INFO] {FFFFFF}Du hast dich erfolgreich ausgemietet!");
format(HausMieter[HausID][i], MAX_PLAYER_NAME, "-Niemand-");
return 1;
}
}
return SendClientMessage(playerid, 0xFF0000FF, "[FEHLER] {FFFFFF}Du bist hier nicht eingemietet!");
}
Beiträge von Jeffry
-
-
Ja, das liegt daran dass du kein dini verwendest, sondern etwas anderes, was es jetzt natürlich zerschossen hat.
strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
zu:
strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-2, 255);
Dann sollte es nach der neu-Registration wieder gehen.Dich selbst als Werber:
Wie sieht der Code bei OnDialogResponse bei dir jetzt aus? -
mysql_get_field("RpName",var); SpielerInfo[playerid][sRPName] = floatstr(var);
zu:
mysql_get_field("RpName",var); format(SpielerInfo[playerid][sRPName], MAX_PLAYER_NAME, var); -
Dann musst du das machen.
-
Wie lädst du den Namen aus der Datei/Datenbank?
-
-
case DIALOG_CARRADIO:
{
if(response)
{
switch(listitem)
{
case 0:
{
PlayAudioStreamForPlayer(playerid, "http://out04.t4e.dj:80/main_high.mp3");
}
case 1:
{
PlayAudioStreamForPlayer(playerid, "http://out04.t4e.dj:80/main_high.mp3");
}
case 2:
{
PlayAudioStreamForPlayer(playerid, "http://out04.t4e.dj:80/main_high.mp3");
}
}
} //Die hier hat gefehlt.
else
{
return 1;
}
}Zum if-else hat die Klammer nicht gepasst.
-
Beim Login, nachdem sRPName geladen ist:
format(string,sizeof(string),"%s",SpielerInfo[playerid][sRPName]);
SpielerInfo[playerid][pLabel] = Create3DTextLabel(string,COLOR_WHITE,30.0,40.0,50.0,40.0,0);OnPlayerSpawn:
Attach3DTextLabelToPlayer(SpielerInfo[playerid][pLabel], playerid, 0.0, 0.0, 0.7);Im enum zu SpielerInfo:
Text3D:pLabel,Und beim Disconnect löschen.
Delete3DTextLabel(SpielerInfo[playerid][pLabel]); -
Du musst den Pfad angeben, von dem du es heruntergeladen hast.
Rechtsklick -> Link Kopieren -
Und, was steht im Log?
-
PlayAudioStreamForPlayer(playerid, "http://www.wasauchimmer.xy/.../playlist.pls");
So, eben mit entsprechendem Pfad. Dem Pfad zu der .pls Datei. -
Ändere mal alle diese hier:
format(var, 32, "Werberstatusn=%d\n",PlayerInfo[playerid][pWerberStatus]);fwrite(hFile, var);
zu:
format(var, 32, "Werberstatusn=%d\r\n",PlayerInfo[playerid][pWerberStatus]);fwrite(hFile, var);Alle Zeilen davon, überall \r\n machen.
Geht es dann? (Musst dich neu registrieren!)
-
Ja. .pls = Playlist = Geht.
-
Zitat
The url to play. Valid formats are mp3 and ogg/vorbis. A link to a .pls (playlist) file will play that playlist.
-
Dann musst du darin auch Rang 10 und 11 pflegen.
-
Willkommen auf Breadfish!
Also das komplette Callback muss so aussehen, dann kannst du es einfach 1:1 übernehmen.
public OnPlayerEnterCheckpoint(playerid)
{
SendClientMessage(playerid,HELLBLAU,"Doktor sagt: Hier bitteschön. Noch einen schönen Tag!");
new string[145], pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(string, sizeof(string), "Brief: Hey %s . Hab mal für dich ein Geschenk.", pname);
SendClientMessage(playerid,0x800000AA,string);
SendClientMessage(playerid,0x800000AA,"Da ich ja eh bald verrecken werde, brauche ich das Geld nicht mehr. . .");
SendClientMessage(playerid,0x800000AA,"Yo also, alle diese 50.000$ sind deine. Viel Spaß! Bye Bro, man sieht sich!");
GivePlayerMoney(playerid,50000);
DisablePlayerCheckpoint(playerid);
return 1;
} -
Sorry, das muss dini_IntSet heißen.
-
Das könnte man so machen, wenn man es hochzählen lassen will:
if(dialogid == DIALOG_WERBER)
{
new path[64];
if(response)
{
format(path, sizeof(path), "/accounts/%s.ini", inputtext);
if(!fexist(path))
{
SendClientMessage(playerid, 0xFF0000FF, "Error: User existiert nicht.");
return ShowPlayerDialog(playerid, DIALOG_WERBER, DIALOG_STYLE_INPUT, "Werber eintragen", "Trage nun bitte deinen Werber ein:", "Ok", "Niemand");
}
new status = dini_Int(path, "Werberstatus")+1;
dini_IntSet(path, "Werberstatus", status);
format(path, sizeof(path), "/accounts/%s.ini", SpielerName(playerid));
dini_Set(path, "Werber", inputtext);
new pID = GetIDFromName(inputtext);
if(pID != INVALID_PLAYER_ID) SpielerInfo[pID][pWerberstatus] = status;
}
else
{
format(path, sizeof(path), "/accounts/%s.ini", SpielerName(playerid));
dini_Set(path, "Werber", "-Niemand-");
}
return 1;
}Shoxx: Beachte den Edit in Post #6 zum OnDialogResponse Teil, ich hatte den "Niemand" Teil unterschlagen. Ist jetzt dabei.
-
Das kannst du machen, wenn der Rest auch so aufgebaut ist, ja.
EDIT:
Mir ist grade noch eingefallen, dass der Werber ja auch online sein könnte.
Füge das hier beim OnDialogResponse-Teil von oben hinzu:
new pID = GetIDFromName(inputtext);
if(pID != INVALID_PLAYER_ID) SpielerInfo[pID][pWerberstatus] = 1;Und das hier ganz unten im Gamemode:
stock GetIDFromName(name[])
{
new tmp[MAX_PLAYER_NAME];
for(new i=0; i<MAX_PLAYERS; i++)
{
if(GetPlayerName(i, tmp, MAX_PLAYER_NAME))
{
if(!strcmp(name, tmp)) return i;
}
}
return INVALID_PLAYER_ID;
} -
Außerdem muss das Semikolon am Ende der ersten Zeile (nach OnPlayerEnterCheckpoint) weg.