Hallo,
jetzt zeige ich euch, wie es möglich ist ein "dynamischen Command" zu erstellen. :)
Wir wollen:
Einen Command welcher mit inGame-Einstellungen funktioniert, wir nehmen dazu den Befehl: /einsperren [ID] in Verbindung mit PVar's. :)
Info:
Ein PVar's Tutorial folgt bald. :)
Los geht's:
Wir definieren die Variable "Geldstrafe" für alle vorerst auf 0 und setzen diese bei OnGameModeInit auch auf 0 - sprich wir speichern diese nicht, das könnt ihr gerne machen wenn es euch wichtig ist.
Oben:
[pwn]new Geldstrafe = 0;[/pwn]
OnGameModeInit:
[pwn]Geldstrafe = 0;[/pwn]
Zum Einstellungsbefehl:
Wir nutzen dazu OCMD (Tutorial OCMD - Das wohl übersichtlichste!) um es so übersichtlich wie möglich zu gestalten. :)
[pwn]ocmd:setarrestmoney(playerid, params[])//Command
{
new Geldmenge;//Definition von dem späterem Parameter "Geldmenge"
if(sscanf(params, "d", Geldmenge)) return SendClientMessage(playerid, Farbe, "/setarrestmoney [Strafe]");//sscanf-Abfrage
//Hier könnte eine Fraktionsabfrage oder Leaderabfrage hinein :)
if(Geldmenge > 0 && Geldmenge < 10000)//Die Geldmenge muss also über 0 und unter 10'000 sein.
{
new str[64];//Definierung vom String
Geldstrafe = Geldmenge;//Wir setzen die Geldstrafe auf den angegebenen Parameter
format(str,sizeof(str),"Neu: %d $", Geldmenge);//Formatieren einen Text ...
SendClientMessage(playerid, Farbe, str);//... und senden diesen an den Spieler
}
return 1;//Befehlsreturn
}[/pwn]
Soweit sollte es klar sein. :)
Jetzt zum dazugehörigen "/einsperren"-Befehl, welchen wir auch mit OCMD schreiben.
Wir möchten also das er pro Fahndungslevel was der Spieler hat Geld zahlen muss, sprich bei 1000$ Geldstrafe & 3 Wanteds => 3000$ Geldstrafe.
[pwn]ocmd:einsperren(playerid, params[])
{
new pID;//Definierung der "pID" /des Parameters
if(sscanf(params, "u", pID)) return SendClientMessage(playerid, Farbe, "/einsperren [ID]");//sscanf-Abfrage
//Hier eine Fraktionsabfrage oder Leaderabfrage o.ä. wenn gewünscht
if(Geldstrafe != 0)//Wenn die Geldstrafe alles aber NICHT 0 ist
{
new wantedlevel, str[128];//Definierung vom Wantedlevel & String
wantedlevel = GetPlayerWantedLevel(pID);//Hier 'getten' wir das Wantedlevel der pID
new gesamt = Geldstrafe*wantedlevel;//Hier die Zusammenfassung was ausschlaggebend ist
GivePlayerMoney(playerid, -gesamt);//Hier kriegt der Spieler (pID) das Geld abgezogen
format(str,sizeof(str),"Jemand wurde für %d eingesperrt (Wantedlevel: %d \/\ Geldstrafe pro Wanted: %d",gesamt,wantedlevel,Geldstrafe);//Arreststring
SendClientMessageToAll(Farbe, str);//Arrestmessage
}
return 1;
}
[/pwn]
Ich hoffe es ist soweit klar. :)
Viel Spaß, bei Fragen stehe ich zur Verfügung. :)
Grüße.
jetzt zeige ich euch, wie es möglich ist ein "dynamischen Command" zu erstellen. :)
Wir wollen:
Einen Command welcher mit inGame-Einstellungen funktioniert, wir nehmen dazu den Befehl: /einsperren [ID] in Verbindung mit PVar's. :)
Info:
Ein PVar's Tutorial folgt bald. :)
Los geht's:
Wir definieren die Variable "Geldstrafe" für alle vorerst auf 0 und setzen diese bei OnGameModeInit auch auf 0 - sprich wir speichern diese nicht, das könnt ihr gerne machen wenn es euch wichtig ist.
Oben:
[pwn]new Geldstrafe = 0;[/pwn]
OnGameModeInit:
[pwn]Geldstrafe = 0;[/pwn]
Zum Einstellungsbefehl:
Wir nutzen dazu OCMD (Tutorial OCMD - Das wohl übersichtlichste!) um es so übersichtlich wie möglich zu gestalten. :)
[pwn]ocmd:setarrestmoney(playerid, params[])//Command
{
new Geldmenge;//Definition von dem späterem Parameter "Geldmenge"
if(sscanf(params, "d", Geldmenge)) return SendClientMessage(playerid, Farbe, "/setarrestmoney [Strafe]");//sscanf-Abfrage
//Hier könnte eine Fraktionsabfrage oder Leaderabfrage hinein :)
if(Geldmenge > 0 && Geldmenge < 10000)//Die Geldmenge muss also über 0 und unter 10'000 sein.
{
new str[64];//Definierung vom String
Geldstrafe = Geldmenge;//Wir setzen die Geldstrafe auf den angegebenen Parameter
format(str,sizeof(str),"Neu: %d $", Geldmenge);//Formatieren einen Text ...
SendClientMessage(playerid, Farbe, str);//... und senden diesen an den Spieler
}
return 1;//Befehlsreturn
}[/pwn]
Soweit sollte es klar sein. :)
Jetzt zum dazugehörigen "/einsperren"-Befehl, welchen wir auch mit OCMD schreiben.
Wir möchten also das er pro Fahndungslevel was der Spieler hat Geld zahlen muss, sprich bei 1000$ Geldstrafe & 3 Wanteds => 3000$ Geldstrafe.
[pwn]ocmd:einsperren(playerid, params[])
{
new pID;//Definierung der "pID" /des Parameters
if(sscanf(params, "u", pID)) return SendClientMessage(playerid, Farbe, "/einsperren [ID]");//sscanf-Abfrage
//Hier eine Fraktionsabfrage oder Leaderabfrage o.ä. wenn gewünscht
if(Geldstrafe != 0)//Wenn die Geldstrafe alles aber NICHT 0 ist
{
new wantedlevel, str[128];//Definierung vom Wantedlevel & String
wantedlevel = GetPlayerWantedLevel(pID);//Hier 'getten' wir das Wantedlevel der pID
new gesamt = Geldstrafe*wantedlevel;//Hier die Zusammenfassung was ausschlaggebend ist
GivePlayerMoney(playerid, -gesamt);//Hier kriegt der Spieler (pID) das Geld abgezogen
format(str,sizeof(str),"Jemand wurde für %d eingesperrt (Wantedlevel: %d \/\ Geldstrafe pro Wanted: %d",gesamt,wantedlevel,Geldstrafe);//Arreststring
SendClientMessageToAll(Farbe, str);//Arrestmessage
}
return 1;
}
[/pwn]
Ich hoffe es ist soweit klar. :)
Viel Spaß, bei Fragen stehe ich zur Verfügung. :)
Grüße.
"Das müsste jetzt funktionieren..."
---
Mit freundlichen Grüßen,
Vincent Petritz
---
Mit freundlichen Grüßen,
Vincent Petritz