wenn ich zu einem biz in LV gehe und /buybiz mach gibts nen Gamode restarting was daran falsch?:
//----------------------------------[BIZZ]-----------------------------------------------
if(strcmp(cmd, "/buybiz", true) == 0)
{
if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
GetPlayerName(playerid, playername, sizeof(playername));
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
if(PlayerInfo[playerid][pPbiskey] != 255)
{
SendClientMessage(playerid, COLOR_WHITE, " You already own a business, type /sellbiz if you want to buy this one.");
return 1;
}
for(new b = 0; b < sizeof(SBizzInfo); b++)
{
if(PlayerToPoint(2.0, playerid, SBizzInfo[b][sbEntranceX], SBizzInfo[b][sbEntranceY], SBizzInfo[b][sbEntranceZ]) && SBizzInfo[b][sbOwned] == 0)
{
if(PlayerInfo[playerid][pLevel] < SBizzInfo[b][sbLevelNeeded])
{
format(string, sizeof(string), "You Must Be Level %d To Purchase This",SBizzInfo[b][sbLevelNeeded]);
SendClientMessage(playerid, COLOR_GRAD5, string);
return 1;
}
if(GetPlayerMoney(playerid) > SBizzInfo[b][sbBuyPrice])
{
PlayerInfo[playerid][pPbiskey] = b+100;
SBizzInfo[b][sbOwned] = 1;
GetPlayerName(playerid, sendername, sizeof(sendername));
strmid(SBizzInfo[b][sbOwner], sendername, 0, strlen(sendername), 255);
GivePlayerMoney(playerid,-SBizzInfo[b][sbBuyPrice]);
PlayerPlayMusic(playerid);
SendClientMessage(playerid, COLOR_WHITE, "Congratulations, On Your New Purchase.");
SendClientMessage(playerid, COLOR_WHITE, "Type /help to review the new business help section.");
DateProp(playerid);
OnPropUpdate();
OnPlayerUpdate(playerid);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_WHITE, "You don't have the cash for that");
return 1;
}
}
}
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
-
-
schreib hinter jede zeile printf
und guck dann in die serverlog, sollte dann dort stehen an welcher stelle der fehler ist -
Hi,
Wie kann ich, im GF Mod, ein Fahrzeug, dass ich erstellt habe, einer Gang/Cops usw zuweisen?
Ich weiss, den Befehl zum erstellen aber wie muss das aussehen, dass es einem Team zugewiesen ist? -
Gibt genug Tutorials schau da doch mal.
-
Hi,
Ich habe ein Waffenmenü für meinen bald eröffneten Team Deathmatch Server erstellt.
Alles ist richtig, jedoch kommt wenn ich die .pwn compile diese Fehlermeldung:
E:\XXXXX\XXXXXX\XXXXXXXX\Scripting 2\gamemodes\TDM.pwn(618) : error 021: symbol already defined: "OnPlayerSelectedMenuRow"
Hier nochmal ein kurzer Ausschnitt aus dem entsprechendem Abschnitt:
public OnPlayerSelectedMenuRow(playerid, row)
{
new Menu:Now;
Now=Menu:GetPlayerMenu(playerid); -
Die Öffentliche Klasse OnPlayerSelectRow ist doppelt drinne
-
Nope, hab ich nur einmal im gesamten Script stehen.
-
du hast eine } Vergessen nach dem return 1;
-
Problem hat sich erledigt; Monti | Spearrow hat den Fehler gefunden. Danke Monti
-
So... dann hab ich auch mal wieder ein kleines Problem...
also...
Hab nen cmd erstellt... /admins...
for-player-schleife bla bla...
if(pi[i][admin]>=1) {
new name[MAX_PLAYER_NAME], s[100];
GetPlayerName(i,name,sizeof(name));
format(s,sizeof(s),"%s ID: %d",name,i);
SendClientMessage(playerid,blau,s);
...
So... jetzt bekommt man aber nur den Namen des Admins mit der höchsten ID, d.h.: ID3 ist ein Admin, jemand macht /admins und er sieht den Namen der ID 3... jetzt joint ID 50, ist ebenfalls Admin... man macht jetzt wieder /admins und sieht den Namen von ID 50, aber den von ID 3 nicht... da wollt ich dann mal fragen, wie man den Namen ( new name[...]; ) öfters verwenden kann, also so, dass dann beide Namen angezeigt werden -
-
if (strcmp("/admins", cmdtext, true, 10) == 0)
{
SendClientMessage(playerid,0xFFFFFFAA,"Admins:");
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerAdmin(i))
{
new strings[256];
new NameIs[256];
GetPlayerName(i,NameIs,sizeof(NameIs));
format(strings,sizeof(strings),"%s",NameIs);
SendClientMessage(playerid,0xFFFFFFAA,strings);
}
}
return 1;
}Ahja nochwas Größer als 0 muss es heissen nicht Größer als 1
-
Mal so als kleine Frage... was hat scih da jetzt im wesentlichen verändert?^^
PS:Ahja nochwas Größer als 0 muss es heissen nicht Größer als 1
Was versuchst du mir damit zu sagen?^^
//EDIT: Asooooo, hab verstanden ds mit der 0 und 1...
Man kann machen pi[i][admin]>=1) {, aber auch pi[i][admin]>0) {
Das beides kommt aufs selbe hinaus -
so es geht bei mir^^
if(strcmp(cmd,"/admins",true) == 0)
{
new AdminsConnecteds = 0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][Level] > 1)
{
new name[MAX_PLAYER_NAME];GetPlayerName(i,name,sizeof(name));
SendClientMessage(playerid,GRÜN,"Admins Online:");
format(string,sizeof(string),"%s (%d)\n\r",name,PlayerInfo[i][Level]);
SendClientMessage(playerid,ROT,string);
AdminsConnecteds++;
}
}
}
if(AdminsConnecteds == 0)
{
ClientText(playerid,ROT,"Es sind keine Admins Online.","There are no Admins.");
}
return 1;
} -
Aber so wird wieder nur 1 Admin angezeigt und nicht alle...
-
Command /admins >> Goldkiller
Hauptsächlich geht es um den Teil mit 'c' bzw 'c++' wobei bei mir c für count steht -
Hey, es gibt ja z.B. im GodFather
pInfo, habe jetzt ne kleine Frage kann man auch AInfo oder einfach BLABLA machen: also so z.B.enum AInfo
{
ALeader,
AMember
};enum BLABLA
{
Leader,
Member
};Standartmäßig sieht es ja so aus:
enum pInfo
{
pKey[128],
pLevel,
pAdmin,
pDonateRank,
gPupgrade,
pConnectTime,
pReg,
pSex,
pAge,
pOrigin,
pCK,
pMuted,
pExp,
pCash,
pAccount,
pCrimes,
pKills,
pDeaths,
pArrested,
pWantedDeaths,
pPhoneBook,
pLottoNr,
pFishes,
pBiggestFish,
pJob,
pPayCheck,
pHeadValue,
pJailed,
pJailTime,
pMats,
pDrugs,
pLeader,
pMember,
pFMember,
pRank,
pChar,
pContractTime,
pDetSkill,
pSexSkill,
pBoxSkill,
pLawSkill,
pMechSkill,
pJackSkill,
pCarSkill,
pNewsSkill,
pDrugsSkill,
pCookSkill,
pFishSkill,
Float:pHealth,
Float:pSHealth,
pInt,
pLocal,
pTeam,
pModel,
pPnumber,
pPhousekey,
pPbiskey,
Float:pPos_x,
Float:pPos_y,
Float:pPos_z,
pCarLic,
pFlyLic,
pBoatLic,
pFishLic,
pGunLic,
pGun1,
pGun2,
pGun3,
pGun4,
pAmmo1,
pAmmo2,
pAmmo3,
pAmmo4,
pCarTime,
pPayDay,
pPayDayHad,
pCDPlayer,
pWins,
pLoses,
pAlcoholPerk,
pDrugPerk,
pMiserPerk,
pPainPerk,
pTraderPerk,
pTut,
pMissionNr,
pWarns,
pAdjustable,
pFuel,
pMarried,
pMarriedTo[128],
}; -
Ja, ich glaube schon.
Aber irgentwo weiter unten muss dann noch
new PlayerInfo[MAX_PLAYERS][pInfo];
oder so ähnlich zumindest stehen.
Da musst du das dann auch ändern.
-
enum inf
{
Kills,
Deaths,
ETC
}
new INFO[MAX_PLAYERS][inf];
Dann kannst du sowas wie INFO[playerid][Kills] benutzen. -
Jo ich habs jetzt so und es gabg bis jetzt noch keine Errors:
enum AInfo
{
ALeader,
AMember,
AFschein,
AAdmin
};new SpielerInfo[MAX_PLAYERS][AInfo];
und ein cmd mit
if(SpielerInfo[playerid][AAdmin] == 1)
{
hab ich auch schon gemahct....Danke -
new pname[MAX_PLAYER_NAME];
new string[100];
new plrIP[16];
GetPlayerName(playerid, pname, sizeof(pname));
GetPlayerIp(playerid, plrIP, sizeof(plrIP));
if (AccountInfo[playerid][AdminLevel] >= 1 || IsPlayerAdmin(playerid))
{
format(string, sizeof(string), "*** %s has joined the server (ID:%d) [%d]", pname, playerid, plrIP);
}
else
{
format(string, sizeof(string), "*** %s has joined the server (ID:%d)", pname, playerid);
}
SendClientMessageToAll(0xAAAAAAAA, string);wieso zeigt er mr nicht die Ip des Spielers an der grad connected?
-