Den normalen timer hab ich zum gameodeinit und den anderne unter dem connect aber immer noch der gleiche error
[GAMEMODE ADDON] Wanted Anzeige über Spieler
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
-
-
SetTimer
von WantedShow muss unter OnGameModeInit();
Dope schreib mich mal per PM an^^
-
immer noch der error
-
Ganz oben im Script wird
forward WantedShow();
eingetragen. Damit es später keine Warnings gibt. Unter public OnGameModeInit() wird folgender Timer eingesetzt.
SetTimer("WantedShow", 5000, 1);
Dieser Timer ruft alle 5 Sekunden einen public auf der den Namen WantedShow hat.
Dieser Public wird unter OnGameModeInit gesetzt oder ganz unten im Script.
public WantedShow()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(WantedLevel[i] == 0) // Standart Variable im Godfather
{
// Wenn der Spieler 0 Wanteds hat passiert nichts.
return 1;
}
if(WantedLevel[i] == 1) // Standart Variable im Godfather
{
SetPlayerChatBubble(i,"WantedLevel: 1", 0x00CC00FF, 20.0, 6000); // Das WantedLevel 1 wird über den Spieler angezeigt in Rot.
return 1;
}
if(WantedLevel[i] == 2) // Standart Variable im Godfather
{
SetPlayerChatBubble(i,"WantedLevel: 2", 0x00CC00FF, 20.0, 6000); // Das WantedLevel 2 wird über den Spieler angezeigt in Rot.
return 1;
}
if(WantedLevel[i] == 3) // Standart Variable im Godfather
{
SetPlayerChatBubble(i,"WantedLevel: 3", 0x00CC00FF, 20.0, 6000); // Das WantedLevel 3 wird über den Spieler angezeigt in Rot.
return 1;
}
if(WantedLevel[i] == 4) // Standart Variable im Godfather
{
SetPlayerChatBubble(i,"WantedLevel: 4", 0x00CC00FF, 20.0, 6000); // Das WantedLevel 4 wird über den Spieler angezeigt in Rot.
return 1;
}
if(WantedLevel[i] == 5) // Standart Variable im Godfather
{
SetPlayerChatBubble(i,"WantedLevel: 5", 0x00CC00FF, 20.0, 6000); // Das WantedLevel 5 wird über den Spieler angezeigt in Rot.
return 1;
}
if(WantedLevel[i] == 6) // Standart Variable im Godfather
{
SetPlayerChatBubble(i,"WantedLevel: 6", 0x00CC00FF, 20.0, 6000); // Das WantedLevel 6 wird über den Spieler angezeigt in Rot.
return 1;
}
}
return 1;
}Es ist Aufwendig Gescriptet aber sehr Verständlich für Anfänger!
machs mal wie im Tutorial^^
Das:
WantedLevel z.b. in pInfo[WantedLevel] ändern
i ist hier der ersatz für Playerid^^
-
Nice Script
-
Wie wärs mit nem String und nem 3D-Textlabel das einfach upgedatet wird?
Dafür wird weniger Code benötigt und kein Timer, wenn mans richtig macht.Währe ausserdem nur eine Abfrage.
---------
Brauchbarkeit: 4/10
Alle sehen das WantedLevel?
Irgendwie Failed^^
---
Umsetzung: 2/10
Es geht mit vieeeel weniger Code und noch vieeel resourcensparender.
---
Gesammt: 6/20
Umständlich aber eigentlich ganz brauchbar.MfG Firer
Es ging ihm dabei wohl eher um die eigentliche , wirklich geniale Idee, als um die Ausführung dieser.
Ich finds eigentlich gut gemacht, außer das man es wirklich mit 3DTextLabel , und ohne timer machen könnte.
Allerdings ist es so, wie er es erklärt hat für ,jeden script anfänger verständlicher . -
Naja timer ist eigentlich schlauer weil man muss das 3D Label doch auch Updaten wenn jemand +1 wanted bekommt oder?
PS:
und onplayerupdate wird nur ausgeführt wenn der User nicht im Menü oder Desktop ist^^ -
Naja timer ist eigentlich schlauer weil man muss das 3D Label doch auch Updaten wenn jemand +1 wanted bekommt oder?
Naja, dass muss man bei der ChatBubble genauso gut.
Textdraws kann man auch mit "TextdrawSetString" Updaten.
Das ist auch nicht soo schwer.Update3DTextLabel ist dasselbe in Grün .
Einfach bei jeder /setwanted reinpacken, und damit hat sich die Sache.
Ist immernoch besser als wenn da immer ein 5 Tonnen Timer rumläuft ^^.(Geile Ausdrucksweise heute ^^). -
C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\khleekon.pwn(5457) : error 017: undefined symbol "WantedLevel"
C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\khleekon.pwn(5457) : warning 215: expression has no effect
C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\khleekon.pwn(5457) : error 001: expected token: ";", but found "]"
C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\khleekon.pwn(5457) : error 029: invalid expression, assumed zero
C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\khleekon.pwn(5457) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Zeile:
if(WantedLevel[i] == 0) // Standart Variable im Godfather
{ -
if(WantedLevel[i] == 0) // Standart Variable im Godfather
{//Standart Varbiale im Godfather
Anscheinend hast du kein Godfather und musst WantedLevel neu Difinieren.
-
Nein Selfmade.
Wie sähe es dann aus?new Wantedlevel?
-
Gute Sache aber brauch ich nicht wenn man /wanted hat .
8/10 .
-
Oh man
Wie kann man bloss für jeden kack eine neu if abfrage stellen alleine vom schreibaufwnd total bekloppt.
ich möchte ja nichts sagen aber bei zahlen abfragen die mehr als 2 mal hintereinander gebraucht werden verwendet man doch lieber das schubladesystem welches A) schneller ist und b) weniger Zeilen braucht.Und hier gibt die Variable schon eh den richtigen Zahlenwert ...
Beispiel -
Settimer("WantedShow",1300,1); // Timer unter OnGamemodeInit einfügen
// ganz unten ins Script einfügen , ACHTUNG Die Variable ist vom GF!
public WantedShow()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(WantedLevel[i] < 1) return 1;
new text[128];
format(text,sizeof(text),"WantedLevel : %d",WantedLevel[i]);
SetPlayerChatBubble(i,text, 0x00CC00FF, 20.0, 6000);
}
return 1;
}
- -Ohne Timer müsste man eben eine Funktion bauen die a) wantedlevel vergibt b) die Variable richtig setzt c) die Sprechblasen aktuell hält
Und das Anzeigen nur für einen spieler klappt nur mit Textdraws SA-MP sei dankPs. Von ceddi hätte ich jetzt auch schon erwartet das er den langen code zu bemängeln hat ...
-
Zitat
Oh man
Wie kann man bloss für jeden kack eine neu if abfrage stellen alleine vom schreibaufwnd total bekloppt.
ich möchte ja nichts sagen aber bei zahlen abfragen die mehr als 2 mal hintereinander gebraucht werden verwendet man doch lieber das schubladesystem welches A) schneller ist und b) weniger Zeilen braucht.Und hier gibt die Variable schon eh den richtigen Zahlenwert ...
Beispiel -
Settimer("WantedShow",1300,1); // Timer unter OnGamemodeInit einfügen
// ganz unten ins Script einfügen , ACHTUNG Die Variable ist vom GF!
public WantedShow()
{
for(new i=0; i
{
if(WantedLevel[i] < 1) return 1;
new text[128];
format(text,sizeof(text),"WantedLevel : %d",WantedLevel[i]);
SetPlayerChatBubble(i,text, 0x00CC00FF, 20.0, 6000);
}
return 1;
}
- -Ohne Timer müsste man eben eine Funktion bauen die a) wantedlevel vergibt b) die Variable richtig setzt c) die Sprechblasen aktuell hält
Und das Anzeigen nur für einen spieler klappt nur mit Textdraws SA-MP sei dankPs. Von ceddi hätte ich jetzt auch schon erwartet das er den langen code zu bemängeln hat ...
Hmm wird bei mir nicht angezeigt, was mach ich falsch?Code
Alles anzeigenpublic WantedShow() { for(new i=0; i<MAX_PLAYERS; i++) { if(WantedLevel[i] < 1) return 1; new text[128]; format(text,sizeof(text),"WantedLevel : %d\n Grund: ****",WantedLevel[i]); SetPlayerChatBubble(i,text, COLOR_LIGHTRED, 20.0, 6000); } return 1; }
toll das ein scripter gescheites Postet
Achja bei meinen /wanted ist das hier:
Code
Alles anzeigenif(strcmp(cmd, "/wanted", true) == 0) { if(IsPlayerConnected(playerid)) { if(gTeam[playerid] == 2 || IsACop(playerid) || PlayerInfo[playerid][pMember] == 12 || PlayerInfo[playerid][pLeader] == 12 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3) { new x; SendClientMessage(playerid, COLOR_GREEN, "Wantedliste"); for(new i=0; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(WantedLevel[i] > 0) { GetPlayerName(i, giveplayer, sizeof(giveplayer)); format(string, sizeof(string), "%s%s [ID: %d]: %d", string,giveplayer,i,WantedLevel[i]); x++; if(x > 3) { SendClientMessage(playerid, COLOR_YELLOW, string); x = 0; format(string, sizeof(string), ""); } else { format(string, sizeof(string), "%s, ", string); } } } } if(x <= 3 && x > 0) { string[strlen(string)-2] = '.'; SendClientMessage(playerid, COLOR_YELLOW, string); } } else { SendClientMessage(playerid, COLOR_GREY, " Du bist kein Beamter !"); } }//not connected return 1; }
Welche Variable muss ich nehmen das die Wanteds Angezeigt werden?
-
Bekomme die erros:(
error 029: invalid expression, assumed zero
: error 004: function "WantedShow" is not implemented -
Bekomme die erros:(
error 029: invalid expression, assumed zero
: error 004: function "WantedShow" is not implemented
where is my glaskugel?!
gib mal codeschnippsel bzw. zeilen wo des errort -
public WantedShow()
da sind die 2 erros drin
-
haste
Forward WantedShow();
drin? -
die erros kommen immer noch
-
haste
Forward WantedShow();
drin?
@übermir mach dochmal das was er sagt? und das F schreibt man klein also
forward WantedShow();
und sonst ist meine glaskugel gleich kaputt und das wollen wir ja nich