Skripta koju koristim: GM od 0
Detaljan opis problema: Kopirao sam Gagievu i Danijelovu FS GiDan u mod, i izbacuje mi 6 errora:
IC_war.pwn(460) : error 079: inconsistent return types (array & non-array)
IC_war.pwn(463) : error 017: undefined symbol "@yC_makeleader"
IC_war.pwn(463) : error 017: undefined symbol "@yC_makeleader"
IC_war.pwn(463) : error 017: undefined symbol "i"
IC_war.pwn(463) : fatal error 107: too many error messages on one line
460 - return SCM(playerid, C_WHITE, "Imaš 5 warnova.");
463 - YCMD:makeleader(playerid, params[], help)
frešRe, pomoć ?
Funkcija ti vraca vrijednost i niz.
Daj cijele komande.
Citat: FireMan poslato Jul 30, 2012, 14:40:46 POSLE PODNE
Funkcija ti vraca vrijednost i niz.
Daj cijele komande.
Sve komande, iil samo makeleader ?
public OnPlayerSpawn(playerid)
{
if (P_Data[playerid][pMember] > 0)
{
switch(P_Data[playerid][pMember])
{
case 1:
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.1425);
SetPlayerSkin(playerid, P_Data[playerid][pOrgskin]);
}
case 2:
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.1425);
SetPlayerSkin(playerid, P_Data[playerid][pOrgskin])
}
}
}
else if (P_Data[playerid][pLeader] > 0)
{
switch(P_Data[playerid][pLeader])
{
case 1:
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.1425);
SetPlayerSkin(playerid, P_Data[playerid][pOrgskin]);
}
case 2:
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.1425);
SetPlayerSkin(playerid, P_Data[playerid][pOrgskin]);
}
}
if(GetPVarInt(playerid, "Join") == 1)
{
GivePlayerMoney(playerid, P_Data[playerid][pMoney]);
SetPlayerScore(playerid, P_Data[playerid][pScore]);
SetPVarInt(playerid, "Join", 0);
if(P_Data[playerid][pWarn] >= 5) {
Kick(playerid);
return SCM(playerid, C_WHITE, "Imaš 5 warnova.");
}
YCMD:makeleader(playerid, params[], help)
{
if (IsPlayerAdmin(playerid)) // Provjerava da li je igrac RCON admin, vi to mozete promijeniti u svoju provjeru
{
new
iPlayerID,
iOrgID,
szPlayerName[MAX_PLAYER_NAME],
szMessage[105];
if (sscanf(params, "ud", iPlayerID, iOrgID))
return SendClientMessage(playerid, C_WHITE, "Korištenje: /makeleader [ID/Dio imena] [ID vojske]");
else if (iPlayerID == INVALID_PLAYER_ID)
return SendClientMessage(playerid, C_WHITE, "Pogresan ID/Dio imena.");
else if (iOrgID < 1 || iOrgID > MAX_ORGS)
return SendClientMessage(playerid, C_WHITE, "ID organizacije ne smije biti manji od 1 ili veci od "#MAX_ORGS);
P_Data[iPlayerID][pLeader] = iOrgID;
P_Data[iPlayerID][pRank] = 6;
switch(iOrgID)
{
case 1:
{
P_Data[iPlayerID][pSkin] = GetPlayerSkin(iPlayerID);
P_Data[iPlayerID][pOrgskin] = 283;
SetPlayerSkin(iPlayerID, P_Data[iPlayerID][pOrgskin]);
}
case 2:
{
P_Data[iPlayerID][pSkin] = GetPlayerSkin(iPlayerID);
P_Data[iPlayerID][pOrgskin] = 283;
SetPlayerSkin(iPlayerID, P_Data[iPlayerID][pOrgskin]);
}
}
GetPlayerName(playerid, szPlayerName, MAX_PLAYER_NAME);
format(szMessage, sizeof(szMessage), "Postavljeni ste za lidera organizacije %s od Administratora %s.", szPlayerName, GetOrgNameByID(iOrgID));
SendClientMessage(iPlayerID, C_WHITE, szMessage);
GetPlayerName(iPlayerID, szPlayerName, MAX_PLAYER_NAME);
format(szMessage, sizeof(szMessage), "Postavio si igraca %s za lidera organizacije %s", szPlayerName, GetOrgNameByID(iOrgID));
SendClientMessage(playerid, C_WHITE, szMessage);
}
else
SendClientMessage(playerid, C_WHITE, "Moraš biti RCON admin da koristiš ovu komandu.");
return 1;
}
Ovo gdje ti javlja error kod returna zamijeni ovime:
return SendClientMessage(playerid, C_WHITE, "Imaš 5 warnova.");
Citat: Joey_ poslato Jul 30, 2012, 21:12:49 POSLE PODNE
Ovo gdje ti javlja error kod returna zamijeni ovime:
return SendClientMessage(playerid, C_WHITE, "Imaš 5 warnova.");
Vidiš da jesam:
SetPVarInt(playerid, "Join", 0);
if(P_Data[playerid][pWarn] >= 5) {
Kick(playerid);
return SCM(playerid, C_WHITE, "Imaš 5 warnova.");
}
Nisi, treba ić':
SetPVarInt(playerid, "Join", 0);
if(P_Data[playerid][pWarn] >= 5) {
Kick(playerid);
return SendClientMessage(playerid, C_WHITE, "Imaš 5 warnova.");
}
Citat: Joey_ poslato Jul 30, 2012, 21:39:19 POSLE PODNE
Nisi, treba ić':
SetPVarInt(playerid, "Join", 0);
if(P_Data[playerid][pWarn] >= 5) {
Kick(playerid);
return SendClientMessage(playerid, C_WHITE, "Imaš 5 warnova.");
}
Isto je :/
Onda zamijeni cijeli OnPlayerSpawn callback sa ovime (ako si u nekom od prethodnih postova postao cijeli svoj OnPlayerSpawn callback):
public OnPlayerSpawn(playerid)
{
if (P_Data[playerid][pMember] > 0)
{
switch(P_Data[playerid][pMember])
{
case 1:
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.1425);
SetPlayerSkin(playerid, P_Data[playerid][pOrgskin]);
}
case 2:
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.1425);
SetPlayerSkin(playerid, P_Data[playerid][pOrgskin])
}
}
}
else if (P_Data[playerid][pLeader] > 0)
{
switch(P_Data[playerid][pLeader])
{
case 1:
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.1425);
SetPlayerSkin(playerid, P_Data[playerid][pOrgskin]);
}
case 2:
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.1425);
SetPlayerSkin(playerid, P_Data[playerid][pOrgskin]);
}
}
if(GetPVarInt(playerid, "Join") == 1)
{
GivePlayerMoney(playerid, P_Data[playerid][pMoney]);
SetPlayerScore(playerid, P_Data[playerid][pScore]);
SetPVarInt(playerid, "Join", 0);
if(P_Data[playerid][pWarn] >= 5)
{
Kick(playerid);
SCM(playerid, C_WHITE, "Imaš 5 warnova.");
return 1;
}
}
}
return 1;
}
Citat: Joey_ poslato Jul 30, 2012, 22:04:23 POSLE PODNE
Onda zamijeni cijeli OnPlayerSpawn callback sa ovime (ako si u nekom od prethodnih postova postao cijeli svoj OnPlayerSpawn callback):
public OnPlayerSpawn(playerid)
{
if (P_Data[playerid][pMember] > 0)
{
switch(P_Data[playerid][pMember])
{
case 1:
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.1425);
SetPlayerSkin(playerid, P_Data[playerid][pOrgskin]);
}
case 2:
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.1425);
SetPlayerSkin(playerid, P_Data[playerid][pOrgskin])
}
}
}
else if (P_Data[playerid][pLeader] > 0)
{
switch(P_Data[playerid][pLeader])
{
case 1:
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.1425);
SetPlayerSkin(playerid, P_Data[playerid][pOrgskin]);
}
case 2:
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.1425);
SetPlayerSkin(playerid, P_Data[playerid][pOrgskin]);
}
}
if(GetPVarInt(playerid, "Join") == 1)
{
GivePlayerMoney(playerid, P_Data[playerid][pMoney]);
SetPlayerScore(playerid, P_Data[playerid][pScore]);
SetPVarInt(playerid, "Join", 0);
if(P_Data[playerid][pWarn] >= 5)
{
Kick(playerid);
SCM(playerid, C_WHITE, "Imaš 5 warnova.");
return 1;
}
}
}
return 1;
}
Izbacuje mi 7 novih:
IC_war.pwn(430) : error 001: expected token: ";", but found "}"
IC_war.pwn(684) : error 017: undefined symbol "ycmd_r"
IC_war.pwn(912) : error 017: undefined symbol "reason"
IC_war.pwn(1632) : error 014: invalid statement; not in switch
IC_war.pwn(1632) : warning 215: expression has no effect
IC_war.pwn(1632) : error 001: expected token: ";", but found ":"
IC_war.pwn(1632) : error 029: invalid expression, assumed zero
IC_war.pwn(1632) : fatal error 107: too many error messages on one line
Linije:
430 - }
684 - return ycmd_r(playerid, params, help);
912 - if(sscanf(params, "us[48]", pplayerid,reason)) return SCM(playerid, COLOR_RED, "Korištenje: /freeze [ID/Dio imena]");
1632 - {
Ovo:
/return ycmd_r(playerid, params, help);
To ne možeÅ¡ u YCMD-u. U YCMD je ugraÄ'ena jedna funkcija za to.
Citat: Joey_ poslato Jul 30, 2012, 22:17:55 POSLE PODNE
Ovo:
/return ycmd_r(playerid, params, help);
To ne možeÅ¡ u YCMD-u. U YCMD je ugraÄ'ena jedna funkcija za to.
Obrisao sam, ostalo je 5.
frešRe, tema pala na 2 stranu.
Daj tih 5 errora i linije na kojima se nalaze.
Riješio: http://forum.sa-mp.com/showthread.php?t=364459