Ich habe eine Frage wie erstelle ich einen /startbonus befehl den man nur 1x benutzen kann?
Man soll 50k Geld und lvl 3 bekommen
Hoffe auf schnelle Hilfe!
Ich habe eine Frage wie erstelle ich einen /startbonus befehl den man nur 1x benutzen kann?
Man soll 50k Geld und lvl 3 bekommen
Hoffe auf schnelle Hilfe!
Mach doch eine Variable. Setze sie am Anfang auf 0 und frage ab ob sie 0 ist falls ja dann lässt du den befehl ausführen und setzt sie auf 1. Wenn sie bereits auf 1. Dann schreibst du einfach return 0;
Speicher dir eine Variable ab. Setze sie auf 1, wenn der Spieler Level 3 ist und wenn die Variable 1 ist bekommt der Spieler kein Geld doch wenn die Variable bei 0 ist bekommt der Spieler Geld und Level Up
if(strcmp(cmd, "/startbonus", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLevel] == 1 || PlayerInfo[playerid][pLevel] == 2)
{
format(string, sizeof(string), "* Du hast den Startbonus bekommen. (Level: 3, Geld: +$50.000).");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Wir wünschen dir weiterhin viel Spaß beim Spielen auf Life-of-Reality!",sendername);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
GivePlayerMoney(playerid, 50000); /// Geld was der Spieler bekommt
PlayerInfo[playerid][pLevel] = 3; // Level was der Spieler bekommt
}
else {
SendClientMessage(playerid, COLOR_GRAD2, "Du bist kein Anfänger (Level 1/2) mehr!");
return 1;
}
}
return 1;
}
Dann noch abfragen dass man es nur einmal benutzten kann
if(strcmp(cmd, "/startbonus", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(IsPlayerInRangeOfPoint(playerid,5.0, 381.0410,-2051.6230,7.8359))
if(PlayerInfo[playerid][pLevel] == 1 || PlayerInfo[playerid][pLevel] == 2)
{
format(string, sizeof(string), "* Du hast den Startbonus bekommen. (Level: 3, Geld: +€50.000) SF+LV Pass),Autoschein) Rollerschein) und ein Telefonbuch.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Wir wünschen dir weiterhin viel Spaß beim Spielen auf Your_German_Reallife!",sendername);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
GivePlayerMoney(playerid, 50000); /// Geld was der Spieler bekommt
PlayerInfo[playerid][pLevel] = 3; // Level was der Spieler bekommt
PlayerInfo[giveplayerid][pSFPASS] = 1;
PlayerInfo[giveplayerid][pCarLic] = 1;
PlayerInfo[giveplayerid][pLVPASS] = 1;
PlayerInfo[playerid][pRollerLic] = 1;
PlayerInfo[playerid][pPhoneBook] = 1;
}
else {
SendClientMessage(playerid, COLOR_GRAD2, "Du bist kein Anfänger mehr!");
return 1;
}
}
return 1;
}
if(strcmp(cmd, "/startbonus", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLevel] != 3)
{
format(string, sizeof(string), "* Du hast den Startbonus bekommen. (Level: 3, Geld: +$50.000).");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Wir wünschen dir weiterhin viel Spaß beim Spielen auf Life-of-Reality!",sendername);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
GivePlayerMoney(playerid, 50000); /// Geld was der Spieler bekommt
PlayerInfo[playerid][pLevel] = 3; // Level was der Spieler bekommt
}
else {
SendClientMessage(playerid, COLOR_GRAD2, "Du bist kein Anfänger (Level 1/2) mehr!");
return 1;
}
}
return 1;
}
Eine kleine Detailverbesserung von Nexus' Code.
Freefighter wo genau muss ich das einfügen?
Sry falls mein Kommentar hier nicht erwünscht ist, aber ich denke er möchte selber Scripten lernen und eventuell nur ein paar Tipps bekommen (So wie ich) Und nicht gleich den ganzen Code bekommen. Wenn dann könnte er sich auch gleich ein ganzes Script runterladen.
//edit: Unter OnPlayerCommandText
ocmd:startbonus(playerid,params[])
{
new Geld = 50000;
if(IsPlayerInRangeOfPoint(playerid, 20.0,1423.1165,-989.0859,1639.7843))return SendClientMessage(playerid,Farbe,"Du bist nicht am /startbonus Punkt "); // Das nur machen wenn du willst das es nur an einer bestimmten Position ist....
if(PlayerInfo[playerid][pLevel] <= 2)
{
GivePlayerMoney(playerid,Geld);
PlayerInfo[playerid][pLevel] == 3;
format(string,sizeof(string),"Du hast Level 3 und 50000$");
SendClientMessage(playerid,Farbe,string);
}
else
{
SendClientMessage(playerid,Farbe,"Du bist nicht Level 1");
}
return 1;
}
lol unter OnPlayerCommandText
Du kannst es auch einfach so machen:
stock StartBonus(playerid)
{
GivePlayerMoney(playerid,50000);
SetPlayerScore(playerid,3);
PlayerInfo[playerid][pSkin]=101;
SetPlayerWantedLevel(playerid,0);
SavePlayer(playerid);
return 1;
}
und dann beim register
starbonus(playerid);
ja ich möchte aber das von SentiZz haben gerne und meine koordinaten da drin stehen haben...
[pwn]ocmd:startbonus(playerid,params[])
{
new Geld = 50000;
if(IsPlayerInRangeOfPoint(playerid, 10.0,1717.2563,-1910.0349,13.5660))return SendClientMessage(playerid,Farbe,"Du bist nicht am /startbonus Punkt "); // Das nur machen wenn du willst das es nur an einer bestimmten Position ist....
if(PlayerInfo[playerid][pLevel] <= 2)
{
GivePlayerMoney(playerid,Geld);
PlayerInfo[playerid][pLevel] == 3;
format(string,sizeof(string),"Du hast Level 3 und 50000$");
SendClientMessage(playerid,Farbe,string);
}
else
{
SendClientMessage(playerid,Farbe,"Du bist nicht Level 1");
}
return 1;
}[/pwn]
so einfügen ;:)
Danke und das jetzt alles bei OnPlayerCommandText einfügen oder?
nein das einfach ganz unten
einfach ganz unten in meinem script bei garkeiner funktion oder soo?
genau
stock LoadHouse(i)
{
new str[128];
format(str, sizeof str, "/Houses/%d.ini", i);
if(fexist(str))
{
if(INI_Open(str))
{
HouseInfo[i][hOwned] = INI_ReadInt("Owned");
INI_ReadString(HouseInfo[i][hOwner], "Owner", MAX_PLAYER_NAME);
HouseInfo[i][hEntrx] = INI_ReadFloat("Entrx");
HouseInfo[i][hEntry] = INI_ReadFloat("Entry");
HouseInfo[i][hEntrz] = INI_ReadFloat("Entrz");
HouseInfo[i][hPrice] = INI_ReadInt("Price");
HouseInfo[i][hIntid] = INI_ReadInt("Intid");
HouseInfo[i][hLocked] = INI_ReadInt("Locked");
HouseInfo[i][hRentable] = INI_ReadInt("Rentable");
HouseInfo[i][hRent] = INI_ReadInt("Rent");
HouseInfo[i][hIntx] = Interiors[HouseInfo[i][hIntid]][intpx];
HouseInfo[i][hInty] = Interiors[HouseInfo[i][hIntid]][intpy];
HouseInfo[i][hIntz] = Interiors[HouseInfo[i][hIntid]][intpz];
HouseInfo[i][hInt] = Interiors[HouseInfo[i][hIntid]][interiorid];
format(HouseInfo[i][hDescr], 50, Interiors[HouseInfo[i][hIntid]][description]);
INI_Close();
if(!HouseInfo[i][hOwned]) format(str, sizeof str, "%s\nZum Verkauf\nPreis: %d€", HouseInfo[i][hDescr], HouseInfo[i][hPrice]);
else if(HouseInfo[i][hOwned] && !HouseInfo[i][hRentable]) format(str, sizeof str, "%s\nBesitzer: %s",HouseInfo[i][hDescr], HouseInfo[i][hOwner]);
else if(HouseInfo[i][hOwned] && HouseInfo[i][hRentable]) format(str, sizeof str, "%s\nBesitzer: %s\nMiete: %d€\n/mieten zum Mieten",HouseInfo[i][hDescr], HouseInfo[i][hOwner], HouseInfo[i][hRent]);
HouseInfo[i][hLabel] = CreateDynamic3DTextLabel(str, COLOR_HOUSELABEL, HouseInfo[i][hEntrx], HouseInfo[i][hEntry], HouseInfo[i][hEntrz], 50);
if(!HouseInfo[i][hOwned]) HouseInfo[i][hPick] = CreateDynamicPickup(1273, 1,HouseInfo[i][hEntrx], HouseInfo[i][hEntry], HouseInfo[i][hEntrz]);
else HouseInfo[i][hPick] = CreateDynamicPickup(1272, 1, HouseInfo[i][hEntrx], HouseInfo[i][hEntry], HouseInfo[i][hEntrz]);
}
}
return 1;
}
//==================================//
// Script by K3VIN aka Rapture !! //
//==================================//
//==========================================================================================================================
Das ist jetzt zum beispiel ganz unten die stelle wo genau soll ich denn jetzt da es einfügen?
Einfach ganz nach Unten also auch unter diesen LoadHouse Block.