3DTextLabel?
Wo muss man denn die Remove Buildings ins scripten packen.
3DTextLabel?
Wo muss man denn die Remove Buildings ins scripten packen.
Wie die Überschrift schon sagt, würde ich gerne über ein Pickup etwas schreiben.
Wie mache ich das?
Jaja diesen Timo kenn ich doch, nur er mich net
Tja müsste man nur wissen wer ich bin
Facepalm
Getpvarint erzürnt eine variable, es erstellt keine eigenen
Und wie mache ich das ich das Kopfgeld bekomme wenn ich einen Contract töte?
Bei meinem Hitman System mit einem Contract wird das Geld nicht dem Hitman gegeben.
Kann mir wer vll. helfen?
new kopfgeld;
if(GetPVarInt(playerid,"Contract")==1)
{
if(GetPVarInt(killerid,"BC")==1)
{
GetPVarInt(playerid,"Kopfgeld");
GivePlayerMoney(killerid,kopfgeld);
SendClientMessage(GELB,ROT,"Ein Hitman hat den Auftrag auf dich erledigt!");
SetPVarInt(playerid,"Contract",0);
SetPVarInt(playerid,"Kopfgeld",0);
SetPVarInt(killerid,"BS",0);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerMember(playerid,8))
{
new string[128];
format(string,sizeof(string),"HitmanAgency: Hitman %s hat den Auftrag auf Opfer %s erfolgreich erledigt!",SpielerName(killerid),SpielerName(playerid));
SendClientMessage(i,0xFF5A00FF,string);
}
}
}
}
Alles anzeigen
Frage: willst du die Zeit mit ausgeben?
//Denke das von SenTiZz reicht schon^^
Ich möchte das wenn er 1x gerobbt hat, ein Timer gestartet wird.
Wenn der Timer 5 minuten abgelaufen ist kann er wieder jemanden Robben...
Benutze SetTimerEx, sonst kann keiner klauen in diesen 5 sek, zeig mal das Public Robtimer
Kannst du mir sowas schnell schreiben, das er 5 Minuten warten muss und er dann wieder robben kann.
Was geht den da nicht, Public wäre auch vlt. hilfreich
Der Timer funktioniert nicht, man kann durchgehend robben....
haste team,viwer?
Es heist auch \n
Also so:
ShowPlayerDialog(playerid,DIALOG_JOBAUSWAHL,DIALOG_STYLE_LIST,"Jobs : ","Taschendieb/nAutodieb/nTrucker/nBootsman","Akzeptieren","Abbrechen");
musst es außerdem zusammen rücken sonst ist eine Leertaste hinter dem Wort
Kannst du mir vll. auchnoch hier weiterhelfen.
Der Timer geht iwi net beim Robben :
ocmd:rob(playerid,params[])
{
new pID,Float:x,Float:y,Float:z;
if(GetPVarInt(playerid,"Job")!=1) return SendClientMessage(playerid,GRAU,"Du bist kein Taschendieb!");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht online!");
if(sscanf(params,"u",pID)) return SendClientMessage(playerid,GRAU,"Verwende: /rob [ID / Name]");
GetPlayerPos(pID,Float:x,Float:y,Float:z);
if(!IsPlayerInRangeOfPoint(playerid,4,x,y,z)) return SendClientMessage(playerid,GRAU,"Du bist nicht in der nähe des Spielers!");
SendClientMessage(playerid,GRAU,"Taschenraub erfolgreich!");
new Zufallsgeld = random(2000);//Zahl bis 2000$
GivePlayerMoney(playerid,Zufallsgeld);
GivePlayerMoney(pID,-Zufallsgeld);
SetTimer("Robtimer",5000,false);
return 1;
}
Alles anzeigen
Klar^^
Beispiel:
ShowPlayerDialog(playerid,DIALOGS-ID,DIALOG_STYLE_LIST,"Überschrift","Text","Ok","Schließen");
ShowPlayerDialog(playerid,DIALOG_JOBAUSWAHL,DIALOG_STYLE_LIST,"Jobs : ","Taschendieb/n Autodieb/n Trucker/n Bootsman","Akzeptieren","Abbrechen");
Wenn ich das Ingame mache kommt eine Liste :
Da steht dann alles nebeneinander Taschendieb,Autodieb
Das soll alles untereinander stehen...
Alles anzeigenpublic OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch (dialogid)
{
case DIALOG_JOBAUSWAHL:
{
if(listitem == 0)
{
//Hier setzen
return 1;
}
else if(listitem== 1)
{
//Hier setzen
return 1;
}
}
}
Braucht man dafür nicht DIALOG_STYLE_LIST dann einfach bei ondialogresponse:
if(listitem==0)//wäre Taschendieb
{
//Dann halt setten^^
}
OnDialogResponse -> Dialog abfragen -> if listitem 0 -> Auswirkung.
Wie heißt das denn das da eine Liste angezeigt wird?
DIALOG_STYLE_LIST etc. funktioniert nicht.
Wie heißt das denn?
Habe gerade einen Befehl /job in der Stadthalle gemacht.
Wie stelle ich ein das wenn er Taschendieb auswählt Taschendieb als Job gesetzt bekommt.
Hier mal der Code :
ocmd:job(playerid,params[])
{
if(GetPVarInt(playerid,"Job") !=0) return SendClientMessage(playerid,GRAU,"Du hast noch ein Job, kündige ihn zuerst mit /quitjob um einen neuen anzunehmen!");
if(IsPlayerInRangeOfPoint(playerid,3,362.4280,173.6250,1008.3828))
{
ShowPlayerDialog(playerid,DIALOG_JOBAUSWAHL,DIALOG_STYLE_MSGBOX,"Jobs : ","Taschendieb/n Autodieb/n Trucker/n Bootsman","Akzeptieren","Abbrechen");
}
else
{
SendClientMessage(playerid,GRAU,"Du bist nicht im Arbeitsamt am Job Point!");
}
return 1;
}
Alles anzeigen
Wie kann ich einen Zufallsbetrag definieren der z.B. zwischen 1000$ - 2000$ liegt.
Zum beispiel bei dem Taschendiebstahl.
Wenn er Skill 1 ist soll er einen BEtrag zwischen 2000$ - 3000$ bekommen.
Wie mache ich das?
WIe kann ich den Payday auf jede volle Stunde setzen?
Zum Beispiel , 12:00 Uhr, 13:00 Uhr usw.
Jeder der on ist soll einfach in jeder follen Stunde einen Payday bekommen ...
Code :
public minute1()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i)) continue;
if(GetPVarInt(i,"loggedin")==0) continue;
SetPVarInt(i,"Paytime",GetPVarInt(i,"Paytime")+1);
if(GetPVarInt(i,"Paytime")==20) //Alle 20 Minuten Payday
{
SetPVarInt(i,"Paytime",0);
SendClientMessage(i,GRÜN,"....:Payday:....");
SendClientMessage(i,GRÜN,"Paycheck: 1000$");
SendClientMessage(i,GRÜN,"Lohn: 0$");
SendClientMessage(i,GRÜN,"----------------");
SendClientMessage(i,GRÜN,"Respektpunkte: 0");
SendClientMessage(i,GRÜN,"----------------");
GivePlayerMoney(i,1000);
}
}
return 1;
}
Alles anzeigen
Also wenn ich Ingame dann halt /ctinfo eingebe steht da:
- Name : Mustermann , Auftragids : (Ist bei jedem CT gleich) zB.1 Kopfgeld 10.000
- Name : Musterus, Auftragids : (Ist bei jedem CT gleich) zB.1 Kopfgeld 10.000
usw.
Also die Auftragsid ist bei jedem Contract gleich...
Guten Tag,
Ich habe einen Befehl geschrieben wo man die aktuellen Contracts sieht.
Ich möchte das jeder Contract eine Auftragsid bekommt, jedoch funtkioniert das bei mir nicht.
Die Auftragsid ist immer gleich, und sie sollten ja normal unterschiedlich sein.
Wie stelle ich das ein das jeder COntract eine eigene ID hat?
Hier die folgenden Codes :
ocmd:ctinfo(playerid,params[])
{
new string[128];
if(!IsPlayerMember(playerid,8)) return SendClientMessage(playerid,GRAU,"Du bist kein Mitglied der Hitman-Agency!");
SendClientMessage(playerid,ROT,"Folgende Aufträge sind vorhanden:");
for(new i=0; i<MAX_PLAYERS;i++)
{
if(GetPVarInt(i,"Contract")==1)
{
format(string,sizeof(string),"-%s | Auftragsid: %i | Kopfgeld: %i $",SpielerName(i),GetPVarInt(i,"Auftragid"),GetPVarInt(i,"Kopfgeld"));
SendClientMessage(playerid,WEIS,string);
SpielerSpeichern(i);
}
}
SpielerSpeichern(playerid);
return 1;
}
Alles anzeigen
ocmd:contract(playerid,params[])
{
new pID,kopfgeld,string1[128],string2[128];
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht online!");
if(sscanf(params,"ui",pID,kopfgeld)) return SendClientMessage(playerid,GRAU,"Verwende: /contract [ID / Name] [Kopfgeld]");
if(kopfgeld<10000) return SendClientMessage(playerid,GRAU,"Das Maximal Kopfgeld beträgt 10.0000$");
if(kopfgeld>1000000) return SendClientMessage(playerid,GRAU,"Du kannst kein Kopfgeld über 1.000.000$ setzen");
if(GetPlayerScore(playerid)<3) return SendClientMessage(playerid,GRAU,"Du musst Level 3 sein um Contract's zu setzen!");
if(GetPlayerScore(pID)<3) return SendClientMessage(playerid,GRAU,"Du darfst keine Contract's auf unter Level 3er setzen!");
if(IsPlayerMember(playerid,1) || IsPlayerMember(playerid,2) || IsPlayerMember(playerid,3)) return SendClientMessage(playerid,GRAU,"Auf Behörden müssen mindestens 100.000$ gesetzt werden!");
if(GetPlayerMoney(playerid) < kopfgeld) return SendClientMessage(playerid,GRAU,"Soviel Geld besitzt du nicht!");
if(pID == playerid) return SendClientMessage(playerid,GRAU,"Du kannst dir selbst keine Contract's setzen!");
SetPVarInt(pID,"Contract",1);
SetPVarInt(pID,"Kopfgeld",kopfgeld);
GivePlayerMoney(playerid,-kopfgeld);
format(string2,sizeof(string2),"Du hast auf %s ein Kopfgeld ausgesetzt. Kopfgeld: %i$",SpielerName(pID),kopfgeld);
SendClientMessage(playerid,HELLBLAU,string2);
SpielerSpeichern(playerid);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(GetPVarInt(i,"Fraktion")==8)
{
SetPVarInt(i,"Auftragid",GetPVarInt(i,"Auftragid")+1);
SendClientMessage(i,GELB,"|_________________Agentur-Nachrichten_________________|");
SendClientMessage(i,GELB,"*** Ein Auftrag ist verfügbar. ***");
format(string1,sizeof(string1),"*** Person: %s, ID: %i, Kopfgeld: %i$ ***",SpielerName(pID),pID,kopfgeld);
SendClientMessage(i,GELB,string1);
SendClientMessage(i,GELB,"*** Verwende: /givehit um einen Auftrag zuzuweisen ***");
SendClientMessage(i,GELB,"|_____________________________________________________|");
}
}
return 1;
}
Alles anzeigen
Guten Tag,
Ich habe einen Befehl geschrieben wo man die aktuellen Contracts sieht.
Ich möchte das jeder Contract eine Auftragsid bekommt, jedoch funtkioniert das bei mir nicht.
Die Auftragsid ist immer gleich, und sie sollten ja normal unterschiedlich sein.
Wie stelle ich das ein das jeder COntract eine eigene ID hat?
Hier die folgenden Codes :
ocmd:contract(playerid,params[])
{
new pID,kopfgeld,string1[128],string2[128];
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht online!");
if(sscanf(params,"ui",pID,kopfgeld)) return SendClientMessage(playerid,GRAU,"Verwende: /contract [ID / Name] [Kopfgeld]");
if(kopfgeld<10000) return SendClientMessage(playerid,GRAU,"Das Maximal Kopfgeld beträgt 10.0000$");
if(kopfgeld>1000000) return SendClientMessage(playerid,GRAU,"Du kannst kein Kopfgeld über 1.000.000$ setzen");
if(GetPlayerScore(playerid)<3) return SendClientMessage(playerid,GRAU,"Du musst Level 3 sein um Contract's zu setzen!");
if(GetPlayerScore(pID)<3) return SendClientMessage(playerid,GRAU,"Du darfst keine Contract's auf unter Level 3er setzen!");
if(IsPlayerMember(playerid,1) || IsPlayerMember(playerid,2) || IsPlayerMember(playerid,3)) return SendClientMessage(playerid,GRAU,"Auf Behörden müssen mindestens 100.000$ gesetzt werden!");
if(GetPlayerMoney(playerid) < kopfgeld) return SendClientMessage(playerid,GRAU,"Soviel Geld besitzt du nicht!");
if(pID == playerid) return SendClientMessage(playerid,GRAU,"Du kannst dir selbst keine Contract's setzen!");
SetPVarInt(pID,"Contract",1);
SetPVarInt(pID,"Kopfgeld",kopfgeld);
GivePlayerMoney(playerid,-kopfgeld);
format(string2,sizeof(string2),"Du hast auf %s ein Kopfgeld ausgesetzt. Kopfgeld: %i$",SpielerName(pID),kopfgeld);
SendClientMessage(playerid,HELLBLAU,string2);
SpielerSpeichern(playerid);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(GetPVarInt(i,"Fraktion")==8)
{
SetPVarInt(i,"Auftragid",GetPVarInt(i,"Auftragid")+1);
SendClientMessage(i,GELB,"|_________________Agentur-Nachrichten_________________|");
SendClientMessage(i,GELB,"*** Ein Auftrag ist verfügbar. ***");
format(string1,sizeof(string1),"*** Person: %s, ID: %i, Kopfgeld: %i$ ***",SpielerName(pID),pID,kopfgeld);
SendClientMessage(i,GELB,string1);
SendClientMessage(i,GELB,"*** Verwende: /givehit um einen Auftrag zuzuweisen ***");
SendClientMessage(i,GELB,"|_____________________________________________________|");
}
}
return 1;
[code]ocmd:ctinfo(playerid,params[])
{
new string[128];
if(!IsPlayerMember(playerid,8)) return SendClientMessage(playerid,GRAU,"Du bist kein Mitglied der Hitman-Agency!");
SendClientMessage(playerid,ROT,"Folgende Aufträge sind vorhanden:");
for(new i=0; i<MAX_PLAYERS;i++)
{
if(GetPVarInt(i,"Contract")==1)
{
format(string,sizeof(string),"-%s | Auftragsid: %i | Kopfgeld: %i $",SpielerName(i),GetPVarInt(i,"Auftragid"),GetPVarInt(i,"Kopfgeld"));
SendClientMessage(playerid,WEIS,string);
SpielerSpeichern(i);
}
}
SpielerSpeichern(playerid);
return 1;
}
Alles anzeigen
Ich hoffe ihr könnt mir helfen.
Mit freundlichen Grüßen
BlackxSoul
Guten Abend,
Ich habe gerade ein Hitman /ctinfo Befehl schrieben, wenn man dies eingibt soll angezeig werden, wer gerade einen Contract hat.
Wenn ich folgendes Ingame eingebe, kommt keine Meldung, bzw. garnichts...
Hier der Code :
ocmd:ctinfo(playerid,params[])
{
new string[128];
if(!IsPlayerMember(playerid,8)) return SendClientMessage(playerid,GRAU,"Du bist kein Mitglied der Hitman-Agency!");
for(new i=0; i<MAX_PLAYERS;i++)
{
if(GetPVarInt(i,"Contract")==1)
{
SendClientMessage(playerid,ROT,"Folgende Aufträge sind vorhanden:");
format(string,sizeof(string),"%s",SpielerName(i));
SendClientMessage(playerid,WEIS,string);
return 1;
}
}
return 1;
}
Alles anzeigen
Wenn ich bei diesem Befehl keine Drogen habe, kann ich sie trotzdem nehmen und die Drogen anzahl geht ins Minus:
Wie kann ich das fixen?
ocmd:usedrugs(playerid,params[])
{
new Float:health,drugs;
if(drugs>1) return SendClientMessage(playerid,GRAU,"Du hast keine Drogen dabei!");
GetPlayerHealth(playerid,health);
SetPlayerHealth(playerid,health +25);
SetPVarInt(playerid,"Drogen",GetPVarInt(playerid,"Drogen")-1);
for(new i=0;i<MAX_PLAYERS;i++)
{
new Float:x, Float:y, Float:z,string[128];
GetPlayerPos(playerid,Float:x,Float:y,Float:z);
if(IsPlayerInRangeOfPoint(i,20,x,y,z))
{
format(string,sizeof(string),"** %s nimmt Drogen zu sich.",SpielerName(playerid));
SendClientMessage(i,GRÜN,string);
return 1;
}
}
return 1;
}
Alles anzeigen