wie genau ?
ich versteh das nicht
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
-
-
guck mal in den Tutorial bereich
Autohaus oder Autokaufsystem -
Hey :3
Wie kann ich einem NPC eine Waffe geben?
Ich habe es jetzt so , er wird aber nur teleportiert und der Skin wird gesetzt!
if(!strcmp(botname, "Waffendealer", true))
{
SetPlayerPos(playerid,-1978.4358,428.3746,24.8660);
GivePlayerWeapon(playerid,30,500);
SetPlayerSkin(playerid,272);
} -
1. Das SetPlayerPos kannst du dir sparen, der ist automatisch beim Aufzeichnungsort. Und soweit ich weiß, musst du ihm auch keine Waffe geben. Wenn er einfach nur da steht, obwohl er bei der Aufzeichnung des NPCs geschossen hat, dann geh kurz aus dem Gebiet raus und wieder rein - dann dürfte er schießen.
EDIT: Das er eine Waffe besitzt, muss nicht unbedingt heißen, dass er Sie dann auch trägt -
1. Das SetPlayerPos kannst du dir sparen, der ist automatisch beim Aufzeichnungsort. Und soweit ich weiß, musst du ihm auch keine Waffe geben. Wenn er einfach nur da steht, obwohl er bei der Aufzeichnung des NPCs geschossen hat, dann geh kurz aus dem Gebiet raus und wieder rein - dann dürfte er schießen.
ne er soll nur mit der Waffe rumstehen
Ich dachte , man müsste ihm die Waffe nach dem Aufzeichnen geben , und nicht die Waffe beim Aufzeichnen tragen
Edit: Achso , ich wollte nämlich machen , dass er dasteht mit einer Waffe , damit er gefährlicher wirkt
Edit2:
Neues Problem:
Ich möchte , dass man mit /verkaufewaffe [ID/Name] [Waffe] [Preis] jemanden eine Waffe verkaufen kann.
Dieser bekommt dann einen Dialog , wo er [Okay] und [Abbrechen] wählen kann. Wenn er okay wählt , wird ihm die Waffe gegeben und das Geld abgezogen und dem Waffendealer das Geld gegeben. Nur wie geht das?Der Command sieht so aus:
ocmd:verkaufewaffe(playerid,params[])
{
new pID,waffe[64],preis;
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
if(sscanf(params,"us[64]i",pID,waffe,preis))return SendClientMessage(playerid,Rot,"Fehler: /verkaufewaffe [ID/Name] [Waffe] [Preis]");
{
if(strcmp(waffe,"deagle",false)==0)
{
if(dini_Int(Spieler,"Materialien")<=matsprodeagle)return SendClientMessage(playerid,Rot,"Du hast nicht genug Materialien für diese Waffe!");
new string[256];
format(string,sizeof(string),"Waffendealer %s bietet dir eine Deagle mit 80 Munition für %i€ an.",PlayerName(playerid),preis);
ShowPlayerDialog(pID,Dialog_WaffenangebotDeagle,DIALOG_STYLE_MSGBOX,"Waffenangebot",string,"Okay","Abbrechen");
}
else if(strcmp(waffe,"9mm",false)==0)
{
if(dini_Int(Spieler,"Materialien")<=matspro9mm)return SendClientMessage(playerid,Rot,"Du hast nicht genug Materialien für diese Waffe!");
new string[256];
format(string,sizeof(string),"Waffendealer %s bietet dir eine 9MM mit 100 Munition für %i€ an.",PlayerName(playerid),preis);
ShowPlayerDialog(pID,Dialog_Waffenangebot9mm,DIALOG_STYLE_MSGBOX,"Waffenangebot",string,"Okay","Abbrechen");
}
else if(strcmp(waffe,"mp5",false)==0)
{
if(dini_Int(Spieler,"Materialien")<=matspromp5)return SendClientMessage(playerid,Rot,"Du hast nicht genug Materialien für diese Waffe!");
new string[256];
format(string,sizeof(string),"Waffendealer %s bietet dir eine MP5 mit 150 Munition für %i€ an.",PlayerName(playerid),preis);
ShowPlayerDialog(pID,Dialog_Waffenangebotmp5,DIALOG_STYLE_MSGBOX,"Waffenangebot",string,"Okay","Abbrechen");
}
else if(strcmp(waffe,"m4",false)==0)
{
if(dini_Int(Spieler,"Materialien")<=matsprom4)return SendClientMessage(playerid,Rot,"Du hast nicht genug Materialien für diese Waffe!");
new string[256];
format(string,sizeof(string),"Waffendealer %s bietet dir eine M4 mit 150 Munition für %i€ an.",PlayerName(playerid),preis);
ShowPlayerDialog(pID,Dialog_Waffenangebotm4,DIALOG_STYLE_MSGBOX,"Waffenangebot",string,"Okay","Abbrechen");
}
else if(strcmp(waffe,"ak47",false)==0)
{
if(dini_Int(Spieler,"Materialien")<=matsproak47)return SendClientMessage(playerid,Rot,"Du hast nicht genug Materialien für diese Waffe!");
new string[256];
format(string,sizeof(string),"Waffendealer %s bietet dir eine Ak47 mit 150 Munition für %i€ an.",PlayerName(playerid),preis);
ShowPlayerDialog(pID,Dialog_Waffenangebotak47,DIALOG_STYLE_MSGBOX,"Waffenangebot",string,"Okay","Abbrechen");
}
else if(strcmp(waffe,"blumen",false)==0)
{
if(dini_Int(Spieler,"Materialien")<=matsproblumen)return SendClientMessage(playerid,Rot,"Du hast nicht genug Materialien für diese Waffe!");
new string[256];
format(string,sizeof(string),"Waffendealer %s bietet dir Blumen für %i€ an.",PlayerName(playerid),preis);
ShowPlayerDialog(pID,Dialog_WaffenangebotBlumen,DIALOG_STYLE_MSGBOX,"Waffenangebot",string,"Okay","Abbrechen");
}
else
{
SendClientMessage(playerid,Rot,"Die Waffe existiert nicht!");
}
}
return 1;
}Es muss ja irgendwas in OnDialogResponse sein!
-
Heyho, mein Lohnsystem hat irgendwie momentan einen kleinen Aussetzer, das Schlimme ist, das mir das erst jetzt aufgefallen ist.
Zum Problem:
Ich habe für jeden Job Lohn verteilt, das Geld wird auch gegeben, aber beim Payday steht als Einkommen immer nur 1$.Mein stock für den Lohn:
stock SetLohn(playerid)
{
switch(GetPVarInt(playerid,"Job"))
{
case 0:
{
GivePlayerMoney(playerid,500);
}
case 1:
{
GivePlayerMoney(playerid,2500);
}
case 2:
{
GivePlayerMoney(playerid,0);
SendClientMessage(playerid,ROT,"Du bekommst keinen Lohn, geh Waffen verkaufen!");
}
case 3:
{
GivePlayerMoney(playerid,1500);
}
case 4:
{
GivePlayerMoney(playerid,1500);
}
case 5:
{
GivePlayerMoney(playerid,2500);
}
}
return 1;
}Die Zeile vom Payday:
format(Payday,sizeof(Payday),"Einkommen: %i$\nGeld: %i$\nLevel: %i\nPayday-Punkte: %i",SetLohn(i),GetPlayerMoney(i),GetPlayerScore(i),GetPVarInt(i,"Payday"));
Warum steht ständig 1, wenn er doch eigentlich eine ganz andere Zahl auslesen müsste? -
Wie kann man im Tacho den Fahrzeugnamen und Kmh anzeigen lassen ?
-
Hey,
wenn ich in einem enum das Adminlevel definiert hab,
und per Befehl ein Adminlevel höher sein möchte,
wie muss ich das dann genau machen?
Einfach
Spieler[playerid][Admin] ++1geht ja nicht...
-
++ reicht da
(e)
aber nach den ++ ein ; setzen -
++ reicht da
(e)
aber nach den ++ ein ; setzen
Danke -
-
Hey,
ich wollte /rcon login ein bisschen absichern und habe mir gedacht das wenn der Spieler sich erfolgreich einloggt aber sein Name nicht "MeinName" (Beispiel) ist das er dann gebannt wird.
Sollte er jedoch "MeinName" heißen passiert nichts und er ist eingeloggt.
Ich bin nur anscheinend zu doof um strcmp zu verwenden.if(success)
{
if(!strcmp(LeiterName, "MeinName", false))
{
SendClientMessage(i,0xC30000FF,"Bann");
}
else
{
return 1;
}
}EDIT:
new LeiterName[MAX_PLAYER_NAME];
-
arbeitest du da auch mit GetPlayerName?
-
Nope, ich hab das bis jetzt so wie das da steht.
-
frag den Namen ab und vergleiche den
-
So ähnlich vielleicht?
public OnRconLoginAttempt(ip[], password[], success)
{
for(new i=0; i<MAX_PLAYERS; i++)
{
new pname[256]; GetPlayerName(i, pname, 256);
if(!success)
{
//Bla
}
if(success)
{
if(!strcmp(pname, "MeinName", false))
{
SendClientMessage(i,0xC30000FF,"Bann");
return 1;
}
}
}
return 1;
} -
Lohnt sich nich wirklich^^
Lass dir die playerid aus der IP returnen.Am übersichtlichsten wäre das mit ner neuen Funktion.
Dann einfach ne Schleife und IP's vergleichen -
Habe ein Probelm da kommt der warning
if(!GetPlayerState(playerid) == 2) return SendClientMessage(playerid,Rot,"Du sitzt nicht bei deinem Kunden im Auto");
(1962) : warning 213: tag mismatch
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Warning.
-
Moin.
Ich habe die Dark - Trigardon Reloaded V.1.1 und versuche, seit Tagen etwas in dem Gamemode zu editieren.
Solange ich nichts veränder läuft alles super, wenn ich nun aber
ShowPlayerDialog(id,DIALOG_TUTORIAL1,DIALOG_STYLE_MSGBOX,"Step 1/6 | Tutorial Einweisung","{FFFFFF}Ersteinmal wünsche ich dich Herzlich Willkommen auf dem {FFFF00}Dark-Trigardon Reloaded{FFFFFF} Reallife Server.\nWie du bestimmt gesehen hast ist dies ein Reallife Server.Verhalte dich bitte dementsprechend.\nDeathmatch oder sonstige nicht Reallife Aktivitäten werden von unseren Administratoren bestraft.\n\n{00FFFF}Ich wünsche dir viel Spass beim dem Tutorial.","Weiter","");in
ShowPlayerDialog(id,DIALOG_TUTORIAL1,DIALOG_STYLE_MSGBOX,"Step 1/6 | Tutorial Einweisung","{FFFFFF}Ersteinmal wünsche ich dich Herzlich Willkommen auf dem {FFFF00}SanMonster {FFFFFF} Reallife Server.\nWie du bestimmt gesehen hast ist dies ein Reallife Server.Verhalte dich bitte dementsprechend.\nDeathmatch oder sonstige nicht Reallife Aktivitäten werden von unseren Administratoren bestraft.\n\n{00FFFF}Ich wünsche dir viel Spass beim dem Tutorial.","Weiter","");
änder,
Funktioniert nichts mehr. (auch bei anderen veränderungen wie der HP oder TS3 IP)
Ich habe keine ERRORS!!! und keine Warnungen!!!
werde aber nach ediet immer an irgend einem komischen Ort gespawnt, und keine Plugins/Befehle o.ä funktionieren.Kann es sein das ein schutz eingebaut ist, der es verhindert das der bearbeitete Gamemode genutzt wird?
Wenn ja, dann wäre es doch ein wenig unlogisch, da unter der Info von Dark-Trigardon Reloaded (homepage) und (in WINRAR) steht:Du darfst :
Das Script auf deinem Server benutzen & editieren.bin echt am verzweifeln.
Bitte um Hilfe, bevor ich mich erschieße.
lg, AooH
-
könnte mir jemand helfen vlt
-