moin,
könnte mir jemand ssagen wie ich Die Sterne für ein spieler anzeige? Aso wenn 1 wanted lvl hat das er dann ein Stern unter seinen geld bekommt
Danke im vorraus
mfg GabbaFreaK
moin,
könnte mir jemand ssagen wie ich Die Sterne für ein spieler anzeige? Aso wenn 1 wanted lvl hat das er dann ein Stern unter seinen geld bekommt
Danke im vorraus
mfg GabbaFreaK
Es müsste so funktionieren:
Ganz oben im Script <a_players> einfügen..
Dann um die Wantets zu setzen, zum Beispiel in einem Command SetPlayerWantedLevel(playerid, Level)..
wie macht man das denn, dass wenn man /wantedplayer eingibt alle Spieler mit einem Wantedlevel > 0 angezeigt werden?
Guck dir die Struktur vom G>F an... (/wanteds)
Irgend wie geht das nicht Aso der schictk ein sofort 6 WANTEDS ... WIe kann ich das einstellen das Wenn man 1 wanted vergibt 1 stern das ist wenn 2 wanted 2sterne usw
Meine CODE
if(strcmp(cmd, "/suspect", true) == 0 || strcmp(cmd, "/su", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist nicht im Dienst!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: (/su)spect [ID] [beschreibungdesverbrechens]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if (gTeam[playerid] == 2 || IsACop(playerid))
{
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if (gTeam[giveplayerid] != 2)
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: (/su)spect [ID] [text]");
return 1;
}
if(WantedPoints[giveplayerid] == 0) { WantedPoints[giveplayerid] = 3; }
else { WantedPoints[giveplayerid]+= 2; }
SetPlayerCriminal(giveplayerid,playerid, result);
SetPlayerWantedLevel(giveplayerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Du kannst keinen Cop verdächtigen!");
}
}
}
else
{
format(string, sizeof(string), "%d ist kein aktiver Spieler.", giveplayerid);
SendClientMessage(playerid, COLOR_GRAD1, string);
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GRAD2, "Du bist kein Cop / FBI Agent / Nationlgarde !");
}
}
return 1;
}
Schaut euch doch mal die Funktionen von SA-MP an ...
Mit :
SetPlayerWantedLevel(playerid,wantedlevel);
kannst du Wanteds setzen.
Siehe auch hier : http://wiki.sa-mp.com/wiki/SetPlayerWantedLevel
ja das ist mir schon klar aber wenn ich
SetPlayerWantedLevel(giveplayerid,6);
mhac stehen dann 6 Sterne dA!
auch wenn ich nur 1 wanted vergebe -.-
ich wil l das wenn ich ein wanted gebe bei den spieler auch ein Stern kommt usw
1 = 1 Stern
2 = 2 Sterne
3 = 3 Sterne
4 = 4Sterne
5 = 5 Sterne
6 = 6 Sterne
War das denn nicht offensichtlich ?
€
Und hier gibst du auch nicht mal das level an - im Befehl :
SetPlayerWantedLevel(giveplayerid);
aso soll ich das so machen??
SetPlayerWantedLevel(giveplayerid,1);
SetPlayerWantedLevel(giveplayerid,2);
SetPlayerWantedLevel(giveplayerid,3);
SetPlayerWantedLevel(giveplayerid, 4);
SetPlayerWantedLevel(giveplayerid,5);
SetPlayerWantedLevel(giveplayerid,6);
?????
/edit das hab ich ja bekomme da warning has not match of defination
Nein.
SetPlayerWantedLevel(giveplayerid)+=1
C:\DOKUME~1\WeeDy\Desktop\SERVER~1\_OC_SF~1\_OC_SF~1\GAMEMO~1\gf.pwn(11110) : warning 202: number of arguments does not match definition
C:\DOKUME~1\WeeDy\Desktop\SERVER~1\_OC_SF~1\_OC_SF~1\GAMEMO~1\gf.pwn(11110) : error 022: must be lvalue (non-constant)
C:\DOKUME~1\WeeDy\Desktop\SERVER~1\_OC_SF~1\_OC_SF~1\GAMEMO~1\gf.pwn(11110) : warning 215: expression has no effect
SetPlayerWantedLevel(giveplayerid)+= 1;
Nunja dir fehlt ein parameter
Aber wie ich das hier gesehen habe :
if(WantedPoints[giveplayerid] == 0) { WantedPoints[giveplayerid] = 3; }
else { WantedPoints[giveplayerid]+= 2; }
Wird zuerst wenn er noch keine wanteds hatte, werden 3 Punkte gegeben danch immer wieder + 2.
Wenn du aber selbst die Zahl bestimmen willst fehlt dir ein Parameter aber redne wir nicht lange um den heißen brei herum wir wissen beide ganz genau das du es nicht alleine hinbekommst.
if(strcmp(cmd, "/suspect", true) == 0 || strcmp(cmd, "/su", true) == 0)
{
if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1) return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht im Dienst!");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: (/su)spect [ID] [Wanted Level] [Beschreibung desVerbrechens]");
giveplayerid = ReturnUser(tmp);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: (/su)spect [ID] [Wanted Level] [Beschreibung des Verbrechens]");
new wlevel = strval(tmp);
if(wlevel < 0 && > 6) return SendClientMessage(playerid,COLOR_GRAD2,"FEHLER: Das Wanted Lvel darf den Wert 6 nicht übersteigen und den Wert 0 nicht unterschreiten!");
if (gTeam[giveplayerid] != 2 && giveplayerid != INVALID_PLAYER_ID && gTeam[playerid] == 2 || IsACop(playerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result)) return SendClientMessage(playerid, COLOR_GRAD2, "FEHLER: (/su)spect [ID] [text]");
WantedPoints[giveplayerid] += wlevel;
SetPlayerCriminal(giveplayerid,playerid, result);
SetPlayerWantedLevel(giveplayerid,WantedPoints[giveplayerid]);
}
return 1;
}
So kannst du Wanteds dazu addieren mit deiner gewünschten Anzahl , beim alten befehl musst du dies hier ändern
Das :
SetPlayerWantedLevel(giveplayerid);
in das :
SetPlayerWantedLevel(giveplayerid,WantedPoints[giveplayerid]);
LG
€
@ Ghost das ist keine Variable sondern eine native Funktion
Danke ich habs