Hey Pille,
versuch mal bei OnPlayerDeath
SpawnPlayer(playerid); reinzumachen
MfG
Flobo
Hey Pille,
versuch mal bei OnPlayerDeath
SpawnPlayer(playerid); reinzumachen
MfG
Flobo
[MrM]Florian Hast recht mit dem Timestamp ist ne gute idee dann macht ers auch wenn er off ist dank dir
und im mom ist es in nem Timer drin der jede minute 1x läuft
Es kann sein das bei euch net pGesperrt steht
pGesperrt ist nur der letzte eintrag der bei mir steht.
enum pInfo
{
pKey[128],
pLevel,
pMoney,
pAdmin,
pSupporter,
pDonateRank,
gPupgrade,
pConnectTime,
pReg,
pSex,
pAge,
pOrigin,
pCK,
pMuted,
pExp,
pCash,
pAccount,
pPlayerKreditDauer,
pPlayerKredit,
pCrimes,
pKills,
pDeaths,
pArrested,
pWantedDeaths,
pPhoneBook,
pLottoNr,
pFishes,
pBiggestFish,
pJob,
pPayCheck,
pRest,
pHeadValue,
pJailed,
pJailTime,
pGangJailed,
pMauled,
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,
pNewLic,
pFlyLic,
pBoatLic,
pFishLic,
pGunLic, //Definition des Scheines zb die Aufgabe später
pLKWLic,
pRollerLic,
pMotoLic,
pZig,
pKekse,
pZigSucht,
pGun1,
pGun2,
pGun3,
pGun4,
pAmmo1,
pAmmo2,
pAmmo3,
pAmmo4,
pCarTime,
pMulltime,
pPayDay,
pPayDayHad,
pCDPlayer,
pWins,
pLoses,
pAlcoholPerk,
pDrugPerk,
pMiserPerk,
pPainPerk,
pTraderPerk,
pTut,
pWarns,
Float:pGWD,
pAdjustable,
pFuel,
pMarried,
pMarriedTo[128],
pInvWeapon,
pInvAmmo,
pInvWeapon2,
pInvAmmo2,
pInvDrugs,
pInvMats,
pFlugTime,
pRoadblock,
pPlayMinutes,
pGesamtMinutes,
pMinutesSinceLogin,
pMinutesSinceAn,
pSFPASS,
pLVPASS,
pHandyGeld,
pHandyVer,
pUhrID,
pHandyID,
pOwnPerso,
pOwnAntrag,
pPersoStop,
pGehalt,
pFrakSperre,
pBoxMats,
pBoxDrugs,
pban,
Text:LetterboxTop,Text:LetterboxBottom2, Text:LetterboxBottom,
pTot,
pFarmTime,
pGDeaths,
pGKills,
pMeldung,
pPtankekey,
pZollPass,
pZollPassTime,
pGesperrt,
pDonateTime,
};
Du musst bei
enum pInfo
{
am ende noch pDonateTime
machen
danach wenn bei dir irgendwo PlayerInfo[playerid][pGesperrt] = 0;
dadrunter noch PlayerInfo[playerid][pDonateTime] = 0;
dann müsste format(var, 32, "Gesperrt=%d\n",PlayerInfo[playerid][pGesperrt]);fwrite(hFile, var); 2x vorhanden sein
unter beide dann dadrunter format(var, 32, "DonateTime=%d\n",PlayerInfo[playerid][pDonateTime]);fwrite(hFile, var);
dann if( strcmp( key , "Gesperrt" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGesperrt] = strval( val ); } suchen
und if( strcmp( key , "DonateTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDonateTime] = strval( val ); } drunter tuhen
Was meinste ?
Ich hab des mit dcmd Gemacht
dcmd_setprem(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] >= 2000)
{
new pID, Rank, DonateTime;
if(sscanf(params, "uii", pID, Rank, DonateTime)) return SendClientMessage(playerid, COLOR_WHITE, "Befehl: /givedonator [Spieler-ID/Name] [Donatorrank] [Tage]");
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, COLOR_WHITE, "Der Spieler ist nicht Online.");
if(Rank==0||Rank >= 5) return SendClientMessage(playerid, COLOR_GREY, "Es gibt nur die Ränge 1-4.");
if(Rank == 1) {
GivePlayerMoney(pID, 50000);
PlayerInfo[pID][pExp] += 3;
}
else if(Rank == 2) {
GivePlayerMoney(pID, 100000);
PlayerInfo[pID][pExp] += 6;
}
else if(Rank == 3) {
GivePlayerMoney(pID, 150000);
PlayerInfo[pID][pExp] += 9;
}
else if(Rank == 4) {
GivePlayerMoney(pID, 350000);
PlayerInfo[pID][pExp] += 12;
}
PlayerInfo[pID][pDonateRank] = Rank;
PlayerInfo[pID][pDonateTime] = DonateTime*1440;
format(stringx, sizeof(stringx), "Herzlichen Glückwunsch! Du hast nub den Premium-Rang %d für %i Tage!", Rank, DonateTime);
SendClientMessage(pID, COLOR_LIGHTBLUE, stringx);
format(stringx, sizeof(stringx), "AdmCmd: Admin %s hat %s den Donator-Rang %d gegeben!", MeinName(playerid), MeinName(pID), Rank);
ABroadCast(COLOR_LIGHTRED, stringx, 1);
}
else return SendClientMessage(playerid, COLOR_WHITE, "Nur für Projektleiter/High Admins!");
return 1;
}
Für den User eine variable gesetzt in der steht wie viele minuten er hat und pro minute wird im eins abgezogen.
if(PlayerInfo[i][pDonateTime] >= 1 && PlayerInfo[i][pDonateRank] > 0)
{
PlayerInfo[i][pDonateTime]--;
}
if(PlayerInfo[i][pDonateTime] == 0 && PlayerInfo[i][pDonateRank] > 0)
{
PlayerInfo[i][pDonateRank] = 0;
PlayerInfo[i][pDonateTime] = 0;
SendClientMessage(i, COLOR_RED,"ACHTUNG! Dein Donate Status ist abgelaufen!");
}
Und bei den Stats steht halt wie viele Tage/Stunden/minuten er noch hat.
Wird die Funktion aufgerufen im Timer? bzw hast du das mal getestet?!
Würde mich auch interessieren
MfG
Flobo
Ich weiß net ob des jetzt schon geklärt ist
aber teste es mal mit dem hir
Create3DTextLabel("Detektiv\n/job um den Job anzunehmen.", COLOR_YELLOW, -2458.9709,774.1914,35.1719, 20.0, 0, 1);
new s[128];
format(s,128,"****Haus****\nBesitzer: %s\nPreis: %d$",HausInfo[haus][haus_besitzer],HausInfo[haus][haus_preis]);
HausInfo[haus][haus_label] = Create3DTextLabel(s,0xFF00FF,HausInfo[haus][haus_x],HausInfo[haus][haus_y]+3,HausInfo[haus][haus_z]+4.00,20,0,1);
return LoadHaus(haus);
}
}
return 1;
}
Musste das mal Testen mit der +3 kannst des halt testen weis net genau wie hoch des dann ist
MfG
Flobo
Hey ich habe ein Problem mit den NPC´s
Sie spawnen richtig, aber wenn ich mich zu dem z.b. Busbot Teleportiere bleibt er stehen sobald ich mich wieder teleportiere ist er wo anders aber der bus bleibt stehen und irgendwann ist er wo anders(dort wo der NPC stehenbleibt z.b. an einer bushaltestelle) also der Bus.
Hoffe ihr könnt mir helfen.
MfG
Flobo