Jetzt kommt keine Nachricht mehr und das Gate öffnet sich auch nicht
Also, bist du in Fraktion 1 und in der Nähe des Tores?
Und dann musst du die Taste (zu Fuß) C und im Auto (H oder CAPSLOCK) drücken ![]()
Sollte aber funktionieren ![]()
mfg. ![]()
Jetzt kommt keine Nachricht mehr und das Gate öffnet sich auch nicht
Also, bist du in Fraktion 1 und in der Nähe des Tores?
Und dann musst du die Taste (zu Fuß) C und im Auto (H oder CAPSLOCK) drücken ![]()
Sollte aber funktionieren ![]()
mfg. ![]()
1. Schreib das mal so:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & 2) {
if(isPlayerInFrakt(playerid,1) && IsPlayerInRangeOfPoint(playerid,20,1519.41589, -1693.81421, 12.88200)) {
MoveObject(pdgate,1524.75122, -1697.09167, 5.6722,4);
SetTimer("Gate",10000,true);
SendClientMessage(playerid,WEIß,"Du hast die Tor geöffnet. Das Tor schließt nach 5 Sek von selbst.");
}
}
return 1;
}
2. Poste mal die Funktion public Gate()
3. Erstellst du das Gate auch mit CreateObject?
mfg. ![]()
Hau das SendClientMessage aus der Schleife raus
Besser wäre einfach so:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER) {
for(new i = 0; i<sizeof(PolizeiFahrzeuge); i++) {
if(GetPlayerVehicleID(playerid) != PolizeiFahrzeuge[i]) continue;
if(isPlayerInFrakt(i,1)) break;
RemovePlayerFromVehicle(playerid),SendClientMessage(playerid,GRAU,"Du bist kein Polizist");
break;
}
}
return 1;
}
mfg. ![]()
Stimmt aber trotzdem error
Dann stimmt darüber oder o.ä. etwas nicht, habe den Code gerade getestet und er funktioniert einwand frei bei mir ![]()
mfg. ![]()
Habe immernoch die gleichen Errors
Unmöglich ![]()
Da ich gar keine Variable namens "vehicleid" verwende ![]()
mfg. ![]()
Code:
Schreib das mal so:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
switch(newstate) {
case PLAYER_STATE_DRIVER: {
if(GetPlayerVehicleID(playerid) == PolizeiFahrzeuge(GetPlayerVehicleID(playerid))) {
if(!isPlayerInFrakt(playerid,1)) return SendClientMessage(playerid,GRAU,"Du bist kein Polizist!"),RemovePlayerFromVehicle(playerid);
}
}
}
return 1;
}
mfg. ![]()
SetPVarInt(pID,"Geld",Geld);
GivePlayerMoney(pID, Geld);
SpielerSpeichern(pID);
Anstatt dem da, das so schreiben:
for(new i; i!=MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SetPVarInt(i,"Geld",Geld),GivePlayerMoney(i,Geld),SpielerSpeichern(i);
mfg. ![]()
Geld wird aber nicht auf die Hand Gegeben? Why?
Weil du kein GivePlayerMoney(pID, Geld); geschrieben hast ![]()
mfg. ![]()
Nein, das macht keinen Unterschied, da für den Spieler so oder so nur 1000 Objekte geladen werden können (auf einmal) ![]()
mfg. ![]()
1. Schreib es so:
if(!strcmp(cmdtext,"/stats",true)) {
new dialogstring[50],header[18 + MAX_PLAYER_NAME],sName[MAX_PLAYER_NAME];
GetPlayerName(playerid,sName,sizeof(sName));
format(dialogstring,sizeof(dialogstring),"Willkommen %s\n\nKills: %d\nTode: %d\n",sName,GetPVarInt(playerid,"Kills"),GetPVarInt(playerid,"Tode"));
format(header,sizeof header,"Deine Statistiken %s",sName);
ShowPlayerDialog(playerid,Stats,DIALOG_STYLE_MSGBOX,header,dialogstring,"Oke","Abbrechen");
return 1;
}
2. Schreibe es so:
ocmd:givemoney(playerid,params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
new pID, Geld, msg[144];
if(sscanf(params,"ui",pID,Geld))return SendClientMessage(playerid,GELB,"/givemoney [spieler] [Betrag] ");
if(Geld < 1 || Geld > 90000)return SendClientMessage(playerid,ROT,"Bitte gültigen Betrag angeben.");
SetPVarInt(pID,"Geld",Geld);
SpielerSpeichern(pID);
format(msg, sizeof(msg),"Du hast von einem Admin geld überwiesen bekommen.");
SendClientMessage(pID,BLAU,msg);
return 1;
}
mfg. ![]()
Nette Idee und schöne Umsetzung ![]()
Bestimmt für einige ganz nützlich ![]()
mfg. ![]()
Abgefragt werden die so
1. Das meine ich nicht, sondern wie du die Produkte prüfst ![]()
Schleife schön und gut wenn aber der rest nicht geht würde die schleife auch nix Bringen vorallem da ich die werte nacher noch änder das nicht jeder truck gleich viel hat
Weiß ich selbst, deshalb sagte ich Zusatz Info ![]()
mfg. ![]()
1. Wie groß ist:
TruckerVeh[0]? lass dir das mal über ein printf("%d",TruckerVeh[0]); ausgeben ![]()
2. Wie fragst du das ab?
mfg. ![]()
Kann mir vielleicht jemand per Teamviewer helfen ich finde keinen Fehler
Ließt du meine Beiträge überhaupt? ![]()
Ich hatte es dir nämlich schon von Anfang an angeboten ![]()
mfg. ![]()
//EDIT Kaliber: Kommt die nachricht an alle Spieler oder nur an mich?? (/ao)
An alle Spieler ![]()
1. Schreibs so:
public OnPlayerText(playerid, text[])
{
new string[144],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
format(string, sizeof(string), "%s sagt: %s",name,text);
return Message(playerid,string,20),0;
}
2. Schreib es so:
public UpdateClock()
{
new x[3],String[256];
gettime(x[0],x[1],x[2]);
format(String,sizeof(String),"%02d:%02d:%02d",x[0],x[1],x[2]);
TextDrawSetString(RealClock,String),SetWorldTime(x[0]);
return 1;
}
3. So:
ocmd:ao(playerid,params[])
{
if(SpielerInfo[playerid][pAdmin]< 2) return SendClientMessage(playerid,0xFF0000,"Du bist kein Admin!");
new string[144],name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
if(!params[0])return SendClientMessage(playerid,0xFF0000,"Tippe: /ao [TEXT]");
format(string,sizeof(string),"** Admin %s: %s",name,params);
for(new i = 0; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i)) SendClientMessage(i,COLOR_AOCHAT,string);
return 1;
}
mfg. ![]()
Muss ich das speichern Könntes du code vorschlag schreiben ?
Das musst du doch wissen? ![]()
Willst du es denn speichern? Soll also das Pickup noch nach einem Server Restart angezeigt werden bzw wenn der Spieler disconnected? ![]()
Meiner Meinung nach...würde sich das nicht rentieren...also nein.
Du benötigst keinen Enumerator, du benötigst nicht einmal Globale Variablen, einfach so:
//Unter OnPlayerDeath
new Float:dPos[3],name[MAX_PLAYER_NAME],str[MAX_PLAYER_NAME + 20];
GetPlayerName(playerid,name,MAX_PLAYER_NAME);
GetPlayerPos(playerid,dPos[0],dPos[1],dPos[2]);
CreatePickup(1239, 23, dPos[0],dPos[1],dPos[2]); //modelid ändern 1239 = i kein Totenkopf :D
format(str,sizeof str,"Gestorben ist hier:\n%s",name); //Kannst den Text beliebig ändern
Create3DTextLabel(text,0xFF4800FF,dPos[0],dPos[1],dPos[2],20.0,0,0); //Erstellt das 3DLabel
PS: Dies wird da bleiben bis zum Restart...allerdings wird wenn er 2x gestorben ist wird das halt an 2 Orten angezeigt..wolltest du das so? ![]()
mfg. ![]()
Da kann man nichts rauslesen... ![]()
Les dir mal deine Errors durch...und denke mal nach ![]()
Hat nichts mit 0.3z zu tun ![]()
Wenn du mir deine TeamViewer Daten schicken willst, kann ich dir helfen ![]()
Andernfalls solltest du hier den Code posten ![]()
mfg. ![]()