Pls unten lesen xD
[Hilfe] PayDay Bugg ?
- Poseidon
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Wenn ich es überfliege springt mir eine abfrage ins auge
if(PayTime[i] == 1)
schau mal im script wo du das auf 1 stellst und poste dat^^ -
Hier:
public Updating()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
PlayerInfo[i][pPoint] += 1;
if(PlayerInfo[i][pPoint] == 60)
{
PlayerInfo[i][pExp] += 1;
PlayerInfo[i][pPoint] = 0;
PayTime[i] = 1;
PayDay();
if(PlayerInfo[i][pWanteds] >= 1)
{
PlayerInfo[i][pWanteds] -= 1;
if(PlayerInfo[i][pWanteds] > 0)
{
new str[256];
format(str, sizeof(str), "Dein WantedLevel: %d",PlayerInfo[i][pWanteds]);
SendClientMessage(i, COLOR_RED, str);
}
}
}
OnPlayerUpdate(i);
}
return 1;
} -
Ja man soll ahlt en Payday bekommen xD und so wie es aussieht, würde er auch funzen nur da fehlt i-was oder i-was ist nich trichtig xD ansonsten,
Kann mir jemand einen Payday erstellen ? Der alle 60 min. stattfindet und jo wo man halt zinsen bekommt und ja lohn etc.
-
danke aber
60000ist keine Stunde Oo ?
außerdem hätte ich es gerne so, dass alle zusammen den Payday kriegen so wie im Godfather, wer Ihn verpasst der hat Ihn halt verpasst ?
-
Also wenn sich jemand die Mühe machen würde und es mit mir lieber so macht obwohl deine Variante ist echt geiler dann zocken die leute auch mehr ok ich machs auf deine Art haha einen Moment sage dann nacher obs klappt oder nicht aber noch ne frage, die Timer arbeiten doch in millisekunden das heißt exackt eine stunde wären 3600000 Millisekunden
C:\DOKUME~1\King\Desktop\Reallife.pwn(5231) : warning 209: function "PD" should return a value
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Warning.
public PD()
{
for(new i = 0; i < MAX_PLAYERS; i++) { PlayerInfo[i][pRespekt] += 1; if(pday[i] == 60)return PayDay(i);}
}sry für editieren so oft aber guckt mal:
SetTimer("PD", 1000, 1);//ich mache die Zeit so, damit ich es erstmal testen kann, dass es der Payday tut
public PD()
{
for(new i = 0; i < MAX_PLAYERS; i++) { PlayerInfo[i][pRespekt] += 1; if(pday[i] == 1) PayDay(i);}
return 1;
}public PayDay(pid)
{
pday[pid] = 0;
GivePlayerMoney(pid, 10000);
return 1;
}Ich glaube der timer ist auf 1 min. gestellt, aber es klappt nicht, ich kriege einfach keinen pd ?
-
Warum eigentlich pday[pid] = 0; ?, das wird dann nur für ID 0 funktionieren. Wird aber kaum dein dezeitges Problem beheben.
Abreite dich einfach Schritt für Schritt durch,... z.B. nach jeder "Aktion" printf("text2"),printf("test2"),... bzw. SendClientMessage(i,colorid,"test1") und schau wo er nicht mehr weiter läuft. -
Danke Grex, aber ich nehme nichtmehr den von oben sondern den von Phönix nur der funzt auch nicht haha
-
#define pmoney 5000//Das payday Geld
new pday[MAX_PLAYERS];
SetTimer("PD", 60000, 1);
forward PD();
public PD()
{
for(new p; p=0; p<MAX_PLAYERS; p++)
{
pday[p] += 1;
if(pday[p] >= 60) return PayDay(p);
}
}
forward PayDay(pid);
public PayDay(pid)
{
pday[pid] = 0;
GivePlayerMoney(pid, pmoney);
}
so fürfte es gehen -
Danke aber wie stelle ich die zeit auf 1 sekunde ? Also halt zum testen ?
*edit
Ich weiß ja nicht ob du was an den augen hast, aber 1. Sind errors enthalten 2. das selbe problem wie vorher fazit, dummer post von dir
-
wenn du so freundlich bist, werden dir sicher viele helfen
Zitat
*editIch weiß ja nicht ob du was an den augen hast, aber 1. Sind errors enthalten 2. das selbe problem wie vorher fazit, dummer post von dir
-
Ich hätte gerne das von Neophönix aber das hier:
C:\DOKUME~1\King\Desktop\rpg.pwn(3737) : warning 209: function "PD" should return a value
C:\DOKUME~1\King\Desktop\rpg.pwn(3743) : warning 209: function "PayDay" should return a value
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase2 Warnings.
public PD()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(pday[i] == 1) return PayDay(i);
}
}public PayDay(pid)
{
pday[pid] = 0;
SendClientMessage(pid, COLOR_YELLOW,"PAYDAYYYYYY!");
} -
forward PD;
forward PayDay; -
Am Ende von beiden return 1; setzen
-
#define pmoney 5000//Das payday Geld
new pday[MAX_PLAYERS];
//bei OnPlayerConnect
SetTimerEx("PD",60000,true,"d",playerid);
forward PD();
public PD()
{
for(new i=0; i<GetMaxPlayers(); i++)
{
pday[i] += 1;
if(pday[i] >= 2)//musst du nur nachher auf 60 stellen
PayDay(i);
}
return 1;
}
forward PayDay(playerid);
public PayDay(playerid)
{
GivePlayerMoney(playerid, pmoney);pday[playerid] = 0;
}
ich hab das mal auf 2 minuten gestellt, sollte aber so gehnps: ungetestet^^
-
habs jetzt so:
public PD()
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(pday[i] == 1) PayDay(i);
}
return 1;
}public PayDay(pid)
{
pday[pid] = 0;
SendClientMessage(pid, COLOR_YELLOW,"PAYDAYYYYYY!");
return 1;
}aber wenn ich jetzt im game bin kommt kein PayDay ? achso habs glaube ich auf 1 min. gestellt oder ? Nicht auf 1 sekunden ?
-
public PayDay(pid)
zu
public PayDay(playerid) -
ne habs im forward doch so
forward PayDay(pid); also kommt da auch pid hin.
-
realtiv...
mach das lieber mit playerid, wäre einfacher und sollte gehn wenn nicht darfste mich hauen^^
-
Ich glaube du hast keine ahnung vom scripten oder ? Solange es mit pid definiert ist klappt es als wäre es playerid -.-